Survival: Evolution / God Game / Strategy Game
Hi guys,
Rolf here. I've been working on this for a while now, and someone suggested I post it up here you guys can check it out. I hope you like it :)
So I first had the idea in 2011. I thought, could I design a system that runs itself, and could I get that system to actual produce something purely based on the rules I have put into it. I was thinking about evolution and how evolution picks the strongest entities in an environment and the weaker ones die out. So could I make a simulation where entities compete for resources and breed based on their success. I.e. rather than having the program make an objective assessment and choose entities, the simulation should be able to produce interesting results for itself, just by letting those rules play out.
Initially I just put a few entities on screen, and gave them the task of collecting food. Once they have collected enough food, they can then find another entity to breed with, which would be another entity that has collected enough food (each entity also has a gender). The children of the pair have a mix of traits of the parents, so speed, health, things like that are shared with the children through genes.
But another important part of evolution is random change over time. So when the new entities are born, their traits are very slightly randomised. This means some are born with a natural advantage over others. These entities then do well, and are the first to be able to breed. They will generally find a good partner and have children.
This is a very simple version of natural selection, and it actually works very well :)
I have since added a whole bunch of complexity to the simulation that I'll try write about when I get a chance.
But overall, since then I have added a map, given entities food choices and they make buildings.
This started out as a pure simulation, but now that the simulation is going so well, I want to add some game mechanics to it and turn it into a god game / strategy game where you help a group of entities survive. So consider this a pre alpha of that game. Check the readme for the keys, there are a bunch of different things you can fiddle with in the game. The map is randomly generated each time, so just relaunch the game to get another map.
Here's the link to dropbox. Let me know if it works because this is the first time I have used have dropbox link.
https://www.dropbox.com/s/uo11x8px0906gj3/Survival.zip
You need XNA 4.0, which you can download here
http://www.microsoft.com/en-us/download/details.aspx?id=20914
And also download .net framework 4 if you don't already have it
http://www.microsoft.com/en-us/download/details.aspx?id=24872
Rolf here. I've been working on this for a while now, and someone suggested I post it up here you guys can check it out. I hope you like it :)
So I first had the idea in 2011. I thought, could I design a system that runs itself, and could I get that system to actual produce something purely based on the rules I have put into it. I was thinking about evolution and how evolution picks the strongest entities in an environment and the weaker ones die out. So could I make a simulation where entities compete for resources and breed based on their success. I.e. rather than having the program make an objective assessment and choose entities, the simulation should be able to produce interesting results for itself, just by letting those rules play out.
Initially I just put a few entities on screen, and gave them the task of collecting food. Once they have collected enough food, they can then find another entity to breed with, which would be another entity that has collected enough food (each entity also has a gender). The children of the pair have a mix of traits of the parents, so speed, health, things like that are shared with the children through genes.
But another important part of evolution is random change over time. So when the new entities are born, their traits are very slightly randomised. This means some are born with a natural advantage over others. These entities then do well, and are the first to be able to breed. They will generally find a good partner and have children.
This is a very simple version of natural selection, and it actually works very well :)
I have since added a whole bunch of complexity to the simulation that I'll try write about when I get a chance.
But overall, since then I have added a map, given entities food choices and they make buildings.
This started out as a pure simulation, but now that the simulation is going so well, I want to add some game mechanics to it and turn it into a god game / strategy game where you help a group of entities survive. So consider this a pre alpha of that game. Check the readme for the keys, there are a bunch of different things you can fiddle with in the game. The map is randomly generated each time, so just relaunch the game to get another map.
Here's the link to dropbox. Let me know if it works because this is the first time I have used have dropbox link.
https://www.dropbox.com/s/uo11x8px0906gj3/Survival.zip
You need XNA 4.0, which you can download here
http://www.microsoft.com/en-us/download/details.aspx?id=20914
And also download .net framework 4 if you don't already have it
http://www.microsoft.com/en-us/download/details.aspx?id=24872
Comments
Is there a specific framework or something I require? What did you make it in?
http://www.microsoft.com/en-us/download/details.aspx?id=20914
And also download .net framework 4 if you don't already have it
http://www.microsoft.com/en-us/download/details.aspx?id=24872
Hopefully that will solve your problem
I don't have much to say about it yet though. There isn't really any gameplay yet so...
What I can say though is that I have no idea what's going on. I got that the spots that don't move are food, and the moving things are the things that can "evolve"? I did go through the read me and looked at the different representations, but it didn't really clue me in on what was going on.
I'm really excited to see where things go for this. :D
Agree with @Rigormortis about not knowing what each Spot/Icon does, would be nice have even tiny icons or colours representing what is happening :) and some kind of visual indication how your tribe has bred and what stats they have.
But its early days, so im sure there is a ton of stuff you are thinking of adding anyway, so will check back later.
One trick you can use is to press p, and then mouse an entity and it will show you its traits and other info. I think a big challenge for this game would be to effectively communicate to the player what is happening. Maybe I can add an overlay or display mode that shows how fast people are. Like, if you enable the mode, their colour will be shown as somewhere on the gray scale, so fast entities are bright gray, maybe even white, and slower ones are less white and more gray, and the really slow ones are dark gray.
Another thing that I think is quite important is to be able to understand the systems. I know what all the rules are and how they are coming together to create the activity in the word. But the main reason it is the way it is, is because I just made it to amuse myself, but it's gotten so interesting now I want to make it something more. I think, the player being able to understand what is happening on the screen is very important. Maybe I should have a help or guide at the top which gives an overview of the basic game system, like breeding requirements. And another screen to give an overview of the world with stats like how many entities and what their traits are.
As far as controls, I want to experiment a bit. I think because I have this awesome simulation I want it to keep doing its stuff. I am thinking the god can affect the world, and help the entities. If you place food near them, then they will move over to it. So they respond to you, but you can't control them directly. I'm thinking off adding in weather controls as well, so you have to water the crops and help them that way. But it's early days, I have a lot of experimenting to do :)
I also love these system games and the ability to tinker with them.
If your animals are looking for food, can I presume they are herbivores. Maybe a player ability is to unleash a predator that lives for 30 seconds or so and will chase and consume any nearby animals. Kind of like eating the weak/slow and young.
But yeah, I love system games too :) that is why I made this, basically to see what would happen. I initially had a predator in it, that would chase after entities. Entities had a trait that affected how close they would get to the predator called predator distance. But I made the predator static and immortal, just so I could see what effect the predator had on the game itself.
But because the entities were evolved, and the predator was not, the entity's speed eventually evolved beyond the point that the predator could catch them. I was planning to add evolution to the predator as well, but it is quite hard to balance. If you don't set it within a good range, the predator could just rampage everywhere and eat everything. But also if you do get it right, it will still cause an evolutionary arms race between the predator and the prey. I eventually took it out. Maybe I should put it back and see how it works now that I have developed the game more.
hehe, sorry for all the questions...I'm just thinking out loud ;P. Another one is what you are seeing this simulation as. Is it something like Black and White where the entities are people and they reward you in some way for helping them out, or is it more of a type of eco system balance that you as the player are trying to achieve. The reason I ask is that I think it would change the way you would turn this into a game, for me anyways.
The way health works is, every frame, the health drops a very small amount. Whenever an entity eats food, its health goes up a fair amount. So as an entity eats a lot it gets more healthy. However, when it reaches a certain age (old age), its health starts going down faster. So the entities will always die of old age, but some live longer or shorter depending on how healthy they are.
As far as the game is concerned, I want to take it more in a civilization route, where you help them advance. So it starts out just with them collecting food, then when they have enough surplus they can start taking other resources like stone. They can then use that resource to make houses. I am thinking that once they have reached a certain level of development, other opportunities open up. So they can exploit more resource and the civilization can gradually expand and advance.