Player migration

A discussion has been started at the Patchwide population system Pull Request. This PR, along with other things, touches upon the player migration logic. Currently when the player migrates to a new patch no population is transfered and the new patch has 0 population. Said PR moves 10% of the old patch to the new one as a proof-of-concept. There have been a few ideas, like

  • not transfering any population to the new patch but to penalize the player by removing some population off the old patch
  • transfering a fixed percentage
  • giving the player a small population boost in the new patch
  • not penalizing the player at all (keeping the current system)

hhyyrylainen had the idea:

For example on the patch map you could maybe select a source patch and a target patch to order your species to migrate. And you could do that even for patches you are far away from. That would give a similar level of control to the player that the auto-evo has regarding migrations

which gave me another idea: what if you can freely move around population in the editor like hhyyrylainen suggested AND you, as the player, can only go to paches already colonized. That way the player is not the first of its kind to visit the new patch.

What do you think?

3 Likes

Personally, I like the idea that the player plays a pioneering role in the game, such as how they and their species are the LUCA, and are likely to be the first to develop the nucleus, proceed into multicellular, etc.

That being said, the player having to participate in whichever patch they choose to migrate to would get in the way of migrating multiple populations to different biomes in one generation. This may not seem like too big of a deal now, but in the future when the patch map is much larger it may become quite the hassle.

I like the idea of allowing the player to push their populations around in a sort of command-like way because this also might prepare players for the strategic atmosphere that might arise in later stages when their species becomes more organized. In a way, this might make for a smoother transition into those stages by introducing strategic movement on a large scale so early.

So to put things simply; I believe that granting players the means to command their species to expand in the patch map in such a way could be a worthwhile feature. As for how to do so… I shall and various ideas on how we might do it.

Patch Movement:
I have two ideas on how the player’s means of migration might be limited.

  1. The player may only migrate species from one patch at a time. So if they have two inhabited patches they may move species from each of those patches and no more.

  2. They have a limited number of moves they can make, based on total population or some other factor (Propagation methods?).

I personally prefer 1.

Population Changes:
With the player’s species inhabiting multiple patches while only the player makes meaningful changes to their population, I believe that we could allow autoevo to effect the population of the player’s species when the player is not present in that patch. This way we could perhaps encourage finding a niche without a direct risk of a game-over for the player themselves.

I can understand if we may not be ready for autoevo to effect player population yet though.

Migration Cost:
I believe that 10% is a good place to start from. We can experimentally tweak it from there if needed. Though perhaps the number migrated could be controlled or effected in some manner?

2 Likes

I’m in favour of requiring the player to migrate first as well.

For the currently open PR (ie. the player moving to a new patch), I think this would be a good way:

  • No population moves along with the player. This means that if the player doesn’t survive in the new patch they get kicked out of that patch immediately and I think we should have some penalty for that, so the death population penalty should be applied to the patch the player migrated from. Otherwise it would be free to try migrating all over to find a good place without a strategy. Though, I think we should make this configurable in the code so that if we add like an easy mode, it could remove the population penalty in this case.
  • If the player manages to reproduce in the new patch, then that reproduction adds population for the player to the new patch.

The plan is that auto-evo will affect with like 80% strength all player populations. There’s been an open issue about that for years. It’s one of those features that’s been planned forever but no one has programmed it.

As I said above, I’d prefer to not have this approach, at least initially for the migrate feature.

2 Likes

I could see this backfiring. If we assume that, in the grand scheme of things, we’ll keep these kind of grand migration features, that might convey the idea that you’re playing as a god with control of an entire species, which to my understanding is definitely no longer true by the time you meet society stage.

On top of that, the RTS style stuff that I assume a future generation of Thrive devs will choose to implement at that time will probably feel entirely different from the turn-based, one-big-decision-at-a-time strategy gameplay of controlling 100 year migrations.

1 Like

I see this differently. I think there isn’t a reason not to allow the player to make multiple migrations at once. So the act of directing your population around in the microbe stage, would be very similar to commanding units in the later strategy phases of the game.

1 Like

It’s that or we just have your species migrate on their own before the player makes their choice which is worth considering, imo. It all comes down to how much agency we want the player to have over their whole species in earlier stages I suppose.

Personally I like the idea of directing migration for the reason I’ve stated above, it also let’s the player keep their species from trying to migrate to an unsuitable environment and die, thus potentially penalizing the player.

On the other hand, I like the idea of player species migrating on their own because it helps enforce the fact that the player is not in complete control of everything, and that just because you share the same species does not mean that you are necessarily allies. I assume we will have things such as rival competition in the future before we reach the civ stages afterall.

1 Like

I wanted to bring this topic back up in light of some thoughts in the environmental tolerance discussion thread:

Implementing environmental tolerances will fundamentally alter the constraints placed on a player regarding mobility, so I think it is important to start some sort of discussions here to see some ideas flowing.

