Prokaryote Gameplay


#1

So the idea has been raised a few times of having the Microbe Stage start earlier, as in with the first cell, not just the first eukaryotic cell. Here we can discuss whether it’s a viable idea and how it would work. I think it’s a good idea, but it does bring up many questions about how we would transition from prokaryotic to eukaryotic gameplay. One option is to simplify the prokaryotic phase a little bit so the it’s just a few generatons of swimming and hunting until you evolve a nucleus+ER+Golgi and become a eukaryote, and then unlock the fully detailed gameplay from that point on. Another option is not to simplify it, in which case I have an idea for it’s design below.

I’ve been thinking about it on and off and these are my ideas on how it could work. Obviously this is all a WIP, but points I am particularly unsure about will have a “(???)” at the end.

Introduction

  • The game starts with a brief cutscene where the player has no agency. It shows a small droplet of membrane floating through the water (a micelle/protocell). It then bumps into and absorbs a small strand of DNA, which floats into the center of the membrane and remains intact. This is the formation of the first cell. The player takes over this original species.

Starting Conditions

  • As explained in this thread, the original ocean will start with plentiful free-floating clouds of organic molecules (like glucose, amino acids, nucleic acids, etc).
Note

In fact, it’s more accurate to have the free floating organic molecules be around during the prokaryotic phase, since by the time eukaryotes evolve most of the free floating clouds would be gone since oxygenation would likely have occured. If you don’t know what I’m talking about read the thread I just linked above.

  • The compounds that will be found free-floating are:
    • Glucose, which the original species eats to make ATP.
    • Amino acids, fatty acids, and nucleic acids. The cells use these to grow, reproduce, and heal themselves.
    • Iron, hydrogen sulfide, manganese, and hydrogen cyanide. Cells can evolve chemosynthesis to metabolize these compounds. More on this in the adaptations section.
  • The other cells in the beginning will all be members of the original species. However, they will quickly diversify into their own species in the first few generations.
  • There will be free floating pieces of DNA called plasmids. The player requires phagocytosis to absorb these. Consuming them gives a small chance to receive a discount to editor costs the next time they reproduce (this represents the acquiring of foreign DNA increasing your gene pool), OR it could unlock an adaptation in the editor. The appearance of plasmids will diminish over the generations, both from other species eating them up and from an Oxygenation period if one happens.
  • Should NPCs allowed to become eukaryotes before the player?

Starting Gameplay

  • The starting cell will be extremely simple, basically just a membrane and the DNA strand you started with.
  • For movement, it can just drift slowly in different directions.
  • The starting cell can absorb small molecules through it’s membrane (Pinocytosis). It cannot, however, absorb large molecules or other cells.
  • The starting cell can only perform glycolysis, which means it can convert glucose into ATP to use as energy.
  • The starting cell can store compounds in its cytoplasm.
  • Simple chemoreception. The cell starts with the ability to see a small radius around itself (representing the ability to weakly detect concentration gradients of chemicals).
  • Cells cannot initially recognize each other, and thus members of your own species will still try to eat you.
  • It’s assumed that the original species starts with a simple cytoskeleton. This doesn’t affect gameplay.

Adaptations
The following is the list of evolutions a prokaryote can evolve to adapt their cell. A lot of these are just taken from the list of adaptations for a eukaryote, so we should probably go through and cut out ones prokaryotes shouldn’t be able to acquire.

