For this simulation I defined the following entities:
- World - choose the size of the world by introducing the number of vertical/horizontal blocks.
- Block - choose what type of blocks the ground will be (dirt, rock, water, etc).
- Hill - create hills and mountains by specifying the width/height, as well as the hill type.
- Person - create people with points in 3 attributes: strength, intelligence, speed, and with the ability for them to gain/lose points in those attributes. More strength = better fighters, more intelligence = higher probability to use their surroundings intelligently and produce medicine, create shelters, etc, more speed = create things faster, run away from potential calamities/predators faster.
- Plant - create plants by specifying the plant type and it's lifespan. Can be used by people/animals.
- Animal - add animals by specifying the animal type, as well as giving them points in 3 attributes: strength, intelligence, speed, and with the ability for them to gain/lose points in those attributes. Usually more strength, less intelligence = more aggresive animals.
- Weather - set a specific type of weather (sunny, rainy, snowy, etc). Can have a big impact on plants and the environment.
- Calamity - add calamities by defining how dangerous they are, how long they last and what type they are. Have the potential to destroy pretty much everything.
- Weapon - create weapons with their own type, usage speed, damage output and durability which can be wielded by people (and/or animals if they're intelligent enough).
- Building - create buildings with a specific type, number of rooms and size in width/length.