Ah that’s a good idea! In that case I think this would be a good system to replace the current ATP approach.
So let’s summarize the points on this thread so far, as well as discussion on other threads and Slack about what gameplay changes to implement for 0.4.0 alongside the engine switch (though some of them may end up being in the update after it). Let’s gather them into one place so we can add it to the wiki and more easily refer to it in the future.
@tjwhale I remember you wrote a list on the slack of gameplay changes we could make in the next update. Could you post them again here? EDIT: Thanks added.
The list so far:
- Remove O2 and CO2 as compounds and make them features of the environment. (Compound Rebalancing)
- Add in additional environmental variables. Pressure, salinity, acidity, temperature, sunlight. (Differentiating Microbe Biomes)
- Add in an “Ecology” page to the editor, where the player gets to see which biomes its species lives in and choose which one to spawn in. Some environmental variables will be shown here instead of in-game HUD.
- Remove the ability to store agents and just have them be immediately produced and ejected when triggered, meaning we don’t have to track them as a compound in the UI.
- Remove FAN acids (fatty, amino, nucleic) and add phosphate. (Compound Rebalancing)
- Make ATP like CPU. (Compound Rebalancing)
- Rebalance movement (Cellular Movement)
- Change control scheme to potentially use just the keyboard and free up the mouse. (Control Scheme)
Let me know if I missed anything. If there are no objections to the above points, we’ll add them all in as final concept to the wiki.
I think the list of gameplay changes is here
I think this is a good list.
Re agents how would they be limited? Would it be with a cooldown (like you can only fire once every 3 seconds) or would it be that they use up ammonia and glucose or something else?
Re O2 and CO2 I agree removing them is a good idea. What would it mean if they were features of the environment? How would that change things?
Same question for pressure, salinity, acidity and temperature, are they just numbers for each patch and if so does it make any difference to the player? I think any feature is much more powerful if it’s rooted in the gameplay.
A few suggestions: I like the idea of sunspots a lot which are the only places where chloroplasts work, especially if all cells can move. I wonder also if we could have lava spots in the vent biome which are orange patches which damage you when you touch them.
I liked the idea of icing happening, not sure how that would work. Maybe ice spots which make you slow and damage you unless you have anti-freeze protein?
Re O2 one option would be to have “the great oxygenation event” which happens after some number of generations, maybe 5, which is just a message you get that unlocks mitochondria in the editor. It would then be quite a game changing moment and would be a big upgrade to the types of cell you could make. For example maybe if you rely on cytoplasm to produce power before this then you can’t make enough power to support a nucleus, however once the GOE happens you can use mitochondria and then you can have a nucleus. That way it’s very tied into gameplay and will be memorable and powerful.
if cytoplasm makes 5 atp/s, a flagella costs 25 atp/s and a nucleus costs 50 atp/s under your cpu style atp scheme.
then at the start of the game you can’t really afford a nucleus, you just have a small prokaryote which spends most of it’s power on a flagella and a couple of other organelles.
But then if mitochondria make 75 atp/s then once they are unlocked it rather changes things. Then you can make what is now the starter cell without too much difficulty using the new, much better, powerplants. On some googling it seems that mitochondria are pretty much required for being a eukaryote so it’s reasonably realistic and makes good use of O2 and the GOE.
“Most eukaryotes have mitochondria, while every multi-cellular eukaryote does. However, a few one-celled eukaryotes lack mitochondria. All of this type of eukaryote live as parasites.”
They would use up compounds. We could implement a cooldown as well if we find they are overpowered.
I’ll explain that at the bottom of this post.
I feel like lava spots would be too unrealistic, but I think something like patches of dangerously hot water would be a good alternative (near the vents).
On the point of mitochondria and aerobic (oxygen based) respiration, I fully agree. One of the major consequences of an Oxygenation event is the ability for organisms to aerobically respire which gives much larger amounts of energy.
There have been quite a few questions and confusions floating around slack and the dev forums on the many concept changes we’ve had recently. I think this is understandable because we’ve redesigned many aspects of the game and reached a state that I think is a LOT more fun AND realistic than what we had before. However, it’s vital we all get to the same page for moving forward.
First a quick explanation of the confusion between producing ATP, photosynthesis, and chemosynthesis.
The Basic Principle of Life
In the chemical world, multi-atomic molecules are held together by bonds between its atoms. These bonds have energy stored in them, and breaking these bonds will release that energy. Some molecules have bonds that have a lot of energy stored in them, and some very little. All life is based on the principle of finding molecules with energy rich bonds in nature, breaking those bonds (aka digestion), and harvesting the energy from those bonds. Many molecules are very hard to break apart and/or yield very little energy, which is why most life has evolved to harvest energy from the same set of chemicals.
In cells, the way they capture that released energy is through ATP. When a cell needs energy, it will break an energy rich bond from one of its food molecules and then “capture” that energy with ATP to be used immediately on moving or maintaining its membrane or what have you.
Energy Rich Molecules
Glucose is the most commonly used energy rich molecule in nature. In the absence of oxygen, cells will break apart 1 molecule of glucose to produce 2 ATP, as well as 2 ethanol and 6 carbon dioxide as waste. In the presence of oxygen, cells will use it to help break apart 1 molecule of glucose to produce 36 ATP, use up the 6 molecules of oxygen, and produce 6 molecules of water and 6 molecules of carbon dioxide as waste.
However, glucose is not the only energy rich molecule in nature. Some cells take Iron (III) and separate one of its electrons, forming Iron (II). This process releases a certain amount of energy which is then “captured” by ATP, just like with glucose. In this case, I believe 2 ATP is produced by the iron. Note that this doesn’t make the cell a chemosynthesizer, it simply uses iron instead of glucose for energy. I will explain chemosynthesizers later.
Other energy rich chemicals that can be used include manganese (IV), carbon dioxide, and sulfur. This process of breaking down energy rich molecules to harvest their energy in the form of ATP is called respiration. For example, aerobic (oxygen based) respiration, where oxygen is used to help break down glucose. Anaerobic respiration is breaking down energy rich compounds without the use/aid of oxygen, such as the iron example above.
Biosynthesis refers to the ability of a cell to create its own energy rich molecules, instead of having to search for them in the environment. Photosynthesis is a type of biosynthesis where a cell uses light (Photo-) to produce (-synthesis) glucose from chemicals, namely carbon dioxide and water, and producing oxygen as waste. It then breaks apart this glucose just like mentioned above to harvest the energy.
Wait a second Nick, doesn’t creating the glucose cost energy? Yes, yes it does, but not as much as harvesting the energy from it afterwards, so overall you actually make an energy profit. However, the energy profit is pretty slim, which is why most organisms that use photosynthesis to produce their own glucose don’t move (moving is very energy expensive).
Chemosynthesis is the same principle. However, instead of using light AND chemicals to produce energy rich chemicals, it just uses chemicals. Chemosynthesis is actually an umbrella term for many different processes. For example, cells that use hydrogen sulfide chemosynthesis spend some energy to produce glucose from hydrogen sulfide and carbon dioxide. Water and sulfur are produced as waste. The cell then breaks apart the glucose for energy, making an energy profit. Remember, a chemosynthesizer might not necessarily produce glucose, it might produce some other energy rich molecule which will then be harvested for energy profit.
Next a quick spiel on the environment and environmental variables.
Oxygen, Carbon Dioxide, and Other Gasses
The plan is to remove carbon dioxide and oxygen from the game as tracked compounds. We could potentially relegate other gaseous compounds to this position as well. This would mean these compounds are not shown as clouds, nor do they take up storage in the cell. They are still relevant in the processes that use them though. How can we model this? These are the options I can think of:
- On/off. Ex. Aerobic respiration will run if oxygen is present, and stop if its not.
- Above a threshold. Ex. Aerobic respiration will run only if oxygen is above a certain amount.
- Scaling. Ex. Aerobic respiration’s reaction speed will scale with the presence of oxygen. More makes it run faster, less makes it run slower.
We should decide on one of these approaches to take. I’m leaning towards the third one.
Some biomes may have more oxygen and some more carbon dioxide. What’s the point of this?
- It makes different survival strategies more or less “profitable” in different biomes.
- It limits your species to biomes that you can survive in, which is a big factor of real life ecology and evolution. If your species dies in the absence of oxygen, then you need to adapt to the biomes that do have it or adapt to live without it.
These are some of the big driving forces of evolution!
Other Environmental Variables
There’s also been mention of salinity, pressure, acidity, temperature, and sunlight. The arguments for the inclusion of these is basically the same as the two provided above.
Won’t all these environmental variables overwhelm the player? Ideally, no. Some of these variables will hardly fluctuate on the microbial level, so we can hide them from the in-game HUD and only display them on the Ecology page of the editor. Also note that some of these variables require senses to detect. If you don’t have thermoreception, you will not see a UI element displaying temperature (or it will just be blank or read “n/a”). Same with photoreception and sunlight. This means that a cell is unlikely to be able to detect all these variables at once.
Microbe Editor Ecology Page
Since I mentioned it, I’ll briefly explain that we’ve had some mentions here and there of having an additional “Ecology” page in the Microbe Editor where you can see what biomes your species is living and thriving in and choose which one to spawn into next. Here is one of the mentions (In-game encyclopedia).
If I forgot to explain anything or something is still unclear please bring it up. Once we finalize these concepts I will write up descriptions on these features and the theory behind them to the wiki.
I would agree with scaling.
I’m not too worried about overwhelming the player. It seems like our playerbase is expecting some complexity. Look at the relative success of Dwarf Fortress (arguably the most overwhelming game there is) for an example of how complexity can really distinguish a game if done in a way that still has the “fun” factor.
@NickTheNick This post is fantastic! It does a perfect job at what it wants to accomplish, that is bringing us all to the same page about these things. It‘s almost worthy of a mini-update entry in my opinion.
Regarding the content: I was sceptical of abolishing CO2 and oxygen as in-gameplay compounds at first, but now I‘m convinced, as it really is neither fun to die because you don‘t find oxygen nor realistic to have oxygen only in certain patches. I very strongly plead on having the oxygen levels scale per biome, however. It would be more realistic and would produce a greater variety of biomes.
The ecology page of the editor is a very good idea and something which we haven‘t discussed and thought out as much as we could have up until now. It also has some parallels to the ‚in-game encyclopedia‘ and because of that I‘ll mock up some concept images of how it could look like. I can‘t make them until after easter, however.
I worry about complexity a lot. I think this video does a good job of explaining the dangers of complexity.
And so I think it’s really important to use complexity in the right places to give the player a cool experience. I think a big part of that is cutting down on complexity in areas where it doesn’t make much sense. I think recently we’ve been doing a good job of trying to get the compound system to be simpler and that is great, I agree with Nick that is really strengthening the game.
I’m starting to come round to the idea of some sort of patchwide O2 value but I think it still needs more explanation. For example how much does O2 vary and how much impact does that have on your cell design? So is it that you just need to have larger ratio of cytoplasm / mitochondria to other organelles in patches with low oxygen? If so how much is the difference? Is it like doubling the amount you need or increasing by 5%?
In reference to non-oxygen based respiration this isn’t actually something we’ve discussed before so if people want these systems added they need to be designed. How does respiration work if you can’t use mitochdonria? Is there another organelle? Is it that cytoplasm will respirate in any environment and only mitochondria use oxygen?
“There’s also been mention of salinity, pressure, acidity, temperature, and sunlight. The arguments for the inclusion of these is basically the same as the two provided above.”
If you just want to make these into entries in an encyclopedia then I don’t mind at all what they are. If they’re going to have an impact on gameplay then we need to know, concretely and mechanically, how different ph affects a cell.
If it’s just that there’s some proteins you need to add in the editor to make your cell adapted to that ph level then I’m not sure that’s worth it, it doesn’t feel very interesting.
If it’s an effort to differentiate biomes then I think maybe it makes more sense to design mechanics per biome, rather than try to have high level variables, like ph or salinity, which vary between them. For example having ocean vents have heat spots and hydrogen sulfide, or abyss being dark, or coastal waters having some sunlight or tidepools having loads of sunlight which is so bright it damages you or arctic regions where there is ice.
I don’t know how many different biomes we need but I’d rather have 6-8 which feel really different and each have unique mechanics in them than 50 that all feel much the same. I think that would be a better experience.
I much prefer having heat/light spots to making them environment variables. For the same reason tjwhale mentioned
But everything else I’m all for especially since once compound absorbing works we need to get the process system working in the new engine so we might aswell move towards this.
I want to try to get some numbers on Oxygen and other gas variance in biomes in this thread. We can start with realistic numbers and then tweak them to reach a balanced and fun state.
Anaerobic respiration would be done in the cytoplasm. It would consist of mutating your cytoplasm from being able to perform fermentation to being able to perform iron respiration instead, for example. A mitochondrion is only able to perform aerobic respiration.
For the time being, I think anaerobic respiration (other than fermentation) should not be a concern for us to implement, but it’s nice to keep in the back of the mind as an option and something we could add in the future that opens up some options for more exotic life.
The two main instances I can think of are accessibility to biomes and response to environmental change. Certain biomes could be restricted from the player if their species cannot tolerate those conditions (such as an acidic geyser/pool, or the ocean surface where water pressure drops dramatically). We could also have hazards appear in game, like bubbles of acid that if swum into will burst and damage the player. Lastly, there could be natural events like ocean acidification, in which case all life in the oceans needs to evolve some acid resistance or be forced to go onto land.
We could also diversify it a bit so there are a few ways to resist these factors. For example changing the internal pressure of your cell adapts you to a specific pressure. Mutating a contractile vacuole, on the other hand, uses up ATP/s but allows you to change your internal pressure and thus have your species exist in the deep and shallow ocean.
We could also cut salinity if need be, as I feel like it’s not as applicable to Microbial gameplay.
I think on some level the game will be the average of all it’s parts. So including something strong will make the game stronger and dropping something weak will also make the game stronger.
There’s games like this http://pandemic3.com/ which have the mechanic of “click this button to adapt to a new environment” and it does work. It’s an interesting game to check out because it’s about editing microorganisms, feels a bit like how the patch system might work. For example we could have a button in the editor that makes you adapted to high pressure environments and you just click it and then it unlocks that biome. I think that works but I’m not sure that it’s very strong, it’s not really that interesting IMO.
One problem I have with the “click to unlock” system is that from a realism perspective I’m not sure that life evolves like that. I think it might make more sense to let people into a biome any time but make it really hard to survive there, because of it’s unique features. Then the player can adapt their cell over time while in the new biome. I think that’s quite a lot more realistic and would feel quite good to play, you conquer each area.
On the other hand I think the thing we’ve got developed really well is sunlight. So in the depths there’s low light so you can use bioluminescence to compensate. At the surface there are reasonable sunlight spots so you can adapt to that by using chloroplasts. Maybe in tide pools the sunlight spots are super strong and burn you and you can use pigments to try and adapt to that. We’ve even talked about having the type of star affect the colours of pigments that work best. I think that’s all really cool and makes up one of our strongest features.
So I think with this other stuff lets either design really good, interesting, systems which really strengthen the game or lets leave it out.
I think it’s possible we could do something with temperature, around the vents being very hot and an arctic / iceage biome that has ice / is very cold. I think there’s some potential there.
Pressure I’m not so convinced about, I think it only kind of makes sense if you change pressures a lot. Like an active organelle that lets you change pressure easily sounds great, if you could swim up and down, but you kind of can’t. The way the stage is sliced it’s kind of at constant pressure.
Salinity and ph need quite a lot more ideas if they were to become strong features. Acid bubbles do sound quite fun.
Yeah definitely, I think those are very good points. I do think though that environmental variables do add a lot of value and depth to the game. They create a “terrain” to the Microbial biosphere, in that different species will have access to different parts of the world. This is a principle that will be much more significant and fleshed out in Multicellular and Aware (and even be a recurring theme in the society stages), but will make its first appearance here. This terrain leads to “geographic” separation of organisms, leading to speciation and evolution. It also leads to different ecosystems forming in the different biomes because of the terrain barriers.
For example, you live in the deep ocean as a predatory cell and there’s a lot of competition with other predators. You can either evolve to try and beat the competition by going for more flagella or some damaging toxin, or you can evolve to change the internal pressure of your cells and migrate your species to the shallow ocean. Say you do go to the shallow ocean, and it’s mostly filled with photosynthesizing cells with little competition in the form of predators to feed on them. Your species now has hit the motherlode and easily becomes the apex predator in that biome. However, there’s always the possibility that migrating doesn’t turn out to be a good option, so there’s always an opportunity cost to it.
Another factor is that there can be multiple ways to adapt to the same environmental variable. For example acidity. You could evolve a thick cell wall that blocks acid from damaging the insides of your cell, but it slows you down and it increases the cost to reproduce. You could evolve an agent that you excrete in front of you that neutralizes acid and clears a path, but it costs a lot of compounds to produce. You could evolve a protein in your cell that makes you resistant to high acidity, but as a consequence your cell is not able to survive in normal pH environments anymore (so you become an acidophilic microbe).
Lastly, these environmental adaptations will cary over into the following stages. If you evolved acid neutralizing secretions in your microbe, then that can carry over into the Multicellular or Aware Stage where your species is able to secrete a liquid from their skin that protects you from acid, and your main competitor cannot (because he evolved from a different lineage of species) and that’s one of the reasons you are able to outcompete them.
I think TheCreator’s forum game on the proboards fan forum is a good example of how these different environmental adaptations can lead to some strategic and fun gameplay.
Those acid mechanics sounds cool. I like the thick membrane and the active defense. If the evolved protein is just a button in the editor I think that’s less interesting. I like your acid bubble idea, that sounds fun.
I think in general it’s great if being adapted to a different environment makes you look different. So pigments are great because you can see the difference.
Re migrating do you imagine all the members of your species moving to a new patch together? When we discussed this a while ago I was imagining it a bit more like that pandemic game where your species can spread to multiple patches and once it starts adapting it splits and you get a clade diagram of all the offshoots of your original species. Happy to discuss it more
Yeah absolutely. I think it’s best to avoid any adaptations that are just a single click upgrade or a boost without a tradeoff.
Yeah I was imagining migrating more like how you described it. Your population would spread to new patches, and if some of their new mutations made them less adapted to old biomes they would recede from those old patches. Also there would be the possibility that the species would split into new species as its population spreads across patches and each population adapts more to their patch.
Overall this process of migration could typically occur over several generations, so it’s not just like in one generation your entire species switches to a different patch, except for in cases of something like a natural disaster/ecological event.
This may change the direction of the thread a bit but I was thinking some more about your “atp as cpu” idea above.
Firstly I think in the editor it would be a fantastic thing to have for the player. I think it’s important to know how to balance mitochondria + cytoplasm vs other organelles and so having a bar showing how much power you can generate vs how much you use would really help. I think it’s one of those things that once we have it will feel really natural and useful.
Secondly I think it might be good if in regular swimming around that ATP were a compound like all the others, here’s the reasons I think that:
At the moment all the compound bars are the same, they represent a store of something. So filled is good, empty is bad. The power bar is a different kind of bar that works the other way round, empty is good (you’re not using much power) full is bad (you’re running flat out) and I’m concerned that it might get confusing because it’s so different. In the heat of the moment is it harder to monitor two different types of bars?
If ATP is a compound then overuse / sprinting / stamina kind of emerges from the system for free. Like imagine you have 5 flagella and 1 mitochondria, if ATP is a compound then you can play quite easily. You just sit still and let the ATP bar fill up and then when it’s full you can move really fast / sprint until it empties but then you have to stop and wait for a recharge. This is exactly how stamina bars work in other games and so I think is intuitive. It also makes it a tactical choice for the player, do you want to have more mitochondria and move at a slower speed but for longer or do you want to have less and move faster but run out of ATP sooner.
If ATP is in a power bar and having too many flagella means they all work less efficiently then the player can have the experience of adding flagella and getting slower and I worry that might be confusing. Whereas I think that adding flagella and running out of stamina / ATP faster might be more intuitive. Also if ATP is in a power bar then we might end up implementing a separate sprint mechanic that maybe has it’s own bar? And then it’s an additional thing.
I’d be interested to know what you think. I’d be keen to have the Power bar in the editor because I think that makes designing a cell much more obvious.
I opened an issue to track the progress of removing oxygen and CO2 clouds:
Looks perfectly doable @hhyyrylainen . One other thing, we need to add phosphate aswell as a compound and remove the amino acids and such.
Maybe that should be a separate issue?
I could add it in the bacteria branch aswell.
I see what you mean here but personally I don’t think it would be an issue, since I’ve seen a few games that pulled it off and once you got used to it it wasn’t an issue. I think it’s visually displayed a lot better though in some of the concepts for how to redesign the UI for its next iteration.
This would still be the case in the CPU system, but instead of storing up and then using ATP you are just directly storing up and then spending the glucose.
Ideally in the tutorial or the first time the player tries to exceed his ATP usage cap then we’d give the player a warning popup explaining that organelles would work at reduced efficiency.
As you said though these are some interesting points to consider for if we move to a CPU system for ATP and maybe it’s worth it’s own thread. I’ll move it to one now.