Adaptations
  • Membrane
    • Phagocytosis: The cell can absorb large molecules and other cells.
    • Cell Wall: Reduces speed and maneuverability but makes you much more resistant to physical damage and toxins and extreme temperatures and engulfment and extreme acidity (or we could make it so that the cell wall has to be evolved to be particularly good at one of these forms of protection).
      • Fused Cell Wall: When the cell reproduces, the cell wall does not split and instead encloses both new cells. This allows for colonies to form inside a shared cell wall. (???)
    • Membrane Coating/Capsule: Can be adapted to protect against toxins or engulfment or acidic environments. Instead of slowing down the cell like the cell wall it simply uses up a lot of glucose and amino acids and fatty acids to repair when damaged and to grow when reproducing.
    • Internal/Osmotic Pressure: Change the internal pressure of your cell to allow it to migrate to other parts of the ocean with different water pressure levels.
    • Invaginations/Folded Membrane: Increases the surface area on your cell.
    • Vacuole: Allows the cell to store things more efficiently by inverting part of its membrane to form internal sacs.
    • Contractile Vacuole: Allows your cell to change its internal pressure by sucking in or ejecting fluids, allowing it to tolerate a range of pressures.
    • Endomembrane System (Endoplasmic Reticulum + Golgi Apparatus): Should this require invaginated membranes or vacuoles? Allows the cell to do something, but I’m not sure what, since it appears prokaryotes can already create proteins aka agents. (???)
    • Nucleus: Encloses the DNA inside an inner membrane. Not sure what evolving this would do. Maybe this has a small chance of unlocking when you consume other cells? Should the Nucleus be included as part of the same adaptation as the Endomembrane System? (???)
  • Cytoskeleton
    • Cilia: Come in three forms.
      • Motility Cilia: Cilia adapted to move the cell. Grant the player small boost in speed and good maneuverability for medium ATP cost.
      • Sensory Cilia: Cilia adapted for sensation.
      • Directed Cilia: Cilia that beat to push surrounding molecules or cells into a “mouth” area on the membrane. (???)
    • Flagellum: Grant the player high boost in speed and small maneuverability for high ATP cost.
      • Pilus: Replaces an existing flagellum. Allows the cell to ram into and puncture other cells. Stronger at physical damage than a fimbria.
      • Fimbria: Replaces an existing flagellum. Allows the cell to ram into and puncture other cells and steal their DNA or inject them with toxins or steal their compounds.
  • Proteins
    • Anti-freeze Protein: Allows this cell to survive sub-freezing temperatures (down to around -25 degrees Celsius).
    • Heat Resistant Protein: Allows this cell to survive temperatures above 40 degrees celsius. (Each upgrade to this protein boosts the cap with diminishing returns. The boosts plateau at around 80-100 degrees).
    • Lysosomes: Allows the cell to much more effectively digest large molecules and other cells that it consumes.
    • Digestive Enzymes: Allows the cell to eject proteins that will digest hostile cell walls or cells or large molecules, which the cell can then go and slurp up.
    • Peroxisomes: Allows the cell to detoxify hydrogen peroxide and alcohols and other things that are toxic to it (like oxygen if the cell is anoxic). (???)
    • Photoreceptor Protein: Allows the cell to detect light. Step 1: Presence/Absence, Step 2: Gradients/Direction.
      • Lightspot/Eyespot: Requires photoreceptor protein. Allows the cell to more easily see light and have an expanded visibility radius.
    • Chemoreceptor Protein: Allows the cell to detect chemicals. Step 1: Presence/Absence, Step 2: Gradients/Direction.
    • Thermooreceptor Protein: Allows the cell to detect heat. Step 1: Presence/Absence, Step 2: Gradients/Direction.
    • Electroreceptor Protein? Mechanoreceptor Protein?
    • Binding/Adhesion Protein: Allows the cell to stick to other cells of its species.
    • Signal Protein/Agent: Allows the cell to communicate and coordinate with other cells. Comes in different forms. Allows cells of the same species to recognize and not attack each other. Later iterations allows them to cooperate and then even coordinate (Quorum Sensing).
    • Bioluminescent Protein: Creates bioluminescence.
    • Pigment Protein: Allow your cell to withstand UV radiation and gives it a particular colour.
    • Acid/Base Resistant Protein: Allow your cell to withstand more extreme acidity/basicity.
  • Energy Synthesis Proteins
    • Photosynthetic Protein (Chlorophyll): Allow your cell to perform photosynthesis.
    • Respiration Protein: Allow your cell to aerobically respire (breathe oxygen).
    • Fermentation Protein: Not sure what the chemical process would look like. It looks like there are a few different forms of fermentation. Is this just glycolysis?
    • Chemosynthetic Protein: The problem is there is no one set way to perform chemosynthesis, it’s just a category for many ways to obtain energy from chemicals.
      • Nitrogen-fixing Protein (Nitrogenase): Allow your cell to perform chemosynthesis by turning nitrogen into ammonia.
    • I’m not going to go through all of them right now. This page goes through many of the possible chemosynthesis, photosynthesis, and thermosynthesis processes that are possible. The point here simply is that eukaryotes must evolve an enclosed organelle to perform these processes inside of, but prokaryotes can just evolve a protein and do it in their cytoplasm. The question is what happens when a photosynthetic prokaryote becomes a eukaryote. Does it automatically acquire a chloroplast? I feel like that would be the simplest solution.
  • Other
    • Cryobiosis/Endospores: Allows your cell to freeze all processes and enter a dormant state until conditions are favourable again.
    • Horizontal Gene Transfer I: The cell can try to acquire the DNA of cells that it eats (Transformation). This has the same effects as absorbing a plasmid.
    • Horizontal Gene Transfer II: Requires HGT I. The cell can stick to other cells and try to acquire some of their DNA (Transduction/Conjugation).

