The simulation of the dynamics of human societies is not an easy task, and we propose a bottom-up approach, which consists in defining the human entity as a single, autonomous and independent entity (called an agent), and then immersing many of them in a common environment to let them interact and co-operate as the environment evolves. To achieve our goal of creating virtual human societies, we try to extend the concepts we have developed for crowd simulations to encompass more autonomy at the level of individuals