The basic problem is that, because we can’t significantly jack up the number of patches since auto-evo could proceed at a snail’s pace, introducing environmental constraints in the current maps generated would mean that players would have to be very precise and deliberate with the management of their population. This is a good thing in terms of gameplay as it introduces another layer of strategy, but it does mean we have to rethink the way we currently deal with migration.

Right now, a certain proportion of your patch’s population comes with you when you migrate (what is it, 10% now?). This isn’t sustainable in future Thrivian playthroughs where you have to adjust your environmental tolerances to not get beat up in whatever new environment you are moving to. What happens to 90% of your species if you hop from a saltwater to a freshwater environment, or from a deep patch to the surface, or from a hydrothermal vent to a less-warm region? They’d just die right away since changes are applied to your entire species, so whatever new environmental adaptations you’ve made would be a death sentence to your old population.


I think we ultimately are heading towards a system in which the player must make a decision as to what percentage of your organism’s species will move with you to a new environment. I think the ideal system would look something like this:

  1. Your first turn in a new patch works similar to how it does now, where you essentially have a small enough population to have a single life in a patch. If you die, you get booted back to your original patch. During this turn, your species receives a reduced penalty from the environmental aspects of auto-evo, but it also receives slightly lower population growth.
  2. If you successfully reproduce in a new patch, you get an option to move whatever proportion of your population from your prior patch to the new one. Once you move, auto-evo effects apply as they normally do.

This works to offer the player a chance to not die because they want to move patches, but it also minimizes the possibility of exploitation. My only question is if it would work with the way auto-evo calculations currently work. And, of course, if someone has a different opinion in regards to this way of dealing with migration.

I think the implications of adding environmental adaptions even go far beyond player mobility. Let me explain:

Right now, the player species is assumed to be „categorically static“. No matter how much its body plan changes, if the player never changes its name it will always remain Thrivium Primum. The player can change its name, but as far as I remember that doesn‘t result in a split of the species. This is quiet a strange disconnect. How can a species be called by the same name over many milions of years despite its body plan changing completely? As far as I understand, no other species is handled like this. How can one species still carry the name of LUCA despite being something completely different while all others have changed their name (their category as a species) to reflect that they have changed over the millenia?

Let‘s look at another discrepancy for a moment: Evolution doesn‘t work like either of the two solutions suggested here:

It wouldn‘t make sense for 90% of a species to adapt a hurtful mutation in the old for 10% to thrive in a new biome.
Neither would it make sense for a large part of a species to migrate into a new biome simulatneously and getting the fitting mutation at the same time. This might be thought of as the species getting the mutation and as a result thriving in the new biome and dying out in the old biome. But there wouldn‘t be any reason for the mutation to be successful enough in the old biome to replace the specimens who didn‘t get the mutation. If the old body plan still works well in the old biome there is neither a incentive for the mutation to spread there, nor is there a reason for the bulk of the species to migrate to a new patch where the mutation might be more likely to arise.

The only reasonable way for this to work which I see is:

Specieation uponthe passing of an environemtnal threshhold

The way these kinds of dispersals work irl is like this: The bulk of the species remains in the old patch and keeps the old body plan. The mutation arises per chance at the boundary between the old patch and the new one. There the mutation is more of a boon than it is a hinderance. It can therefore proliferate and its bearers can advance into the new patch.

This means that in Thrive, a new species should always be created when the player decides on an adaption which is helpful for the 10% of their population in the new biome but which is very hurtful in the old biome.
If the player does this, he takes control of the newly diverged species and gives up control of the old species which remains in the old patch.
This is logical. The part of the species which remains in the same biome as before and keeps the same phenotype as before keeps the same name. The part which diverges (in space and in its phenotype) gets a new name and is therefore categorized as a new species. But this leaves us with a problem: Now the player controls a species with only 10% of the population of the species they controlled before. Worse still, this species is thrust into a new biome which makes survival more challenging for the player. Does this mean that the player now faces the game over screen after one or at best two deaths?
In the old system, this would be the case. As the game is right now, it‘s game over when the player species goes extinct. But as far as I remember, this isn‘t planned to always remain the case.

If I remember correctly, we are planning for there to eventually be a hardcore and a normal mode. Hardcore would be the way that it is right now: If the player species dies, it‘s game over. Normal mode would be like this: If the player species dies, the player takes control of a species which has most recently split off the player species‘ lineage.
This feature of the player gaining control of a closely related species upon extinction has been discussed in this aforementioned thread: Population System - Species Splitting
Here is a quote from that thread regarding this “planned” feature:

Fourthly we could give the player a certain number of “respawn points”. If your species dies out you have to spend these points to get to another species to play. For example if you are wiped out and you want to switch to a species which has relatedness 4 to you this costs 4 respawn points. If you do not have enough respawn points to switch to a species which is alive then it’s game over. On iron man mode you could get 0 respawn points, on “creative” you could get unlimited (play as any species any time). We could give +1 respawn points every 20 mins of play or something like that.

