If I am understanding you correctly, what has happened so far in order is:
auto-evo created new species/mutated existing ones
new population numbers calculated for all existing species.
However, I’ve not modified my own species yet.
As clear in the screenshot, these are Generation 1 AI cells, being compared to the Generation 0 Player cell. This continues throughout the entire game: It’s always comparing Gen N AI cells with Gen N-1 player cells. Assuming both the player and AI try to make competitive changes each generation, this is a significant disadvantage.
That’s already the case in the old auto-evo system, but I think the miche system further exacerbates this. Let me try to demonstrate again. In the same editor session as the previous screenshot, I designed my Gen 1 Cell (screenshot is actually from editor session 2):
Optimised to be large enough to engulf the other Gen 1 cells, while still outspeeding them. It was very effective! No doubt the Miche algorithm would place it as a predator above those other two species. Let’s take a look at the report of editor session 2:
Again, these are all Gen 2 species, in the exact population numbers they will have when I leave the editor (correct?). My species did okay, at least it did not crash in population or die out! Unlike our Kronsis friends, whose miche was presumably taken by Kicanus.
Am I placed in a predator miche? No, I’ve been displaced by a Gen 2 cell that is essentially my Gen 1 cell + a metabolosome. It makes sense that I would be outcompeted in the calculation. After all, it’s a Gen 1 cell trying to compete against a Gen 2 cell. I am lucky to have the “player can exist without a miche” allowance, otherwise I would already be extinct in this patch.
My point being: the “player can exist without a miche” allowance is not just:
It is an absolutely necessary band-aid for the fact that the player is permanently one generation behind in all population calculations.
Please let me know if I got anything wrong in the order of processes. If it’s okay with you, I’ll post this as its own thread as well, since I think it’s worth discussing.
===========================================================================================
And now for something completely different: Flagella.
I know I already mentioned this in the release candidate thread, but let me back it up with some numbers now:
Either the speed indicator is wrong, or this is not balanced. There is no reason to use anything other than the shortest possible Flagella. (even accounting for the additional 2 ATP in base osmoregulation and movement cost)
Yeah, I imagine the fact that these calculations take a lot of time also doesn’t help. Is it the “mutation processes” or “final population calculations” that take the most time?
Because like you said, the most “obvious” solution to me would be to separate the final population calculation from the “create new species” section. Doing either of:
Calculating on demand as a player edits their cell
Starting the calculation once the player finishes the editor session
In the case of option 2 it would at least be nice for the food chain to be updated dynamically (running just the fitness/miche calculation). The current population calculation before the editor opens could remain, but it would essentially be an “estimate” instead of the real final population numbers. I of course have no idea how easy or hard separating the steps in two like this would be.
Though one other thing comes to mind:
Would the auto-evo prediction really be any less useful than now? In either case, the AI species get to appear/mutate before the next population calculations happen. That is currently already the case, right? The only difference is whether the “gameplay section” occurs in between, and whether the AI and player are same-generation. To emphasize:
For auto-evo (though not action gameplay) this is the current situation, but actually worse, because the AI is a lap ahead. Without splitting auto-evo, just letting it happen after the player would actually be a benefit to the player auto-evo wise compared to the current situation, though obviously not for the action-gameplay section.
If splitting the steps is not possible and your main concern with the player edits coming first is the AI specifically responding to the player’s modifications, an alternative could be to let the mutation step of auto-evo only have access to the previous generation player cell. That way both the player and auto-evo would be editing “blind” respective to each other. Which is “fair” in a way, but maybe not the most fun.
Splitting the auto-evo process would be the obviously better option from a player perspective.
Hmmm okay, then I am afraid I don’t have good feedback on the flagella change other than “I cannot judge what the value of flagella and their modification to me is”. I will have to see if I can tell anything from in-gameplay.
In fact the auto-evo prediction in the editor does exactly this: it applies all of the mutations the player has done in the editor and then calculates resulting populations.
This is exactly how the auto-evo prediction panel works. So you’ll have to explain how your idea differs from that.
And this is exactly how auto-evo works right now with the default options. The auto-evo run for the next editor cycle is started immediately after the player enters back into the environment. So while swimming around auto-evo is crunching numbers in the background (at a limited speed to not impact gameplay performance). Once you go back to the editor the auto-evo loading screen is only shown if the calculations aren’t ready yet.
This is doable but then we either would have a lag spike / loading display before being able to show the food chain details. And it could get very confusing as presumably there should be some way to still know what happened in the past so the food chain being both the historical record and once the player edits something a future prediction, seems pretty incompatible to me. Especially as it is on the “report” tab of the editor which is meant to be a report of what happened and not a prediction about the future.
It could be possible to split things up like this:
player is swimming around
auto-evo generates mutations
player enters the editor, mutations are applied
on the report screen we show??? to the player, because we can’t show new populations as they aren’t done yet and if we show a mix of old populations and mutation results the populations don’t match how the species look like or what the food chains are
player edits their species
population changes are applied when exiting the editor
how do we show that info? Does the player need to remember what they did and then look at the new numbers combined with new mutations the next editor cycle? Or do we like show a separate “after-action” report to show the player what the population numbers ended up as? This is going to be really complicated GUI if we want to allow the player to still cross-reference the patch map or other species or their own with the results. So we’d basically need to have the editor still fully function but with a new tab and locked out editing features.
now finally the player gets back to the swimming around part
So while I think it is kind of feasible to do that, it would require major GUI reworks for the editor, and a lot of effort would need to be put into to make sure the main gameplay loop would still be understandable for the average player. Which gets a lot more complicated with these interleaved “turns” of stuff happening instead of just a simple swim → see and respond to AI mutations in the editor → swim again.
I’m right now starting to recall what was talked about when this was last brought up and I think one major point was that the player as an intelligent designer usually outperforms the AI so only being able to respond to the AI (being a cycle behind) is not a problem as the player can easily make better species than auto-evo (though this was before miches).
This would mean that the worlds are just separated and the player no longer lives in the same world as miches require the entire patch to exist at once for miche occupation calculations, the whole algorithm falls apart without this. You could use a previous generation of the player in the calculation, but then what would we use when calculating things for the player side?
At least the discord folks confirmed that in gameplay the upgrade speed seems to work linearly with the energy cost like it should.
Well that’s good news in case you want to split it at least. Since I don’t think there is any scenario with a split in which you need to make the player wait for the AI’s evolutions.
I see, so it uses the same algorithm? Except of course, as you say it is only a prediction, because the cell you are currently designing will actually be pitted against next generation cells to determine what will be the populations of the next “action gameplay section”, not the one you are about to enter.
The auto-evo prediction number is meaningless and does not do anything.
What I am talking about are these population numbers:
These are what the world will actually look like once you hit “confirm”. Recalculating these is what would prevent things like “whoops” your prey all evolved too counter you, so we made you go extinct in 3 patches before you even have a choice to respond". If you take it as a literal report of what happened, this would be turning back time. But I would argue “letting time run” after AI makes modifications but before you can does not make sense in the first case.
Not quite what I meant, this would be just calculating the “real” population numbers before the actual gameplay starts. But I think I make that clear above.
Yeah, I imagined as much.
In this imagined version of the system I would completely dispense of the idea this is a “report of what already happened”. It is entirely a prediction of what will happen if you press “confirm” right this second.
Or show a prediction of what the population numbers will be without modifying your cell.
Or if you choose the “auto-evo and player are blind to each other” option (remember I don’t like this option): this would just be the “old number” with the previous generation AI and player cells. In this case they would only be a vary vague indication.
Or potentially just let them go back to the “report” screen and see what the new numbers are before they go back to editing their cell if they want. Sure this makes the player omniscient to some degree and lets them perfectly game the auto-evo system. But you’re already letting players perfectly counter the AIs designs for the “swimming around” section, so I don’t see much harm in letting them do the same for auto-evo.
Basically “let players switch around between “report” and cell editing as much as they want”.
Oh let me make clear: I know this would be a large amount of work. I am just trying to think of ways this could work to alleviate the problems I experience.
At least one thing in the likely case that the core system is not changed: the players is at a mechanical disadvantage due to this system, and you need to keep that in mind. Yes, “player can exist without a miche” is kind of a crutch, but you also just broke the player’s leg. It’s likely you’ll have to use more of these types of tricks as you go forward.
Well take this as just one data point: For me, with this new miche system It does not feel good. I am kicked out of my miche (visible by being disconnected from the food web) more often than not, and the only thing keeping me alive is the player crutch mentioned before. It feels like there’s nothing in particular I can do about it, because even if I try to occupy a miche again, auto-evo presumably evolves to take it back before populations are re-calculated and I see the food web screen again.
Sure, I feel like I can make better cells than the AI (though even that is questionable for auto-evo, the results can be hard to understand), but it also feels like my efforts do not matter. The AI is always one step ahead.
Besides, always existing disconnected from the food web makes me feel not really part of the world.
You would do the following in order (reverse the first two if auto-evo is split):
Player evolves (by definition blind, population prediction would be using unevolved other cells)
Auto-evo evolves while assuming the player did not evolve
Final miche occupation and population calculations
For anyone that can’t actually compete: if he dies, he dies
Edit:
A thought suddenly occurs:
The way the game is set up right now, for “action gameplay” evolution the AI moves first, and the player responds. For “auto-evo” gameplay, the player moves first, and the AI responds.
That’s fun to think about, though of course you can’t overrule the auto-evo results by being very good in “action gameplay”.
I guess with the miche system it is less accurate, but before you could easily use it to know if you have put in enough chloroplasts for example to compete effectively for sunlight.
It wouldn’t help because even if the numbers were updated they wouldn’t be what are shown next, because the AI still gets to evolve before the population is next calculated for them, so any number update in response to what the player did in the editor wouldn’t be accurate either.
But then it becomes an unintuitive part as most players just go through the editor tabs in sequence and don’t go back to look at the report once they are done.
It’s not a really a counter when it is the player that reacts to the AI having been given the chance to evolve first.
This sounds extremely unfun. I think the quote “players will optimize the fun out of a game” applies here.
If you are very well adapted, I think it will be actually hard for the AI to dislodge you from a miche. Though it is true the new miche system makes competition for certain food sources much more extreme.
Auto-evo needs to know which species it is making are actually good for it to do sensible things. If the player occupies a bunch of niches then this would lead to even more extinctions each cycle and could result in new species being unable to emerge properly at all. I’m not an expert yet on the miche system but to me it really just doesn’t seem like it you can sensibly split it, the AI has to be allowed to respond to what the player did for the algorithm to work as tuned currently.
Isn’t it the exact opposite, as when you exit the editor, you have last edited your species after seeing what the AI did. And while you swim around things are exactly as they were when you left the editor.
I mean, you mostly can because auto-evo is configured to be only 20% strength on the player species, so the population increases you get for doing well in the swimming around section is significant (as long as auto-evo doesn’t want you completely extinct).
To slightly go a bit more meta about game development:
I don’t remember right now anyone else talking about feeling like this, so for everyone else they either have not noticed (and are probably unlikely to notice at this point as ever since auto-evo was added the evolving cycles have been the way they are) or don’t care. So reworking half of the core gameplay loop based on just one bit of feedback is not realistic development resource usage.
Hmmmm, I’m not bringing my point across well again I feel: The entire point is that the recalculated numbers would be the actual auto-evo result for this round, what is used to determine what species live in what patches in what amounts. So when you first enter the editor and it says your species goes extinct in one patch. You go to the editor, fix up your cell → back to the patch map → actually not extinct.
Ehhh, maybe? I find the current situation not intuitive either.
What are you talking about?! Both player and AI have limited resources (MP) and their moves play out at the same time. Of course if you announce you move second that puts you at an advantage!
A very true quote that already applies to me when I look at the auto-evo prediction, just in a futile way, because it doesn’t achieve much anyway.
Definitely not my experience. All the AI has to do is split off from your own species and place one organelle that fits the algorithm slightly better, to kick you out.
It certainly does, otherwise I would probably agree with you that the AI being one editor session ahead and having the last-mover advantage for auto-evo is not a big deal, because I would not run into this. The new food chain screen also basically advertises it, makes it more visible.
I am undoubtedly even less familiar with the system than you, so I’ll defer to the experts. Since I thought you mentioned it’s in theory possible for the population calculation to be separated from the mutation step, I was assuming they were not that tightly linked.
Hmmm yes, correct. What you’re describing is what I meant by “action gameplay loop”. In the “auto-evo gameplay loop”, the order is different: You edit your species, then the AI edits their species, then the population calculations happen.
These two loops run in parallel, but they’re not unified and they have different mechanics, rules, turn order and requirements. As a player you’re just trying to design for both at the same time.
I definitely feel the strength reduction, though that usually just manifests in a slower decline.
Does the “player succeeds” bonus apply to all patches, or just in the one you actually played in? If it’s the latter it’s of limited usefulness in this matter.
Of course, like I said, I am one data point. Just keep in mind that if anyone asks “why is my species disconnected from the food web” (it’s only just been added) or “why is my population decreasing/why am I going extinct?” I think this is likely a contributing factor.
Ah, I think I see what you mean now. So like the auto-evo results would still be “open” when you get to the editor? And as a result the player could modify their species and only then confirm the results which would then get re-calculated with the modified player.
Theoretically that is doable but as a programmer I need to say that the code architecture really doesn’t flex like that so it would be a lot of effort needed to make the map etc. work with a temporary results overlay on top of the confirmed and stored data.
What you suggest would entirely flip the advantage to the player side. Which I think is already there because the player is an intelligent designer. So I worry that we’ll be back in the situation where people would say that auto-evo is ineffective at making competitive species at all.
I mean you can calculate new populations quickly, but the mutations part of the algorithm generates a ton of attempts at mutations, but it only keeps the good ones. If the player is allowed to go “umm akshually” after the mutations are generated and picked, many of the picked mutations might turn out to actually be bad and it would have been better to pick mutations that initially didn’t seem as good.
Only to the patch you played in, because that’s the only patch you’ve proven that your species can survive.
This has been a pretty consistent feedback over the years that players are in a situation where auto-evo just wants them extinct. Actually with the miche changes we have seen much less of that. It could be that there’s less new players trying the game or the improvement being so big that everyone just talks about that.
If this had been brought up like 2 years ago then I’d see this having a pretty good chance to be put on the roadmap for the microbe stage to still rework this part. But now this would cause the goal of finishing microbe stage soon to slip so I don’t see this getting done unless some programmer volunteers a month of their time to get this change done technically and balanced.
Auto-evo will, of course, still be a factor in a later stages, so let’s keep this in mind.
I came in way too late to respond to all the good points that came up, but I wanted to spit a few things out:
The insert step of a miche is seperate from the others, and doesn’t take super long to run once, so if we are willing to store two copies of a patch we could, in theory, run it over and over as the player changes a cell.
Some people have no interest in doing what auto-evo tells them two, and aren’t stopping to look at some dump report panels before going back to making the monster cell. I feel comfortable punishing players for that on harder difficulties, but otherwise I think we need to keep these players in mind.
auto-evo is an imperfect representation of the gameplay, and likely will always be, particularly if we stick with this algorithm. Auto-evo will always have an upper hand in meeting auto-evo standards, but will have a disadvantage when swimming around.
Yeah, this is a fast part of the algorithm so re-running it in almost realtime when player is making changes is not going to be a problem. But the problem I see is that once auto-evo has picked the mutations it likes then it is locked in to those without running the full auto-evo again, which is not really possible due to the time it would take. So if we allow the player to modify their species however they like and see the resulting miche results, then the player just can basically pick whatever species they want to cause to go extinct or fail to mutate and tweak things until that happens. So basically with a bit of fiddling the player can get basically any auto-evo result they want. And we’d need to add support in the mutation applying step to actually skip mutations that the player has “cancelled.”
This is an excellent point I think I may have forgotten to make. At least looking at YouTube lets plays most players just skip through the report really quickly. So even if we did these all fancy changes most players wouldn’t notice (other than seeing a release with really thin on other more noticeable features).
Yes, that’s precisely what I meant! I am happy for you to completely disagree with me, just glad you understand what I mean.
I don’t think that would really happen? Even when knowing the outcome of each choice, you have limited MP, and every choice has its downsides as well. At most you can perfectly compete for one miche, which might be kind of the point, if you want the player to both not go extinct and exist as a more integrated part of the ecosystem.
Also, I might be repeating myself, but: the player already has exactly this advantage when designing cells for the swimming around section (which the player is already better at). Is it really so bad for the player to have this advantage in auto-evo population calculations, which (as thim confirms later) the AI is actually better at? Besides, if this somehow does make the player to effective at beating auto-evo in the population calculations, you can weaken or remove some of the crutches the player currently has for auto-evo (weakened effect, can exist without a miche)
The modifications the AI already made might end up being “less optimal”, but I don’t expect the player species to be the decisive factor by itself among the many other species, and (far more importantly) the environmental factors. With the exception again of any species that you are directly competing with over a miche. So I don’t think that will turn AI cells from competent, to not competent.
Besides, if as you later say, most players don’t even really look at the reports (I don’t find that hard to believe), their perception of “competence” is based on how the AI cells perform swimming around. And auto-evo performance has fairly little to do with that. The only way to improve that is trying to make auto-evo standards align more with “swimming around” standards, but that is an entirely different issue.
Which makes absolute logical sense, but also means it does not work at all as a compensation for what we’re discussing, since your species absolutely should exist in multiple patches.
I indeed know it’s been a long-running complaint, but I have to say it used to not really be one for me before the miche system.
I don’t have any new player numbers! (though maybe you might have some you can check yourself).
But if I may offer another explanation: (visible) development has been so relatively rapid for a while now, people are more going “wow, cool new feature!” than “Hey, this old system actually has some fundamental flaws that make this less fun”, especially if they only play once or twice per update. Meanwhile, I play Paradox GSGs. Complaining about long-standing problems is kind of my jam. Even then, we probably wouldn’t be discussing this right now if the “cool new feature!” food chain screen didn’t shine such a spotlight on it.
I think it’s obvious though that you don’t exactly have an army of professional critics investigating every part of Thrive.
Which is really my main concern. From what I can tell from your plans, Thrive will build upon itself a lot. There’s some features which if they have flaws, run the risk of you running into them repeatedly.
The problem is also variable. The larger the “editor steps” are, the larger the effects of the AI being one cycle ahead and the “second mover advantage” will be.
That’s neat!
Would just running it once when the player hits “confirm” (so before the AI starts mutating), dampen the effects over time a bit? Or does the previous population not have much effect on the next round?
I agree with you, and keeping that in mind:
The not looking ahead players are punished more by the AI having both “second mover advantage” and “one full lap ahead” advantage.
For wanting to make this challenging on higher difficulties: Trying to design for auto-evo, then having the AI step one move ahead, including the ability to split off from you own species, perfectly countering you in the miche you’re trying to occupy, without having any chance to counter before the population calculations are made. I would describe that as frustrating, not challenging.
By the way, another thought occurs: if somehow the change I proposed was implemented, and if I understood hhyyrylainen correctly, it would actually turn the “auto-evo prediction” in the cell editor screen into the real numbers.
Which is why it is actually somewhat odd that you also give the player the “second-mover advantage” in swimming around, while giving it to the AI (in addition to being a round ahead) in Auto-evo, no? You’re giving them additional advantage in what they’re already better at.
And yes, I definitely experience this. Part of it is that the standards are completely opaque, which is difficult to fix.
I realize that this would be a rather large overhaul that’s unlikely to happen, so let me offer some more surface-level/cosmetic suggestions as well:
Instead of letting the player exist without a miche, let them co-exist in a miche with an AI species (though this might be functionally similar to what it does now?)
If not 2, at least place the player in the food chain as if they are, pick the miche they were closest to filling. This way people will be less likely to notice, and it does look like your species that’s part of the world, rather than an obvious outlier.
I think you have to accept that the player is unlikely to consistently fill a miche every editor round, as the system works now.
I don’t think this would have an effect like you had in mind. When a species cannot be inserted to the miche tree, it is immediately considered extinct as it cannot get any population. The AI population numbers aren’t based on historical numbers, they are purely whatever the energy gain from all of their occupied miches are. So running the step twice doesn’t do anything. The only exception is if the player species is modified in the meantime then it would potentially effect which miches each species goes into, and that will have an impact on the population numbers (and list of extinct species) that are output from the algorithm.
For the swimming around part, it is usually beneficial that the AI is ahead of the player. For example there’s way more feedback about there being no viable big enough prey species, than there is about the AI being bigger than the player.
In effect if the report tab was made to react to whatever edits the player is making, that would make the auto-evo prediction just show the same numbers, so it would be a completely redundant part of the GUI (though it probably could be kept as it reduces the need for tabbing back and forth and would still help the players who wouldn’t be interested in obsessing over all the details and constantly swapping back and forth between the tabs to make sure they are making good edits).
This is currently completely against how the code is structured, and how miches are defined on the theory side (they are a niche that has one species that occupies it, maybe I should double check but I’ll just assume that in biology niches are defined also so strictly that no two species can have the exact same niche).
This actually seems pretty doable. Miches already use a numeric scoring system to determine who is the most fit to be in them. There’s probably a lot of corner cases like if the player is kind of suitable for all of the miches, it would cause a huge mess in the graph. But if all that’s needed is to make sure the player is somewhere on the food chain attached to at least one miche, that seems perfectly doable based on my surface level analysis of the required change.
I split this into a new topic as this was becoming a long discussion and taking up the feedback thread. I couldn’t fully cleanly split this due to posts with multiple topics in them, but this is probably at least somewhat easy to start following this specific topic.
I see. Not taking into account the previous population indeed makes sense, especially given the long timespans we’re talking about.
So I guess at most this might reverse the player’s species going extinct in some places, if you were to completely replace the first calculation. That’s of limited use indeed.
Sorry, can’t quite tell what you’re trying to say here? For the swimming around part the AI is not really “ahead”. It’s of the same generation as the player, they just make their modifications first, which allows you to respond to them.
That’s pretty much what I figured, yes. And in this hypothetical scenario I think keeping the display in the editor would indeed be a good idea for that reason.
Yeah, niches are usually defined that way (though there are some competing definitions, and there are cases where two species exist in one area and nobody can figure out how they would have different niches). But keep in mind that irl new niches may also be created, and there are many more, so many could fit into one current Thrive “miche”.
But essentially I was wondering how much effect being “in” a miche has on population numbers right now, compared the player-only exemption for surviving outside a miche.
I think that might be relatively worthwhile if the player species consistently falling out of the food chain does end up being a problem.
I was talking in general. I see players commenting things like not having any viable big enough prey around to eat on our community discord. So I think that the AI being ahead of the player results in better gameplay with more big species around that can act as prey or predator for the player making the gameplay mode interesting. I see now that we ended up talking about slightly different things here. And you are right the AI is basically now in lockstep with the player, I was more remembering how things used to be where the AI didn’t even use MP limits so the auto-evo was tuned for AI evolutions to be bigger than what the player could do.
If someone wants to, they can suggest more miches to be added to Thrive, but I’d personally require the new miches to be explained in terms of biological niches how they can exist (and are different from the existing ones).
Unless I’m forgetting some part of auto-evo, being outside all miches means your population is 0, because you get no energy and thus no population. The player is again exempt here as the player’s population change is clamped to a max and min value so it takes a while to reach 0 once auto-evo has decided the player should be extinct.
Alright, I will look into that some time, might be worthwhile as its own discussion topic for suggestions.
I see. The first time you mentioned “the player being allowed to exist without filling a miche” I thought that meant something different.
However, the auto-evo prediction does show you still collecting energy from various sources even if you don’t occupy a miche I believe. Is that accurate?
I did mean something different, because there’s again two layers:
If any species is found to not inhabit any miches, it is deleted from the world as extinct
Except if the species is the player, then no action is taken and the species is allowed to exist
When any new population is being applied to the player first a difference is calculated between the previous and the new population and only 20% of that change is applied. For AI species their population numbers are always just immediately set to the newly calculated values.
So those two are separate things.
I actually don’t know enough about the miche system to answer that. Reading the miche code and prediction GUI code would be needed to check that.