Questions

  • What can the prokaryote not do because of the lack of nucleus and golgi+ER? How do we incentivize the player to evolve these? (I thought they wouldn’t be able to produce proteins/agents but turns out they have ribosomes as well)

Notes

  • Yes, this is a belgium-load of adaptations, but I think if we can present them properly to the player it will make the game more fun not more confusing. It will make it possible to have so many different types of life in different environments and each replay of the game will feel different.
  • We do need to rescale the hex grid to allow smaller organisms, since prokaryotes are about 100x smaller than eukaryotes.
  • Adaptations that we want to restrict to prevent cells from acquiring right away can be locked at first and require acquisition of plasmids or DNA stealing from other cells to unlock.

Cellular Movement
Evolution of Early Planets
#2

Prokaryotes lack a lot of organelles, which make individual processes significantly less efficient than in Eukaryotes.


#3

Thinking about it a little more, I think one way we could make a good distinction between prokaryotes and eukaryotes is:

  1. Merge the nucleus and endomembrane system (ER+golgi) into a single organelle called Kernel/Nucleic Core.
  2. Restrict a lot of adaptation options to cells with a Nucleic Core, like lysosomes, peroxisomes, lightspots, possibly higher levels of receptor proteins, most/all types of binding or signal proteins, etc.
  3. We could also possibly make editor costs cheaper for eukaryotes than for prokaryotes, since the nucleus allows eukaryotes to have a lot more genes and thus a more diverse gene pool for evolution.

Also, side note, from my reading it appears that prokaryotes cannot phagocytize?


#4

Pretty sure there are no prokaryotes that can phagocytize, but maybe there could be an intermittent period where the player can evolve vesicles before the nuclei allowing them still use it. I see the prokaryote stage as being sort of a pseudo tutorial, where they can get the hang of each organelle/feature of a eukaryotic cell gradually as they evolve. This is also a non-Earth planet I assume, so I wouldn’t get caught up too heavily in the nitty gritty details. I wouldn’t consider phagocytosis in prokaryotes as a massive mental leap from reality.

This might be taking it too far back but if the origin of the player’s species is from hydrothermal vents you could even have it start with the original formation of the membrane and from there they could customize it to either be tougher and more rigid, or thinner and more fluid.


#5

Personally I think the way to design games, in general, is to start with good gameplay and design outwards from there. This is a great list of things we could possibly do, however I think it’s really important to focus on the players experience.

For example

“For movement, it can just drift slowly in different directions.”

and

“The cell starts with the ability to see a small radius around itself (representing the ability to weakly detect concentration gradients of chemicals).”

