Redefining Species Success

I’ve noticed frequent complaints from players about Auto-Evo’s fickle handling of populations when species get bigger. We calculate population based on total energy generated divided by energy requirement per individual, so larger cells are necessarily hit harder and players don’t know why. Watch any footage of people experimenting with the Auto-Evo prediction panel for an example of what I mean.

Yesterday I had a thought that might alleviate this issue: what if we moved away from defining a species’ success by its population count? Why should we tell players they’re trying to maximise population when that’s not what Auto-Evo does?

Plus, population count isn’t a full reflection of species success in the real world. By population count, life as a whole is bacteria plus or minus a rounding error.

I have two suggestions for alternative measures for a species as a whole:

  • Biomass. If we directly offset population decrease by accounting for size increase, we could end up with a much more intuitive way to look at species’ success.
  • Energy production/consumption. While perhaps less intuitive, this is closer to Auto-Evo’s view of the world and might well be the most accurate way to track whether a given mutation is beneficial. It also scales remarkably well with the scope of the game itself. I’m quite taken with the idea of measuring microbial species with tiny values on the Kardashev scale and climbing the Kardashev scale to more familiar values throughout later stages.

I’m not suggesting we do away with population numbers. In some cases (e.g. determining whether a species is close to extinction) they’re still very valuable. I’m just wondering whether we should display two values and make biomass/energy/whatever the one with the green or red arrows to show how well a species is doing.

Or perhaps this is too minor a problem and too silly an idea to make work. But I thought I’d at least get it out there.

2 Likes

I had very similar thoughts in this thread (in the “What’s at Stake in the Early Game” section): Complete Vision of Progression in the Microbe Stage
I’m obviously biased in saying that I think the entire post contains things to have in mind as we conceptualize Thrive, but I’ll quote the relevant part at the bottom of this post so you don’t have to go through everything.

I do like your line of thinking and agree. Ultimately, it comes down to the fact that population isn’t the end-all-be-all “performance metric” for evolution - “fitness” is as Darwin describes. Population can be indicative of an organism’s fitness, but it isn’t necessarily a direct reflection of it. It’s kind of like how GDP is indicative of a country’s economic prosperity, but isn’t necessarily an accurate metric: there’s distribution of wealth, market size, etc. So it’s a bit challenging to deal with that dynamic in Thrive, and I do agree that we should include other metrics in determining a player’s success.

With population essentially being the fundamental metric of success, I think it’s also important to clarify exactly what a “good performance” and a “bad performance” in the Microbe Stage is. We obviously want to make it so that success in the early game rewards a player in the future, but not make it so that a player with a less than ideal start has an absolutely miserable playthrough. The post I have linked discusses that as well (I apologize if I am acting self-righteous when mentioning my post lol). I am thinking that having more success in the early game allows greater room for experimentation in evolution, as obviously, you can afford to die more with a bigger population. But looking at things from another perspective, wouldn’t players with less success be served better with a greater ability to experiment with evolution? It’s a very important question to ask.


What is at Stake in the Early Game?

Before delving into the strategy behind the prokaryotic stage, let’s clearly establish the risks and the rewards at stake as a result of the player’s performance in the early stages. In Civilization, the reward is an abundance of resources and territory, which makes the development of science, culture, and military power much easier throughout at least the first half of the game. The risk, on the other hand, is letting go of these benefits, and thus, being at a weaker position to wage war, develop culture, and research in comparison to other players. The ideal is becoming a superpower, the worry is becoming a Civilization which is easy to bully.

In Thrive, the ultimate risk is extinction, so the reward should be a state which minimizes the risk of extinction: a high population. Population is a somewhat finicky performance metric however because as your creature increases in complexity, its population will naturally decrease as well; it doesn’t necessarily mean the player is less successful or is at an exponentially higher risk of extinction. In fact, fitness is perhaps the objective standard of measuring a species’s potential success in evolution, whereas population is a performance metric which could be, but isn’t necessarily, an indicator of high fitness. So there’s an ambiguous balance there between losses which come as a result of worse performance, and losses which are inevitable.

