Evolution game

Started by
16 comments, last by Khaiy 13 years, 6 months ago
Could you do something along the lines of creating a pair of strings of bytes (as in the example Wai posted in the link Wai posted under your OP)?

Perhaps one "strand" could represent specific traits, as Wai outlined, but also phenotypic descriptors? For example, traits like pointy, blunt, hard, soft, muscular, etc. The second "strand" could contain information representing something along the lines of the position of that particular feature. So a trait that reads "sharp" and "bony" could end up positioned on a creature's back (like a porcupine) or at the ends of its limbs, as claws.

This information could be correlated to information in your game world, where objects also have physical descriptors that correspond to those in the animals. For example, a tree could have values that make it climbable, provided that an animal has the right combinations of strength, limb length, or features (like claws).

Inter-animal interactions could be easier to simulate, such as the amount of a creature's body covered with some form of protection, like a shell or spines, giving a lower probability of a predator succeeding in killing it, etc.

It's still a lot of work, but working at the feature level and using an approach like Wai's could allow for lots of novel combinations of traits, as well as varying levels of complexity for different animals.

As for how much the player can influence, that's tougher. My current suggestion would be to maybe look at what environmental features animal traits could interact with, and then work backwards to look at natural conditions that might prompt changes in those features. Did that make any sense?

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

Advertisement
Yep. Working at the feature level was what I've been saying from the start.

I was saying that the feature level would be the only way to make things even remotely workable. Any lower level than that and we're talking about some serious cpu-crunching.

I like what you're saying about environmental properties that directly correspond in certain ways to some of the preconceived phenotypes of creatures. (surfaces that are more tactile to species that have some appendage with a terminus of some kind, etc.)

That actually is a step towards a way to work with the two major problems I outlined (how best to decide the complexity level of the genome and the phenotypes of individual alleles, and environmental control)

Because you see, designing the fundamental environment tools to be intimately related with all the phenotypes is definitely a step in the right direction of control and "steering."

I hadn't really thought of dealing with "properties," only "features" per se. Now things are starting to come together in my mind.
About the gaming aspect:

My question is how many variables you should use in the game before it becomes too complicated to play. I suppose you could describe what the game might be like with very few variables, then expand on the complexity until it is too complicated to play.


Genre: Puzzle

Level 1:
Difficulty Level: Tutorial
Goal: Make the species evolve to become taller
Game: Adjust one environmental variable to kill off individuals with undesirable traits
Challenge: Identify the environmental variable among a few that will create the pressure.
Interactions: Paradise, no predator, no mating preferences

Level 2:
Difficulty Level: Tutorial
Goal: Make the species evolve toward a prototype
Game: Adjust one environmental variable at a time to kill off the other individuals
Challenge: Identify the order of environmental changes to do the job
Interactions: With predators, no mating preferences

and so on...

But so far it doesn't sound very fun to play. Is there a way to do the same without equating success to killing a sub-population?
For the time being, I'm not sure there is. That's why I refer to it as a simulation/game. I'm kind of acknowledging that the minimum level of complexity might still preclude gamedom.

One thought I had was to have a fairly simple "game" mode with definite objectives, but to have the greater mass of the program be dedicated to a fairly complex sandbox.

In the long run, defining certain goals and achievements like evolving a species that could flourish in a given environment, or pitting your people against your buddy's people and see who wins, could add a little "gameness" to the platter.

But in the end, you're right. With all the functionality necessary to be able to freely evolve your critters to unanticipated heights and complexity levels, a widely appreciated game would be unlikely to form.
here is what I would do:

start with a nice little landscape with some primitive creatures. The player can edit the map by planting seeds from a menu, changing the climate, causing mountains to form, etc... the important thing is to give the player some tools to manipulate the environment. In this landscape he can grab creatures and move them around, and kill them instantly (bolt of lightning?). His first goal is to get his creatures to split into two species.

This opens up several more landscapes (perhaps we will call them ecologies). One will be to create as many species as possible in a small ecology. Players can approach this in different ways but I imagine that most players will settle upon a system of islands, and trying to make each fertile enough so that predators will evolve to eat their specific prey. Each time the player gets to a new level of species it recognized this achievement. The player will also be able to bring his creatures from other ecologies to this one. If the species survives for three generations it counts towards the ranking. Another ecology might be called back to the sea. The goal is to get a species to live in the water. This one is timed. It will have a button to reset the scenario so you can try to improve your time.

All of these different landscapes will have a different challenge, and beating certain ones will unlock others. You will be able to take species from one to put into another most of the time, but sometimes you will be forced to start with primitive creatures. In some you can move creatures around and kill them, in others you can't. In some worlds you will be able to alter the climate, plant seeds, etc... but each world will have something that will make it special. Maybe one world is a city filled with humans and you have to evolve pests. While you are playing one world the other worlds still continue to evolve. If this takes too much processing power, even without the graphics being rendered, just have the game catchup when the player reenters.

Then of course there is multiplayer. Each player gets to place 20 creatures (probably of 3-5 species) into a large, empty world. After 20 minutes the game determines what percentage of the biomass each player controls and awards victory. It also awards medals for adapting in response to a predator and other things. So the multiplayer would basically be evolving your guys ahead of time, dropping them into an environment and seeing what happens. You would be trash-talking each other on chat the whole time.
Hey nice idea for a game/simulator, the same idea crossed my mind years ago but never really done anything about it other then create small simulations of GA's, like this one:

http://www.zemerge.com/dev_javasimpians/simpians.htm

But ever since I've had new insights and revelations that made me start the following project called Zemerge. In short its a computing project of applying genetic algorithms and social simulations in order to find optimality in the mechanics of society.

Check it out:

http://zemerge.com/blog/

I'm in the middle of creating a flash concept prototype, any feedback would be great.
I thought about this a lot. I came up with an idea.

The world starts with one species of creature, and then it has offspring. There are a number of variations and the player has to choose one base on its traits. The player plays the life of that little creature from birth, eating, growing, and ultimately finding a mate and breeding. This would actually be short, maybe 10 minutes, and then choose one variant in the new generation. This would end up in very long gameplay, developing changes over time. If the player dies before breeding the species is extinct, then load game or new game.
Not exactly evolution, but its the best way i could think to make something like this any fun.
I don't play MMOs because I would become addicted
I just had a new thought. What if the game were multiplayer? Multiplayer games add an element of immediate competetiveness, which adds some spice even to dry tasks.

If the goals each player had could shift (achieve speciation such that you have X distinct species descended from Y organism for a 1 million year timespan, and then raise Z species total population above a certain number in 1,000 years), you could have multiple short-term objectives which each player could work towards for points. These points could then be used to fiddle with the other player's region/planet/whatever, to frustrate them from achieving their own objectives, a la Populous.

What impact each player could have on the other's progress would of course depend on the factors that players can influence, but competetiveness might be able to push this from the "simulation" to the "game" category.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

This topic is closed to new replies.

Advertisement