This is going to be the first thing a person plays when getting into Thrive, just drifting with no control and not being able to see very much. Do you think this is a game you would want to play? Is this a cool, fun, experience?

And how do you progress, you have to drift until you randomly get enough DNA to go to the editor and finally add some method for movement? That sounds really frustrating if you float close to some and then the current pulls you away.

“We do need to rescale the hex grid to allow smaller organisms, since prokaryotes are about 100x smaller than eukaryotes.”

Again this is a big complication in terms of gameplay. How do you interact between these scales? Surely if you are 100x smaller than a Eukaryotic cell to you it will appear as almost a flat wall. And if you are Eukaryotic you will no longer be able to see the prokaryotes? Or are they just indistinguishable dots?

Personally I think it would just be much easier to keep everything we have now and just allow cells to have no nucleus + Er + golgi (which I agree should probably be one thing). I also think that if a cell has no flagella it should be allowed to move at 50% of top speed.

This means when you start you can just be a couple of hexes (maybe even a single hex) of cytoplasm but you can move around and start collecting things and then, when you get to the editor, there are loads of choices of what to add and how to expand.

Then we can iterate on this and add more organelles and add more of your ideas above if they improve the experience for the player. I think it’s great to come from a place of realism and the list you’ve made does that very well. I think also gameplay needs to come first.


#6

Oh definitely not haha, I mean drifting that you can control. I just called it drifting to distinguish it from ameboid movement and the swimming/undulation of having cilia/flagella. As you said I don’t think a cell without movement organelles should be completely uncontrollable and immobile, only slower than a cell with a movement adaptation.

In the past there were ideas of the original cell starting out by pointing and clicking spots on the screen and your cell drifts there (so you’re not actively pressing WASD), but I don’t think that would be as fun.

By this I mean approximately the radius that the player can already see around their cell. Then later upgrades of chemoreception would allow you to see a wider radius around yourself when you zoom out (but plateauing at a certain point). We’d need to make sure to balance it so the initial radius is not too restricting and the upgraded versions not too revealing.

Reading over some other sources it seems like on average the difference is only around 10x, with more extreme cases being 100x or more. I do think we should rescale the hex grid anyways for some other reasons also, but that’s something we need to test out first to see if it’s a good idea. Otherwise yeah we could just have the player start as a single hex.

@BadOmen I think it may be a good idea to lock phagocytosis to eukaryotes anyways to incentivize the player to evolve a nucleic core.

Yeah membrane fluidity/rigidity will definitely be an editable trait as well. There is some good concept art on this as well from a user whose name I forgot but also made the latest devblog concept art.


#7

I’m starting to like the idea of having the player start with a simpler cell to act as a sort of tutorial and allow some quick progression without us having to make any new stages.

Regarding rescaling the hexes there’s a potential issue with that as each of the hexes is an individual collision object (that are merged together to form a single rigid cell collision shape) and many of the organelle adding and removing functions read a lot of the hexes. So there may be a quite a big performance hit if we change the hex count too much, but this can be fixed by doing an alternative approach which needs extra work.

Also there should be an option when starting a new game to skip to the current start of the game as I think it will still be more interesting even with all the possible early things to evolve.

Regarding this we should have a big button at the top of the new game configuration screen that says “Use new player friendly options” and a warning text saying new players need to choose it or they will be confused.


#8

Hm, it may be worth considering the merits of a hex rescale then, because one of the flaws I see in the current size is that the individual hex is too big, so the minimum size for organelles is a little limited. However it’s not too serious of a problem, and definitely not worth a performance hit.

I see what you mean, but I think prokaryote should ideally be simpler and a better introduction than eukaryote gameplay. Prokaryotes metabolize and reproduce more quickly, and the starting environment when prokaryotes evolve would have a lot of untapped free-floating nutrients. A eukaryote will just be like an “enhanced” prokaryote, with the same gameplay but several more options available in the editor than a prokaryote would have. I think it would be a good idea though to allow a player to skip the prokaryote section if they wanted to.