As such, before we discuss strategy, it might be worthwhile to pay a bit more attention to clarifying the impact of the performance metric - population - to the player. Here are some ways I think we can achieve this…

  1. Explicitly Tell the Player How Many “Lives” They Have - Having a bigger population lets the player die more without risk of extinction, but the amount of times the player can die isn’t very clear. We should somehow let the player know that at x population, they have y amount of lives.
  2. Let the Player Play in any Species-Inhabited Patch - Already planned, this will add a tangible reward to higher population distributions. Instead of having to move around the map patch-by-patch and having to react to each patch on the way, the player can hunker down in a specific patch and make their species adapt to the environment they feel is most stable. This should probably be coupled with an increase in non-player guided migrations. (Already In)
  3. Reduce Total Population Lost from a Death at Higher Complexity Levels - This shouldn’t be too lenient, but it emphasizes the fact that, rather than raw population numbers, fitness is the ultimate indicator of survival.

The above should provide tangible benefits and a fair balance behind population which reflects its role in evolution: a performance metric, but not necessarily the most definitive indicator of a species’s success. It also provides a clear reward for the player which will last for at least the entire microbe stage. Since it becomes harder to rapidly gain population as time goes on in the microbe stage…

  1. A more successful beginning will result in a higher population, which means more lives as you begin to experiment and gain complexity, which means a bigger cushion between the player and the losing condition: extinction.
  2. A less successful beginning will result in a lower population, which means less lives as you begin to experiment and gain complexity, which means a smaller cushion between the player and the losing condition: extinction.

Total energy gathered in auto-evo should be the one number used for the current algorithm as that makes the most sense.

I’m fine with changing things to display the total energy (though as it can get huge it may get shown in scientific notation) and in parentheses the population. Population is the more "important number as @Buckly says because it is the number of lives the player effectively has, not the energy intake of the species.

One thing to note is that the GUI is pretty cramped for the auto-evo prediction box so it still needs to look readable with this change, so if someone can do a quick edit in Godot to see how well it can fit that’d be nice.

It might actually help a ton if we were to use a new overarching stat to quantify how well a species is doing in a patch. The first thing that comes to my mind, is fitness which would be an overall measure of how well a species is doing in their particular habitat.

So instead of looking at the patch-map and seeing various species with assorted populations that may or may not provide an accurate idea of how well they are doing, we would see a fitness score telling us directly just how fit they are for this environment.


Just using keywords that describe their current status (Much like how compound clouds are currently quantified) would make for quick and easy identification, but perhaps something like a percentile or exact measurement would be preferred instead.

Population would still play a large role in the overall fitness score, but by factoring in resource acquisition and niche mastery, we can make for a more understandable and accurate measure of how well a species is doing.

Just a couple questions;

  • What would the calculation look like?
  • Would we still use population to determine how many “lives” a player has in a patch, or would we try something related to fitness?

Another idea might be the introduction of “longevity” as a concept. The estimated amount of time an individual of a species is able to survive. Larger organisms tend to have a better longevity, and therefore are more able to reproduce at some point in their life.

Longevity could probably take stats such as body size, health(?), and resource acquisition to calculate it’s total value.

This stat would pump up the fitness rates are larger organisms, even if they have a generally lower population.

Fitness values are pretty much related to the other species in a patch. So how would you combine these for an overall fitness value? Or would you not have that so the player needs to do some mental math on each change to see how they do (and we would need to show all the patches somewhere in the GUI for the player to be able to even see that)?

I have no clue and this sounds super difficult to do well, like auto-evo algorithm level difficult…

I don’t really like this approach… basically this would remove the last reason why we would even show the populations to the player… It’d be pretty weird to have a simulation game where the creature population isn’t even a factor. And then suddenly in the later stages population would actually matter, or would this actually mean that even in society stage some kind of fitness metrics is used instead of city population?

I feel like this is getting more and more offtrack…

I think before way overcomplicating this, testing showing the overall species energy should be done first.

