ATP as CPU


#1

Here’s an idea of how we could make ATP be just a balance and not a stored compound. Let me know what you think. This is a spinoff of discussion from the Compound Rebalance thread.

So currently ATP is a compound that is collected and stored just like the others. However realistically ATP is only created when needed and used up right away, and cannot be stored. ATP would be better represented as a balance than a collectible compound. For example, your cell will at rest use up a certain amount of ATP every second. This represents the basic energy needed to maintain the basic functions of staying alive, most important of which is maintaining the internal pressure of your membrane so you don’t explode. Certain organelles will also use up a certain amount of ATP every second as well. Some organelles, like flagella, will only use ATP when being used and otherwise will not use any.

On the other hand, your cell also produces a certain amount of ATP every second, using up your energy nutrients in the process. Cytoplasm performs fermentation (which I realize I have been incorrectly referring to as glycolysis all this time), which produces a small amount of ATP per second. Mitochondria perform aerobic respiration and produce a large amount of ATP per second.

Your cell can only use as much ATP per second as they are capable of producing. A good example of this is like a CPU, which can perform only a certain amount processing per second. It’ll rest usually at a low value such as 10% per second, but if you try to run many processes at once it will use up more and more until it caps at 100%.

Here’s an example with arbitrary numbers. Your cell has the following organelles which use the following amount of ATP:

  • Nucleic Core (Nulceus, ER, Golgi) -10 ATP/s
  • Lysosomes -15 ATP/s
  • Flagellum (I will explain this one later) Uses 5 ATP/s when active
  • Agent Secretor (I will explain this one later) Uses 5 ATP/s when active

And the cell has the following organelles/parts producing the following amount of ATP

  • Mitochondrion +32 ATP/s
  • Cytoplasm (1 hex) +2 ATP/s

So overall the cell produces 34 ATP and consumes 25 as its base rate, which is allowed (a cell designed in the editor with a negative balance cannot be saved/used). This leaves a remaining balance of 9 ATP. This means that the cell can use it’s flagellum to move, or secrete agents, but not both at the same time. This is since the cell cannot make that much ATP/s and the two of those would be -10, one more than the remaining balance of +9.

Here is an example of how we could display this to the player.

image
The right end of the bar would represent the total amount of ATP/s the cell is capable of producing. The filled area of the bar shows how much ATP/s the cell is currently using (just like CPU usage shown on a computer).
image
The bar would sit at a certain level when your cell is at rest (showing the base rate of ATP use) and increase as you do things like move or secrete agents. One way of thinking about what the bar is showing you is that its displaying how fast you are currently using up your energy nutrients (which could be glucose or iron or whatever).

This bar would then be shown somewhere on the HUD, as it is now. For example, in the UI draft I posted the other day…


…the green ATP bar would show what I explained above, with the filled portion showing the current ATP/s usage (ignore the text description of the ATP bar on the image).


#2

I think this is an interesting idea, here is a question I have about it, I’d be interested in what you think.

Assume that 1 mitochondria produces enough power for 1 flagella, just for this post.

If ATP is a compound then you can make two different types of cell:

the marathon runner: with 1 mitochondria and 1 flagella, it can produce ATP fast enough to run it’s flagella all the time and is only limited by how much glucose it has.

the sprinter: with 1 mitochondria and 5 flagella. It has to sit still and build up ATP but then, in a short burst, it can move really fast, with all 5 flagella running at full power. When it runs out of ATP then it has to move into a throttled mode and be slower.

If ATP is a cpu bar as you suggest you can make the marathon runner, no problem, but you can’t make the sprinter. If you try and put 5 flagella on and 1 mitochondria then the cell will always be in a throttled mode with each flagella running at 20% and so you move the same speed as the marathon runner (maybe slower from the extra drag).

Does that make sense? What do you think, is there some other way of allowing people to make sprinter cells? Maybe it’s not so bad to lose the sprinter cells.

I think NPC sprinters would make quite good enemies, if they’re faster than you but can’t keep it up then it’ll make for some interesting chases.

I think the cpu bar is definitely helpful when designing a cell, it really helps to know what your energy balance is like.


#3

I like the gameplay possibilities being able to store ATP gives.

I also like the idea that organelles would cost ATP to keep active.

I’d like to keep ATP as a compound to allow bursts but also have all organelles use ATP when they are active so you could turn off some of your organelles to be able to swim for longer.


#4

I agree with @hhyyrylainen

I like atp as a compound you store.


#5

@tjwhale Yeah that’s a good question to consider. One option is we could give the player a way to control the throttle of his flagella, so for marathon hunting a cell would have its flagella set to a low throttle to keep speed and thus ATP usage low, but for sprinting he would up the throttle to go faster at the cost of more ATP/s. I get that this may be a lot to add just for ATP as CPU though.

The flip side of this though is that what would be the main advantage of aerobic respiration (+38 ATP) over fermentation (+2 ATP) in the current system? In the ATP as CPU system it’s a big deal and means your cell can support a LOT more complexity. In the current system, it just means that your cell more quickly turns all of its glucose into ATP, which can be kinda bad if you go too far because it could take away glucose you’d want to keep for reproduction or agent production. My point here isn’t to push for the ATP as CPU system but just to raise this point that we could think about.

@hhyyrylainen Yeah I think that sounds good too. I’m good with either storeable or non-storeable ATP, but I think the main thing we should add that we currently don’t have is the base ATP cost of organelles. I think it would really help give the sense of urgency to the player of the need to hunt to survive. For example if I was just dropped into the forest right now with no civilization in sight my biggest worry would be finding food to stay alive, but currently the player can just sit still and nothing happens and that feeling of survival is not there.


#6

@NickTheNick

I think a place where the cpu bar would be awesome is in the editor. I agree with you that having a passive ATP cost for organelles is a good idea to increase the survival element of the game, that’s cool. And I think this means in the editor you need to see a bar of how much ATP you can produce vs how much you need and you can’t leave the editor if you can’t pay the passive cost of your organelles (as basically that means you can’t breathe).

I think in either system mitochondria can support a lot more complexity than cytoplasm in a smaller cell, so that’s the same, unless I’ve misunderstood. I agree with your point that you could end up in a situation where you have loads of ATP and no glucose.

To answer your question from the other thread: the reason I disconnected glucose from reproduction was just to get the very simplest possible process system going so we can build up from there. So I’m happy if we want to talk about it and add it back later, I just want to start simple.

My concern with it is what happens when you are low on glucose? So I feel it’s weird if your cell uses the last of your glucose trying to grow and that causes you to starve to death, maybe it’s not a huge deal but I think it’s a bit odd. We could make reproduction toggleable or automatically turn off when you’re low on glucose however then you can get stuck in the swimming around mode for a long time just surviving without getting to the editor. I’m not sure I’m comfortable with any of those options, happy to talk about it.