I think one difference is that prokaryotes don’t have organelles for processes like photosynthesis (chloroplast) and aerobic respiration (mitochondrion) that players are familiar with, instead doing the processes right in their cytoplasm using proteins.


#9

As an additional thing, i said this on slack aswell:
So i’ve been thinking about some things, when i start a new game in thrive. The tide pool im in doesn’t feel like another planet to my last play through at all. So I suggest we get some meshes for different bits and bobs that can be floating in the water that could vary from tide pool to tide pool, what do you guys think? We could even vary chloroplast color by a variable that defines our star type if we want (it shouldn’t be hard to change a textures hue with code presumably, though im still familiarizing myself with the codebase as its been awhile)


#10

Yeah definitely, we could use a combinations of graphics and biome differences and compound availabilities to make each planet and biome feel and play different. (This is the wrong thread though this is for discussing a possible prokaryotic section of the Microbe Stage)


#11

So after finally getting time to read through this thread (break til 1:30 ish). I am in support of these changes. Also I’m not sure it’s nessecary to rescale the hexes in the editor. While useful . I think having the player simply start as 1 hex seems like the best way to start a tutorial. As long as we can ensure that the player will be large enough to hold a nucleus without going through ten generations.


#12

Just read through all of this and I can see the benefit of having the tutorial be the prokaryote stage. If you skip you just go into one of three to five eukaryotic cells. To separate the two (going off the hex size change idea) we could instead use triangles to represent the same editor area as the hex form has, since you can form a hexagon out of triangles it would naturally feel like an increase in size, at least it does to me. Thinking on how polygons are just 3d triangular objects that when added together increase the complexity, now we have polygons of different shapes due to increased algorithms computers can handle these days.

Membrane rigidity at last! That can have other uses where the more rigid the membrane the harder it could be to gather materials. A trade off to protection and speed could be that. I’m thinking of it as choosing a tank over a smaller sports car, developing faster movements would be like getting a tuneup or better engine all together and that could happen with the jump into the hex mapping editor as another leap up from the triangle form.

In summary; triangle editor for simple beginning prokaryotic and hexagon editor for the eukaryotic.


#13

My feeling is that, in general, a good way to approach the stages is to have 1 big editor that is able to make anything in the stage. Further there should be very few restrictions on what is allowed at any time.

For example in the late multicellular you should be able to make an animal with the body of a lion and the wings of an eagle and the skin of a salmon if you like. Everything should be able to be combined with everything else.

And in the microbe stage I think a good way of progressing would be to:

  • start the game as 3-5 hexes of cytoplasm and let all cells move (even if they don’t have flagella)
  • allow the player to add pretty much any organelle to their cell at any time, including the nucleus, which is an optional organelle
  • lock some upgrades / organelles behind the nucleus, meaning you need the nucleus to have them
  • start all ai cells as blobs of cytoplasm

I think this would give the player loads of freedom to make any kind of cell they like by mixing and matching any organelles they want. It allows every play through to be different and it allows for a lot of progression.

It’s also only a small change to what we have now, meaning it’s a lot of content for only a little work.


#14

I’d like to add that @Untrustedlife has been putting a lot of work into this topic.

Currently the prokaryotes (bacteria) in the game have access to respiratory proteins, photosynthetic proteins, and oxytoxy synthesizing proteins. If the player absorbs these bacteria they have a chance to unlock mitochondria, chloroplasts, and toxin vacuoles respectively.

Personally, I’d rather start the player off in the editor with a small amount of funds to decide if they want to start off plant-like or animal-like (photosynthetic proteins or respiratory proteins) or some combination. They could even purchase a flagella right at the start if they’re willing to sacrifice elsewhere. I like this better than a few hexes of cytoplasm because it offers a choice right at the start and gives you ways to generate ATP.


#15

