Survival: Evolution / God Game / Strategy Game

edited in Projects
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

image

Comments

  • Downloaded it, but I can't get it to run. Keep getting an unhandled exception(that's unfortunately all I can tell you :( ).

    Is there a specific framework or something I require? What did you make it in?
  • Also, welcome to the forums :D
  • edited
    Yeah sorry, forgot to mention. 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

    Hopefully that will solve your problem
  • Ok, so first off...these types of games are like crack to me.

    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
  • Had a look, I think it has a lot potential. I love these types of game too, like simearth and maybe even the old Intellivision game Utopia:

    image

    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.
  • Forgot to ask, what kind of controls are you thinking of implementing? For example will you control the units directly or indirectly? Or even manipulate the terrain only? Or make 1 slider which does everything?
  • edited
    It's early days, so I am still working all this out. This whole project just started as something to entertain myself, so I never worked much on the usability of it. I normally but a lot of work into that stuff. But obviously because I made it it makes sense to me :)

    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 :)
  • Can I be a jerk and say evolution is based on adaptability to change, not strength; that's why you get changes in the species.

    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.
  • Yes, I suppose you are right :) Adaptability is very important. By strong I just mean those who were most able, like someone with a strong ability in something. Maybe it was a bit vague :)

    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.
  • @rolfweimar, do you have caps on some of the entity properties? It might make it easier to balance if you have these caps. Also, do entities die after a certain amount of time(even if they are well fed?), old age essentially.
    rolfweimar said:
    They will generally find a good partner and have children.
    Does this mean entities are selective when breeding? I think that if they are it would reduce getting some interesting results from the system.

    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 only caps I have are caps on the lower end, so traits like speed, don't become negative. On the higher end, I don't have caps but I have other rules that stop things getting too crazy. The faster the entity's speed trait, the more food they need to collect before they can breed. As far as partners, they just look across all the females ready to breed that are a similar colour to them (like blue with blue, orange ones with oranges etc) and pick a random one. They might find a good partner they might not. But if a female has fulfilled its food requirement, it's probably done well for itself :D

    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.
Sign In or Register to comment.