I have renamed the simulation to "Genesis."
I think I'm about done with this simulation! I added a new creature (a small "velociraptor" as I've begun to call it) that will attack in groups against the herbivores, who will also attempt to stay in groups to avoid being eaten. The largest creatures, as always, lumber about killing anything smaller than itself. The night and day system has also been improved as I added a nice time-measurement at the top (a sun that moves across the screen that turns into a moon at night). The animals can only sleep if it is night-time, so once they have been injured during the day, they need to stop and wait until sun-down to regain their health.
To elaborate on my earlier mention of "groups," I spent much of today creating a pack mentality among creatures (the velociraptors and herbivores) which is based off of a few simple rules.
- If a creature is close enough to another creature, a leader will be chosen from among them.
- If a creature strays outside of a radius of the leader or can not see the leader, they are not part of the pack any longer.
- If a creature moves away from the pack, but is still close enough to the pack to be part of it, they will attempt to move closer to the pack.
- If a creature is not in a pack, it will move towards the closest member of its species to attempt to start one or become a member of that member's pack.
- *Carnivores only* If the leader chooses a target to attack, all of the members of the pack will attack that creature as well.
These simple rules dictate many of the actions of the animals in the game, and make it a little more interesting. The velociraptors are weak and vulnerable on their own (they are lucky if they can take down even one herbivore on their own) but as a group they are able to take down a couple of them at once. This addition really added a little more reality to Genesis because it made the animals more interdependent rather than stand-alone.
Here's a simple screenshot of this version featuring the moon/time-keeper as well as the velociraptors (and their small footprints):
For those of you who are unfamiliar, here is the foodchain of the simulation:
Grass -> Herbivore -> Velociraptor -> Large Predator
The large predator will eat herbivores and velociraptors, while velociraptors will run from large predators and eat herbivores. Herbivores will eat grass and avoid all carnivores.
Slight controls update:
- Left click and drag to select units.
- Right click to make the selected units move towards the mouse.
- [Shift] sets the current time to sun-down/sun-up.
- Press [D] to toggle the different debug options which are:
2. See the ranges for running and walking for each animal
(vary by daylight).
3. See the pack memberships
(lines are drawn from each animal to its leader).
4. See all of the above at once.