That’s a great idea, I was thinking about that earlier aswell, we start the game with a bunch of bacteria with their cell walls (or at least capsule shapes) and proto-eukaryotes with microbe membranes the difference you ask? The proto eukaryotes can engulf, and then it’s a race for the proto-eukaryotes to the top, absorbing other cells with their proteins can unlock the respective organelles (respiratory proteins unlock mitochondria, etc) as andross mentioned earlier, also, fun fact dream I mentioned on slack allowed customization of the microbe at the start so +1


#16

(Of course changing the whole start of the game probably should wait til 4.1 or so) not nessarily the upcoming release. But for the next release I’m totally in favor of locking the mitochondria out at the beginning. (But maybe we could redo the whole start in a timely manner who knows)


#17

Just to throw in my thoughts on the discussions recently in Slack on prokaryote gameplay.

Game Start

I think the best start is to start as a single hex of cytoplasm. The only thing you can choose is your initial mode of respiration (i.e. what molecule you consume to produce energy). For many cells it’ll be fermentation, which is using glucose to produce energy (using oxygen to break down glucose, aka aerobic respiration, hasn’t evolved yet). For some cells though it’ll be using iron, and for others maybe some other chemical.

That is all you can choose. Then you spawn as the single hex and you swim around (albeit slowly since you have no movement organelles). I think it’s better not to start in the editor, but to save that to “reveal” to the player later, when they reproduce for the first time. I think it makes more sense to introduce them to the gameplay first, then to the fact that they can customize their abilities for the gameplay.

This basically leaves the player with a totally blank book to write the story of their species’ evolution, instead of starting with some of it already filled up. I was thinking we could even start the game with a cutscene of floating DNA merging into a floating bubble of membrane (called protocells or mycelles) to form the first cell, which the player then takes over and plays as.

Prokaryote Organelles

There was also a question about how to handle the transition of prokaryotes, who use proteins to do photosynthesis and aerobic respiration, to eukaryotes, who use chloroplasts and mitochondria, also called endosymbiont organelles. There were two approaches that were brought up (please point out if I’m missing any) on how to implement the energy producing organelles (Bioenergetic organelles? Energy Organelles?).

A) Proteins auto upgrade into endosymbiont organelles: If you are a prokaryote, and you evolve into a eukaryote, then all of your proteins automatically evolve into their eukaryotic counterparts (like aerobic respiration proteins into mitochondria). If you ever evolve back into a prokaryote, the organelles also evolve back.

B) Proteins and endosymbiont organelles can exist simultaneously, but endosymbionts are more efficient: From Andross’ post: “I like the idea of protein organelles as well. In fact, I think that these should still be options for Eukaryotes. My idea is that any cell can have these proteins, they are less expensive (mutation point wise), less efficient, but don’t require a nucleus to function. Then, the organelles that we currently have in the game would be “upgrades” in the sense that they are more expensive, more efficient, but require a nucleus to orchestrate their functions.”

I personally think option A is better, because it allows for a quick and easy transition between them and is overall pretty simple. What do you guys think?


#18

Naturally since I proposed idea B I prefer it. One big argument is that I don’t really like the idea of removing options from the player that they previously had.

I like the idea of starting as a blank slate but I’m worried the start of the game would just be painfully boring if you’re forced to play a single hex.


#19

I disagree with option A, mainly because then there’s no point to endosymbiosis and unlocking the mitochondria if you already have aerobic proteins. Although, depending on when the transition from pro- to eukaryote occurs, aerobic respiration might not evolve until way later. Still, you’ll immediately have your proteins as endosymbiotic organelles which eliminates the need for doing endosymbiosis and unlocking them yourself. I guess it depends on how much endosymbiosis we want the player to be doing and whether that’s good gameplay


#20

@NickTheNick I agree with that start, sounds great.

@andross I think we can test whether being a single hex is boring relatively easily. You can still swim around and avoid other cells and eat nutrients. Moreover you would only be a single hex for one session and in your first editor session you could add more interesting organelles (for example pilus) which would open things up nicely.

I also think it would work well as a tutorial, if the player can only move they can learn how to do that before unlocking new abilities and learning how to use them in a gradual way.