It‘s also mentioned in this GDD, although I‘m not sure how up-to-date it is: Game Features - Thrive

Rise and Fall

Death, defeat, and extinction are a part of the game. The player will hop from species to species, unless they play exceptionally well and never go extinct. The same will happen with civs that will rise and fall but the player will play a common thread that hops between them.

If this was the case, this would solve our situation: The player takes control of the split-off species in the new biome, but if that species doesn‘t make it, they regain control of the species from which they recently split off.
To reiterate: The player species shouldn’t split if the new mutation is only a minor hinderance to the population in the old patch. It should only happen if the mutation poses a large handicap for the population which remains behind. I know my suggestion of coupling environmental tolerances to a rework of what happens upon player species extinction is a bit drastic. But it’s the only way I see in which these kinds of strong environmental barriers can be implemented in a way which is both realistic and fun to play.

1 Like

This is a very interesting train of thought and I do like the idea of it. It does indeed make more science theory-wise and adds an interesting risk-reward element to the decision of moving to another environment. Three things I want to note:

  1. I do think that when the time comes to finally implement environmental tolerance ranges, the way we deal with migration would be a more “simple” implementation along the lines of my post since your suggestion would also require a big rework of our general gameplay loop. A more elaborate system akin to yours would probably be implemented after initial implementation.

  2. I think we would want to have a greater proportion of the player’s population go with them to a new patch should we go with this method, as it is a bit unsatisfying gameplay wise to go from having decently-sized populations across potentially multiple patches to a very small population in one patch. Maybe somewhere around 20-30% of the initial population.

  3. Implementing the respawn point system allowing players to play as their relatives/distant relatives would be its own discussion since it would be a huge rethink of how we conceptualize Thrive. Our winning/losing metric would be fundamentally changed, so we should absolutely consider things holistically.

2 Likes

It’s actually 0. Just the player moves. This has a few effects:

  • If the player dies, they have to go back to a patch they are in
  • If the player survives then they get a population bonus in the patch they moved to and then auto-evo starts adjusting their population in that patch as well.

This makes sense to me and I think this will be necessary like you identified.

One slight complication though with the player migration is that I’ve been holding onto the idea that eventually we’d allow some kind of command for the player to tell other members of their species to move around without the player so the player could on the map command individuals of their species to move. This would free up the player to play in the patch they most prefer while managing the spread of their species. I think these two ideas might make sense to combine. Or how do you feel about this decoupling of player species movement from the player?

I think this is a separate problem. Messing with a player selected name to make it unrecognizable would not me good. I can already imagine all the complaints from players that their selected name doesn’t stick and the game just overwrites it…

And also this touches on the debate going on forever about the player being able to get absolutely decimated by picking an evolution and the game deciding “hey, you know you don’t really need to exist in 10 patches, 1 is enough, right?” I can’t imagine that feel good that the player can make one small change and (perhaps without much warning) lose basically all of the patches they had population in that the player might even want to migrate back to themselves.

This is a pretty interesting solution to the problem, and would solve quite many things, though as @Deus said this need quite a lot of extra thought on how many “lives” the player gets and how costly in terms of population loss and future options of migrating back to patches the player is in.

I’d go as far as to say that this mechanic would basically remove game over completely, as the only way to lose the game would be in the first 20 minutes when there aren’t that many species yet.

3 Likes

I think this is a smart thing to do and I don’t really see any contradictions in this with any other concept/mechanic. We would be reinforcing the strategy of migration when environmental tolerances start to become a factor, so it would make sense to give the player more unique and defined tools to manipulate their population.

In the original concept as MirrorMonkey said, it seems that the player would have some sort of credit/respawn point system which grants them the ability to switch species after death. The more closely related a species is, the less points it would cost to play as them. So it could cost a point to play as your closely related ancestor and several to play a rather distantly related organism. The player could then earn more points through an action, perhaps by surviving a certain number of generations.

Though of course, a unique game mode where there is no lose condition is very possible, and would be a strong reinforcer to the idea that there isn’t necessarily an absolute win in evolutionary-terms. It could also be a nice way for newer players to experiment with Thrive.

But again, that discussion is a decent bit ahead of us for now.

2 Likes

Definitely, I didn’t want to shift the discussion to another wholly seperate feature which is further in the future. I’m sure we can find a way of expanding player migration which could easily be retrofitted to work with such a feature in the future (if this feature is even definitely planned, which I assume based on some older posts and GDD mentions but I’m not sure about).
In general I wanted to point out that while the player will always to some extent be an exception to the evolutionary rules, we should always try to uphold the balance between gameplay agency and the basic rules of evoltionary logic.

1 Like