Simulated Ecology

(Steve) #1

This is for ideas, since I don’t think the devs have thought this hard about a stage that’s far away.

Ecology in games is pretty simple, herbivores eat grass which clears a tile of grass and carnivores eat herbivores but since plants are planned to be their own evolving organisms then how will herbivores be planned to eat them, this could be an issue in multicellular stage with organisms that eat photosythesising organism. How are they going to work? How do we garuntee that life wont wipe itself out by eating all the plants to extinction (a problem I see in Species).

(tjwhale) #2

So the current prototype for this works as follows:

The amount of sunlight that falls on a patch is calculated. Each species with chloroplasts (or equivalent) shares this sunlight energy out amongst each other. Other sources of energy (like iron, hydrogen sulfide etc) are also shared out to those species that can use them.

Then some proportion (maybe half) of the energy each species has is put into a “predation pool” and then this is shared about to each species based on how good they are at combat.

So at the moment all photosynthesizers can’t go fully extinct by being eaten because they only have to give up half or less of the energy they harvest. However individual species can be pressured to extinction, for example if you are competing with 10 other species for light and there are good predators so you lose a lot to them you can run out of energy.

3 Likes
(Steve) #3

Would reproduction with plants just be new plants growing around it, so if a tree was planted, it would grow trees in a circle around it, and then those grow trees (in free space) around them until you have a forest. The good thing about that system would be that all types of plants could use this regardless of size.

(tjwhale) #4

Generally we’re doing things in a more abstract way. So the system will calculated that an area should be 1sqkm and have 500 trees in it and then if the player ever goes there those tree positions will be randomly calculated. Anywhere the player never goes will never be physically generated.

There’s questions around persistence, not sure how that will shake out. Like if you go to a tree and make a nest how long should that tree and nest stay for? If you go to the editor is the environment completely different or is there some continuity?

(Steve) #5

I thought trees were going to be evolving organisms in the world like the animals, but this makes them sound like they will be a part of the environment generated on planets.

(tjwhale) #6

Hopefully they will be evolving entities, it’s just that it will be quite abstract. You don’t need to know where things are physically located to model their evolution.

It’s possible that inbetween each editor session all the trees will evolve and so the environment will be totally different every time you leave the editor, though this does feel quite discontinuous it makes sense.

(Steve) #7

Well at least it won’t be spore where hundreds of millions of years go by and you see the same eyeball trees. But if there are creatures that destroy trees, will they just spawn back or will they grow? This is the same for other plants to, if there are grass like plants that make up the ground then will they grow back, just spawn when you leave the generated area and come back, or not go away and playing a herbivore that eats it is just a spam click to eat food simulator?

(tjwhale) #8

Yeah not sure to be honest. Probably between editor sessions things will have some level of persistence. I don’t think it’s super important as animals because they tend not to mod their environment too much, unless termites building mounds get implemented and stuff like that.

I mean click to eat sounds a bit lame, but click to eat with each bush disappearing after a few chomps is pretty much how being a herbivore works I think. I agree it’s lame if you can just run in circles and come back and eat the same bush again. We’ll have to see how it all shakes out.

(Steve) #9

It could be that plants don’t regrow until the next evolution cycle, since each cycle can’t last more than a year. Although any grass like plant would be able to regrow in the time each cycle is supposed to last, although I may be wrong in that, I don’t know how long you want them to be.

1 Like
(tjwhale) #10

Yeah I’m not really sure about how the timings will work out. Like how many minutes between editor sessions, seasons and weather and lifestages kind of need to be meshed. So if you’re going to start as a juvenile, grow up, mate and then live through some different weather patterns that sounds like it could take a long time. So we’ll have to see how it all works out.

#11

Much of this persistence stuff will have to depend on how much RAM the game is allowed to use. On a dingy 4GB memory laptop we can obviously have much fewer creatures and foliage positions in memory than with 112GB of RAM. But there’s of course the fact that it may be really expensive CPU wise to simulate things as well, so that also limits it.

And as tjwhale said as the editor represents a lot of time passing the surroundings of the player need to be somehow handled to be familiar enough but at the same time new stuff should appear.

1 Like
(Steve) #12

I think there should be grow cycles, where everything grows at the same time the player does, when the played goes from baby to juve then any babies of all species will also grow.

(He who abuses the search function) #13

Luckily development is so slow that by the time this problem will come up we’ll all have quantum CPUs

#14

Unfortunately, after learning about quantum computers, I’ve learned that only certain, very specifically made algorithms can be made to run faster on quantum computers. For all other algorithms it is better to use classical computers. But at least we’ll have a bunch of RAM and all the old intel HD graphics laptops from pre 2012 are definitely broken.

1 Like
(Steve) #15

We can only get a little bit smaller, we are to the point where our componenets in chips are only dozens of atoms wide and at a very close point quantum tunneling will become a problem as electrons will just pass by our gates. Maybe we just need to make the computers bigger with the same sized wiring. Eh, I like games as they are, but bigger and better games would be cool.

(ፕቿክፕልርረቿ ረዐዪዕ) #16

I always imagined that the player would spend at least a couple of years (season cycles) between evolving while they grow up into adults and reproduce. A year could be short something like 4-8 months (1-2 months a season), a month 5-10 days and a day 30 min. A plant s growth could be changed in the editor so some might take a day while others might take a year.

(tjwhale) #17

So how long would it be between editor sessions where you can change your creature?

If a day is 30 minutes then a month is 150 minutes minimum and then a year is 600 minutes minimum so that’s 10 hours. That means a couple of years is 20 hours of gameplay if I’ve understood you correctly, that might make the game quite long :slight_smile:

(ፕቿክፕልርረቿ ረዐዪዕ) #18

thats true, I was just an example (I was using rimworlds calendar) it would have to be shorter but I feel seasons are a must in the game even if they only cycle through once before evolving and maybe after the editor session they continue where they left off. Seasons will be important in the civilization stages and it would be odd to go a couple billion years with out seasons just to have them suddenly kill your crop, not to mention the players organism should have to adapt to the seasons.

2 Likes
(tjwhale) #19

Yeah I agree that seasons are a nice feature.

I do wonder how long it’s nice to play as a lion for, for example. Like maybe 5 minutes is enough but if there’s growing up, reasonable hunting, fighting other members of your species, mating etc to consider it might need to be longer which leaves some room for seasons.

I think the idea of picking up where you left off is an interesting one. For example the seasons could cycle once every 4 editor sessions for example, that way you get to edit quite a lot and also experience markedly different seasons. We wouldn’t want people using the editor solely to adapt to the seasons though, that’s very unrealistic.

(Untrustedlife) #20

herbivores would just be specie sthat happen to prey on the photosynesizing organisms or whatever, its just a predator and its prey…
So its the same as any other predator prey interaction. If it happens to be viable for said plant to figure out how to move, well, then you just have to deal with that. But theres a reasons things converge towards less movement when trying to save energy.

1 Like