Having population being related to “lives” has a nice effect. Newer players just starting with smaller creatures, have a ton of lives, but as you gain more size, you life count goes down, but your overall power should go up.

1 Like

Goodness you must really not like this idea in particular.

I may have failed to communicate it, but the idea of an overall fitness score was to give players a better idea of their success, without using population as the sole indication. Primarily so players wouldn’t be as confused by their population dropping because they are getting larger. They wouldn’t be as worried, because they would be told they are still doing fine.

This would not replace anything, except for the first item in the player’s autoevo prediction.

Players would still be able to view their individual stats such as population, energy collection, sources, etc and see how they are changing.

I admit that replacing population with fitness would be a bad idea… it was a sort of a half-hearted idea. I was thinking on how larger species (especially for the player) become more vulnerable to extinction but perhaps this is life-like. A better approach might be to factor something into how much population is lost on player death instead.

I do tend to get a bit sidetracked sometimes, apologies. The idea of longevity was an alternative idea intended to help larger species population not drop as much, so players wouldn’t see their population start rapidly declining. The immediate issue with this would be that larger species should never be close to smaller simpler one in population though.

My only concern is that players may feel a bit punished for being more complex. I’m ok with this remaining the case if everyone else is fine with it though.

I know that. I do support something along the lines of the fitness idea. Or at the very least not making population the main metric of success for the player. With the GUI how it is now, it makes it look like you are doing something wrong when you are just progressing. I think it should remain functionally the same though.

1 Like

I say we can make things simple if we want to go beyond showing overall species energy.

We can show a percentage in brackets after the population in a patch showing how much gain/loss a population has had since the previous turn. Then we try to show how many explicit lives a player has based off a population. This will generally let the player know a rough ballpark of how successful a species is.

A further step can then basically be a reduction of population penalty for dying during gameplay depending on some factor, maybe total mass or something. So death penalty times a factor of biomass would be the penalty (the initial death penalty scales with difficulty keep in mind). Or alternatively we can boost the population gain from successfully reproducing as a more complex organism.

The issue is a player getting bigger decreases their population, so it appears they are being punished for getting larger. I’m not sure either of those really help with that.

1 Like

I think it would definitely help. We would be making it more apparent whether a loss in population is due to performance or due to the nature of gaining biomass and complexity.

Showing a percentage would help players know the extent of how their populations have changed. I think they’ll intuitively figure that a small change, like in the range of 0-5%, isn’t that big of an issue. Then if we explicitly show how many lives a player has based on their population and combine that with scaling population boosts/penalties with biomass (in a way that offsets loss in population due to size), the player will know that their population loss isn’t necessarily because they themselves are performing less. They’ll know they are still performing well because they still maintain roughly the same amount of lives.

Ultimately we aren’t going to do away with the fact that population decreases with size; that’s a basic biological concept. So the question isn’t necessarily “how do we minimize population loss due to size”, but instead “how do we make it so that natural population loss due to size isn’t necessarily penalized?”

But how do you make just a simple number for that? Taking the average of all patches fitness, results in a widely incorrect number as in different patches the required fitness to do well can be off by hundreds of times. So combining fitness values to a single number is impossible to do sensibly in my opinion, which is why I think we’d be worse off with that rather than a single number.

Knowing the percentage change does nothing to the underlying problem.

This is already in the game. There’s a constant and a coefficient for reproduction and dying population changes, so the higher your population is the bigger impact dying or reproducing has on it.

Auto-evo strength is limited when applied to the player. I think it’s only about 20-ish percent so 5 is already a fourth of the maximum amount the player population can change.

Hence why we show total energy which is independent from size.


I think this is getting really offtrack with a bunch of suggestions that don’t really help.

So I hope people are fine with me making an executive decision that the next thing to do is to modify the prediction to work in terms of total energy first. Any further discussion must happen after that is publicly released. Sound good?

Here’s the issue for that on Github: Modify auto-evo prediction to show total energy first (and population second) · Issue #3845 · Revolutionary-Games/Thrive · GitHub

Felt it might be worth showing the solution I came up with in my fork, that breaks it down a little more like a financial report.

1 Like