EvoWorld by Problem Machine
Summary:
World with simple evolution modeling. Watch randomly generated species, observe which seem to be the most successful
* Click on/near a creature to view its stats
* Generate new species with the new species button, see which survive to breed
* Generate new terrain with the new terrain button if you get tired of the landscape.
Note: Terrain generation takes a few seconds, be patient
Stats:
*TypeA, TypeB, TypeC: The creature's type represented by 3 numbers. These are converted to colors for display
*Health/Max: When health reaches 0, creature dies. Initially based on size.
*Food/Max: Goes down over time based on hunger, recovers based on digest when creature encounters food. If food goes below 0 health starts decreasing.
*Water/Max: Goes down over time, recovers when creature encounters water.
*Age/Max: Begins at 0, increases until it reaches max and creature dies.
*Drown/Max: Increases when creature encounters deep water, if it reaches max creature dies
*Decay/Max: Increases after death, when it reaches max the creature disappears completely
*Size: Base stat used to determine many other stats
*Speed: Maximum movement speed
*Aware: How often per second, on average, the creature checks its surroundings
*Sight: The maximum distance at which the creature is aware of other creatures
*Wander: How far the creature will wander away from its algorithmically determined destination
*Heal: Rate of health regeneration when well fed and watered
*Digest: Ability to digest grass
*Hunger: Rate at which food is consumed
*Social: Maximum distance creature tries to maintain with allies (lower means closer packed groups)
*Wary: Minimum distance creature tries to maintain with enemies
*Fear: Threshold of type difference to identify creature as enemy
*FearRnd: Randomization of fear on each check
*Swim: Ability to traverse water
*Climb: Ability to move up slopes
*Breed: Chance to reproduce each second
*Mutate: Drift of stats with each generation (higher mutate values decrease chance of successful birth)
Post-Mortem
My original concept was to make an entire ecology of randomly generated species with recursive stats and random mutations which eventually would cause species to differentiate. Basically, faithfully reproducing the mechanisms of evolution in a game. On top of this, I planned to either cast the player as a curator/hunter, who would hunt the animals for food and also try to cull them or lead them in order to produce a healthy balance of animal populations.
Obviously, I didn't completely achieve those goals.
I did, however, make a pretty good start, particularly considering the complexity of the idea (NEVER AGAIN) and the constraints of Ludum Dare.
So here's what IS in the game:
Random terrain generation: Creates height-map, populates it with water and grass
Random species generation: Creates stats within boundaries defined in code
Eating/drinking: I didn't have time to program meat consumption, so they all consume grass. If they don't encounter water soon enough they will start to die.
Species breeding: When two animals of the same species meet, there is a chance they will breed. This produces a third animal with a slight mutation
Species AI: Very simple, animals perceive each other and react. They will run towards allies and away from enemies based on their stat parameters. Species don't differentiate terrain at all, so be prepared to watch them drown themselves a lot and wander far away from food for no good reason.
World with simple evolution modeling. Watch randomly generated species, observe which seem to be the most successful
* Click on/near a creature to view its stats
* Generate new species with the new species button, see which survive to breed
* Generate new terrain with the new terrain button if you get tired of the landscape.
Note: Terrain generation takes a few seconds, be patient
Stats:
*TypeA, TypeB, TypeC: The creature's type represented by 3 numbers. These are converted to colors for display
*Health/Max: When health reaches 0, creature dies. Initially based on size.
*Food/Max: Goes down over time based on hunger, recovers based on digest when creature encounters food. If food goes below 0 health starts decreasing.
*Water/Max: Goes down over time, recovers when creature encounters water.
*Age/Max: Begins at 0, increases until it reaches max and creature dies.
*Drown/Max: Increases when creature encounters deep water, if it reaches max creature dies
*Decay/Max: Increases after death, when it reaches max the creature disappears completely
*Size: Base stat used to determine many other stats
*Speed: Maximum movement speed
*Aware: How often per second, on average, the creature checks its surroundings
*Sight: The maximum distance at which the creature is aware of other creatures
*Wander: How far the creature will wander away from its algorithmically determined destination
*Heal: Rate of health regeneration when well fed and watered
*Digest: Ability to digest grass
*Hunger: Rate at which food is consumed
*Social: Maximum distance creature tries to maintain with allies (lower means closer packed groups)
*Wary: Minimum distance creature tries to maintain with enemies
*Fear: Threshold of type difference to identify creature as enemy
*FearRnd: Randomization of fear on each check
*Swim: Ability to traverse water
*Climb: Ability to move up slopes
*Breed: Chance to reproduce each second
*Mutate: Drift of stats with each generation (higher mutate values decrease chance of successful birth)
Post-Mortem
My original concept was to make an entire ecology of randomly generated species with recursive stats and random mutations which eventually would cause species to differentiate. Basically, faithfully reproducing the mechanisms of evolution in a game. On top of this, I planned to either cast the player as a curator/hunter, who would hunt the animals for food and also try to cull them or lead them in order to produce a healthy balance of animal populations.
Obviously, I didn't completely achieve those goals.
I did, however, make a pretty good start, particularly considering the complexity of the idea (NEVER AGAIN) and the constraints of Ludum Dare.
So here's what IS in the game:
Random terrain generation: Creates height-map, populates it with water and grass
Random species generation: Creates stats within boundaries defined in code
Eating/drinking: I didn't have time to program meat consumption, so they all consume grass. If they don't encounter water soon enough they will start to die.
Species breeding: When two animals of the same species meet, there is a chance they will breed. This produces a third animal with a slight mutation
Species AI: Very simple, animals perceive each other and react. They will run towards allies and away from enemies based on their stat parameters. Species don't differentiate terrain at all, so be prepared to watch them drown themselves a lot and wander far away from food for no good reason.
Ratings
| Coolness | 52% | 3 |
| Overall | 2.48 | 621 |
| Fun | 1.59 | 743 |
| Graphics | 2.08 | 668 |
| Innovation | 2.84 | 375 |
| Mood | 1.87 | 654 |
| Theme | 3.52 | 139 |
Still, well done - I would absolutely play a completed post-compo version of this. The planned features sound really interessting!
You should check out berkano's and my own game, which are both simulations too. There are probably more but I have not found them yet.