Gameplay is generally divided into two main areas – the environment and the editor. In the editor, the player can build, program and test their own species, before using the species in the environment. The player alternates between these two locations, but overall should spend longer in the environment.
Table of Contents
Environmental gameplay is based on exploration, resource collection and interaction with other microbes. The player controls an individual microbe of their species, travelling throughout the tide pool. At the same time, changes made in the editor will determine the success of their species as a whole, while NPC species evolve automatically through a complex algorithm to provide potential enemies or friends for the player.
Compounds (any substance used or produced in metabolic reactions, like glucose, ammonia or oxygen) can be found throughout the environment in various forms – floating in the current (compound clouds), concentrated in certain areas (heat or light spots) or within other microbes. Microbes (including the player) extract these compounds in various ways to process them, turning them into other compounds which can either be utilized or are released as waste products.
One of the player’s main jobs is to keep this system running as effectively as possible, which they can do in three main ways – collecting enough compounds from the environment, building a functioning metabolism in the editor through organelle pathways, and manually editing the priorities of each organelles’ use of compounds on the fly. The player must choose which processes to prioritise to get the maximum efficiency.
NPC microbe species will use the same systems concurrently, processing environmental compounds to produce their own energy. Many will have procedurally generated agents – specialized compounds made by a cell for a specific function – which can affect other microbes (including the player) in a variety of ways. Some might increase or reduce an organelle’s efficiency (flagella may become less effective, for example, making enemies slower), others may provide immunity to certain agents, some might be used to glue microbes together into colonies, and others still might act as signals for danger or nearby compound reserves. The player is also able to make these agents by synthesizing them in the editor.
When the player's cell stores enough compounds in a locked-up mode, they may enter the editor. Here they can build the structure of their microbe, change its appearance, edit the AI of other members of their species, create their own agents, and test possible microbe designs. All edits cost a certain number of Mutation Points, and a maximum number of Mutation Points is given to the player in each editor session (determined by difficulty level). This currency prevents unrealistically high changes to a species within a single generation. Locked-up compounds are produced automatically from available microbe compound stores, but once locked-up, they cannot be extracted or used elsewhere.
By evolving their own species, the player is able to keep pace with evolutionary change in NPCs. Changes to NPC species are randomized (though they’ll still be limited within each generation by a theoretical store of Mutation Points) and the most successful will survive to pass on their genetic information, in a mirror of real world Darwinian evolution by natural selection. New species will arise often as NPC cells divide with different genetic codes, and sometimes individuals from the player’s species may have offspring of a new species. The entire evolution process is handled by a set of algorithms collectively known as Auto-Evo.
Sometimes the player or AI may evolve new organelles, allowing new abilities. New organelle types come from several sources, including endocytosis (where free living bacteria are engulfed by a microbe) or upgrades from existing organelles (cilia can evolve into flagella and vice versa). The player may use new organelles in the editor once they have been unlocked.
Microbes may engage in combat with one another, using agents, engulfing, or “spikes”. Killing a cell will release its stored compounds into the environment, creating a plentiful supply and allowing some species to evolve scavenger-like symbiotic relationships with predators.
Gradually, colonies of cells will start to form as more and more species utilise signal and binding agents. Colonies provide protection and other advantages, and the game environment should be weighted towards making them the most viable survival strategy towards the end of the game. Complex binding agents should also only be made available towards the end of the game.
The microbe stage ends once the player’s colony exceeds a certain number of individuals and collects a certain volume of compounds. These are temporary win conditions as this is the beginning of the transition to the multicellular stage. Once that stage is completed, the player will continue playing with new game mechanics, now a macroscopic organism ready to take on the world.
Note: These controls are only for platforms using the displayed keyboard design. Other keyboard types or controllers may have different controls, but they can always be rebound through the main options menu.
The player’s control set varies depending on the game screen. One key may have a different function in the editor and environment, for instance. Left click and mouse movement are available at all times other than cutscenes. Escape, enter, the spacebar and left click will all skip cutscenes, returning the player to the title screen.
All controls for all game states (except non-binary inputs like mouse movement and the scroll wheel) can be rebound in the options menu.
The image above all default key bindings for the microbe environment, with the exception of mouse movement and left click, which are discussed below.
Movement in the environment is always relative to mouse position. The player’s microbe is held at the centre of the screen, pivoting to face the cursor. The player may move across a 2D plane by using WASD (forward, left, right, backward) relative to cursor position. For most microbes, free movement is impossible due to strong water currents. These currents do not impair rotation – pivoting speed is determined solely by a cell’s inertia, and in most cases is effectively immediate. Rotating does not use ATP, but movement does depending on the organelle in use. If the player opens and closes a panel (such as help or the main menu confirmation dialogue), microbe orientation will immediately snap to match the cursor’s position afterwards.
Zooming in and out is handled by scrolling the mouse wheel up and down respectively. Zoom is bound between an upper limit (less than the total area rendered in the player’s patch) and a lower limit (around the size of the starting microbe).
The player can rotate the camera by right clicking somewhere and dragging. If instead they release without moving the mouse, the input is registered as a right click, used to select NPC microbes and open their fossilisation panel. Camera rotation is limited to pivoting on a 2D plane around the player microbe.
O and P are used in combat for engulfing and stabbing respectively. Each is only possible if the player has the necessary organelle(s) and if another microbe is in range.
Many other key commands are hotkeys bound to in-game buttons. Some, like entering the editor, are only active if certain demands are met (in this case, having enough locked-up compounds). Others are always available – for instance, even if the quick menu isn’t open, the player can still save their game directly by pressing Q. Some commands do both the direct and inverse of an action, like opening and closing a panel in respect to its current position.
Key commands for releasing agents are set in the editor when a vacuole or agent secretor is selected, but they default to the number keys in order of when an agent is added (so the first agent the player adds is assigned to 1 by default, the second to 2, and so on).
Many of the controls in the editor are the same as in the environment. Hotkeys for save, load, etc. do not change to prevent confusion for the player. The main difference is the inability to move, with hotkeys for each editing panel replacing the movement keys.
Some actions are again situation-dependant, like using delete to create a new microbe (free edit mode only). Shift cycles the symmetry option in the same manner as clicking the symmetry button.
Backspace is mapped to undo, but control + backspace is mapped to redo. Both are situation-dependant.
All controls revert to environment controls in the test area.
Pictured is a simple microbe (or cell) making use of both early and late game abilities, with labelled organelles.
Any microbe (whether the player’s or otherwise) consists of five parts – cytoplasm (the fluid inside the cell), cell membrane (the outside of a microbe), internal organelles (functional parts with certain abilities held within the cytoplasm and cell membrane), external organelles (organelles attached to the outside of a cell’s membrane) and a periphery organelle (full-membrane covering organelles, of which there can only be one). In-game, organelles slowly float around inside the cytoplasm, though they don’t move far from their initial positions. The membrane will distort based on the cell’s interactions with the environment, especially during movement.
Most microbes have minimal ability to move of their own accord. Though pseudopodial movement could allow any cell to move in extremely calm waters, this will never happen in-game, so microbes generally follow the current. Their inertia (determined by their size, stored compounds and organelles) can affect how much they move. Heavier cells will only move significantly in stronger water currents, but at the same time they would require more of their own propulsion organelles to move autonomously.
Cells with flagella, cilia or lamellipodia can move against water currents. The more they have, the stronger this force will be (for periphery organelles like cilia and lamellipodia, upgrades in movement ability are available). Lamellipodia only help when the cell is attached to a surface (either another cell or an environment feature).
A cell wall, shown in the image as a green border, makes the membrane more rigid, so any cell with a cell wall won’t have such a flexible membrane. Cell walls are also relatively heavy, and prevent the placement of any external organelles other than agent secretors.
All microbes absorb compounds from the environment. They then process them in different ways depending on their organelle makeup – mitochondria, for instance, enable aerobic respiration, where oxygen and glucose are converted into carbon dioxide, water and energy. A microbe’s energy is stored as ATP, and each microbe has a total ATP level representing its ability to perform actions. Some processes consume ATP or compounds, others produce them, and some do both. Vacuoles store useful compounds, while waste products are released into the environment.
Absorption and excretion of compounds are handled by osmosis or active transport. Both happen passively as far as the player is concerned, except in cases where osmosis cannot be kept in check and a cell dies by osmolysis, so much water entering the cytoplasm that the membrane bursts. This will only happen if organelles are sufficiently damaged. In the lead up to death by osmolysis, a cell will swell to represent its inability to maintain water control.
Movement and Exploring
The player’s main task for much of the game is to collect compounds by exploring the environment, but the game world contains many elements, both useful and hostile. All elements are procedurally generated, and the world outside the player’s patch is only simulated in brief, so leaving and returning to the same location won’t show the same items in the same positions as were there previously.
A microbe’s movement is hampered by water currents based on a fluid dynamics simulation. Without flagella, cilia or lamellipodia, a microbe will be caught in these currents, helplessly travelling into the range of predators. Every microbe does have some latent pseudopodial movement, so in extremely calm water they may have some movement control, but multiple movement organelles are required to overcome the currents.
The player’s microbe will always point towards the cursor, except in cases where its inertia makes rotation slower. Movement uses WASD relative to cursor position, with the microbe kept at the center of the screen at all times.
Depending on the biome location, the environment may look quite different, and compound concentrations will vary. For instance, tidepools are well-lit habitats with many light spots but few heat spots, making them perfect for photosynthesizers. Hydrothermal vents, on the other hand, are dark and full of heat spots, a better environment for thermosynthesizers. It’s generally more difficult to play in a hydrothermal vent biome due to the lower visibility, especially if LAWK is enabled so no microbes can use thermoplasts.
Other biomes can be reached by travelling large distances in a single direction. There is some order in how biomes feed into each other – it’s not possible to travel directly from a tidepool to a hydrothermal vent or vice versa, for instance, as the player must pass through an open ocean biome. Visuals change gradually between biomes or patches.
Throughout their travels, the player will encounter several things. Primarily, NPC microbes (of both the player’s species and others) will also be trying to survive using the same mechanics, and the player can decide whether to be hostile, ambivalent or friendly towards other microbes, even of their own species. Free-living prokaryotic bacteria of various types can also be found swimming throughout the environment (some may have miniature flagella allowing free movement, others may not). Each type is coloured differently, and can be assimilated with a small chance of endocytosis, the player unlocking new organelles.
Compound clouds are a major feature of the environment. When released into the environment, compounds are represented by a colored cloud, each color linked to a specific compound. Agents are the same, though agent coloration is more nuanced and difficult to decipher. Clouds expand following the routes of water currents, eventually fading as they become dilute. Entering a compound cloud will automatically collect that type of compound if a microbe has enough storage space for it. Agents target specific organelles or change the way an AI microbe behaves.
Two other environmental compound displays are heat spots and light spots. These are randomly shaped blobs of slightly tinted water which don’t move with water currents. In light biomes like tidepools, they are of little use unless the player has chloroplasts or thermoplasts. Chloroplasts can use light energy from light spots to photosynthesize, producing energy for a microbe. Thermoplasts do the same in heat spots. Heat spots are more prevalent around hydrothermal vents.
Occasionally the player may encounter surfaces. These are underwater rock formations which block movement and water currents in a particular direction. Surfaces are of particular importance to lamellipodia-wielding cells, which can travel against water currents by crawling along a surface using ATP.
Resources in Thrive are known as compounds, though they aren’t limited to the scientific definition of two or more elements bonded together. Compounds in the resource sense can be elements (like oxygen), compounds (such as ammonia), or other substances (chemical agents or toxins).
Compounds are distributed throughout the environment in various states – compound clouds in the water, collected by organisms, locked up in organisms, and locked up in inorganic objects. The compound system is set up so that, to all intents and purposes, no compounds leave or enter the total ecosystem. Compounds can change form (by combining or splitting other compounds, like breaking water down to hydrogen and oxygen), and the amount of compounds present in a system is measured in a derived unit based on moles.
Each compound has a particular weight value. This doesn’t affect much gameplay-wise besides the maximum storage capacity of vacuoles for each compound. A vacuole can store more oxygen than carbon dioxide, for instance, as the latter has a greater mass.
Microbes collect compounds from the environment automatically. Consuming compounds requires no ATP. Instead it’s accepted that each cytoplasm hex draws a fixed amount of ATP at a fixed rate to operate its ion pumps, consuming or releasing compounds to keep concentration gradients in place.
To take in a compound, a microbe must swim through a compound cloud. Compound clouds are based on a grid representation of environmental resources. Their concentration can vary, and with higher concentration comes a cloud with a more intense colour.
Microbes absorb compounds until they no longer have the storage space or processing capacity for them. If a microbe has no vacuoles for compound storage, it will absorb compounds at the maximum rate its metabolism will allow (i.e. it absorbs a compound as fast as its organelles use it, but no faster).
Waste compounds are also ejected if not used within the cell or stored in a vacuole. Microbes swimming through a compound cloud they do not have storage for and can’t process will not absorb anything.
Changing compounds into other compounds can only be done if a microbe has the necessary organelle to perform that process. Aerobic respiration converts glucose and oxygen into carbon dioxide, water and ATP, but can only happen in mitochondria. Each organelle has a maximum functioning speed, which in most cases can be upgraded.
Agents are special compounds with powerful effects, and most are made from the same constituents for the sake of simplicity. Converting incoming compounds into agents is done using the golgi apparatus and endoplasmic reticulum, which consume ATP at a fixed rate whether performing this task or not.
An NPC is any in-game entity which can think for itself. There are two main NPC types: eukaryotes and prokaryotes.
In scientific terms, a eukaryote is any cell which contains a nucleus. These types of cells are generally referred to in Thrive as ‘microbes’, while prokaryotes (which contain no nucleus) are known simply as ‘bacteria’.
Most of the player’s in-game interactions will be with eukaryotes, since they are themselves one. Eukaryotes evolve both physically and behaviorally, and can obtain any organelle or agent abilities given enough time. Nearly all the player’s functions are mirrored by NPC eukaryotes – they move, attack, metabolize, etc. just like the player. Some are even the player’s own species.
Microbes evolve using a subset of the CPA system known as Auto-Evo, making incremental changes each generation, leading to speciation and evolution by pseudo-natural selection.
AI microbes also evolve behaviorally. While the player has access to the behavior editor for targeted changes to their own species’ AI, NPC microbes learn about their environment over several generations, becoming gradually smarter. AI species use a variation on a neural network – through trial and error, microbes can rewrite their own “brains” depending on their experiences in the environment. This is somewhat Lamarckian, but we’ve let it slide. A species can develop a learned response to certain stimuli – for example, if another species repeatedly used a lure agent to catch prey, a microbe might eventually learn not to fall for the lure. The exact systematics are complicated and the success conditions haven’t yet been ironed out, but it should work similarly, and often alongside, the CPA system.
To prevent a species being useless in its first few generations as it takes baby steps into the environment, the default microbe is already implanted with a set of basic instructions. These actions are along the lines of: swim towards a compound if your stores of it aren’t full, swim away from a microbe if it has a predatory pilus, swim towards a lure, etc. These match the starting behavior blocks in the player’s behavior editor, determining the AI for their own species.
Microbes can interact with one another in a number of ways. Agents secreted from one microbe can affect others (as well as itself) in various ways, all discussed later. Some can develop resistance to certain agents, but resistance does not go hand in hand with the ability to use an agent.
Eukaryotes also have the capacity for combat, described in the next section. When a microbe dies, its stored compounds and organelles spill into the environment. Each organelle contains locked up compounds, available if broken down.
Along with eukaryotes, a substantial portion of an environment’s biomass will consist of prokaryotes, or bacteria. Bacteria do not evolve, but do reproduce asexually (this is done to ensure their population doesn’t diminish). They come in multiple types, and can be utilised by eukaryotes through endocytosis.
All bacteria are membrane-enclosed blobs much smaller than eukaryotes.
There are four bacteria variants – cyanobacteria, sessile bacteria, bioluminescent bacteria and respiring bacteria. Each type has a flagella-wielding version and an immobile version. All bacteria will perform simple processes. Cyanobacteria photosynthesize and respire, sessile bacteria thermosynthesize and respire, bioluminescent bacteria respire and use ATP to create light, while respiring bacteria only respire. They collect and process compounds just as eukaryotes do, but since they have no storage capacity they’ll often leave behind more waste compounds than eukaryotes would.
Bacterial presence varies by biome. Cyanobacteria are more prevalent in light biomes like the tidepool, or in light spots. Sessile bacteria can be found near hydrothermal vents or in heat spots. Bioluminescent bacteria are mostly found in dark biomes. Respiring bacteria are found in the same general concentrations everywhere. Sessile bacteria are never present anywhere if the LAWK toggle is checked.
Prokaryotes have simple, unchanging AI. Immobile bacteria are unlikely to have any agency at all.
Bacteria can be assimilated by eukaryotes in a process known as endocytosis (even those without engulfing edges), granting them the locked up compounds in the bacterium’s body. Cells with cell walls can’t perform endocytosis. On rare occasions, the prokaryote can survive this process, entering a symbiotic relationship with its host. Assimilating bacteria in this way gives the player or AI species access to new organelle types for future generational mutations, as well as one for free.
Combat occurs in multiple ways, whether player vs NPC or NPC vs NPC. Only eukaryotes engage in combat.
When attacking another microbe, a microbe’s goal is to obtain the compounds stored in its adversary by killing the cell and spilling these compounds into the environment. Combat often involves the use of ATP and other compounds, so both the player and AI must weigh up the probability of success against how much they stand to lose or gain.
Often combat won’t be fighting in any sense of the word – many predators will find no resistance if a cell can’t defend itself, making the battle completely one-sided.
The three methods of combat are as follows:
- Agents – Agents can damage or inhibit organelle or behavior functionality, though must be used carefully as they can damage the attacker too. To attack with agents, the attacker moves close to their prey (or somewhere where water currents would carry an agent towards it) and secretes an agent. This targets a part of the enemy cell for as long as that cell stays within the agent cloud until it dilutes and breaks down. With such a variety of agents available, this strategy is an all-purpose method of taking down prey or defending from predators. Agents are equivalent to range attack, being best against pili but also somewhat effective against engulfment.
- Predatory Pili – Pili also act as agent secretors, so cells with pili are often found using agents to attack as well. Pili provide a more reliable and less dangerous method of attack, in which a microbe can stab another’s membrane to burst it. Membranes have an in-built health meter (which can be damaged by agents like kinase) but take massive damage from even small pili. Pili will passively puncture anything which strays too close to a microbe, but by using a hotkey (or using an AI command in the NPCs’ case) the pilus will extend slightly providing more range. Pili do damage cell walls, but nowhere near as much as membranes. Pili are incredibly powerful against engulfers, but not so good against agent-utilizing microbes.
- Engulfing – A large microbe can engulf a smaller one if it possesses an engulfing edge on the side it approaches from. Once ingested, a microbe is rapidly digested inside, breaking down organelles into locked up compounds. Engulfing is not automatic, so must be activated by a hotkey for the player or mental command for AI. Engulfing is the quickest method of attack, but is vulnerable to pili and sometimes agents.
Different methods of attack give the player different experiences. Agents are a laid back option, attacking from a distance, whereas pili must be used quickly and skilfully. Engulfing multiple cells in a row can give the feel of being an all-powerful steam roller, until you reach a cell with a pilus.
Agents (sometimes called toxins) are specialized compounds used by microbes to perform useful tasks. The majority of gameplay focuses on the use of agents in chemical warfare between cells.
Each agent has an effect (what it does), a target (what it affects) and an efficacy (how good it is at doing what it does). Some agents target organelles, others target other agents. A few agents have no target, but even these have their uses.
During evolution (either AI Auto-Evo or the player’s guided mutations), microbes may be given a randomly assigned low-efficacy agent. This could be beneficial or not for the microbe in question. All microbes are granted one random agent when they evolve an agent secretor, and each agent secretor grants one more. One agent secretor can only release a single agent, but any number of agent secretors can release the same agent (so often microbes may have redundant agents available from extra secretors). The player assigns hotkeys to each secretor, giving them full control over which agents are released when.
For both the player and NPCs, agents are assigned to vacuoles for storage. Agents are produced on the fly (with no associated organelle) like any other compound, and most are made from the same set of input compounds (yet to be decided). A couple of exceptions are discussed below. When an agent is released, its stored level decreases at a fixed rate depending on how many secretors are working. Three secretors for the same agent will drain a vacuole three times as fast as one, for instance. When all vacuoles for an agent are empty, the microbe must wait for more to be produced before releasing it.
When secreted, agents billow out into a compound cloud. Nearby cells will be powerfully affected, but as the agent travels further and further away, it dilutes, making it much less effective against cells far away. Once diluted beyond a certain threshold, an agent stops having any effect, and any microbe which collects it only collects its constituent compounds. Any microbe affected by any agent will ingest the constituent compounds anyway to keep them in the system, making agents potentially useful for inter-species feeding if their effect isn’t too drastic.
Resistance to agents is a thorny subject and the current concept towards it is hazy, but there is a current concept so it has to be explained. Having an agent does not grant automatic resistance to that agent, except when inside the cell (so storing a highly toxic agent isn’t dangerous until it’s secreted). Once in the environment, agents will affect all microbes unless they have some measure resistance.
Each agent has a numerical bitmask identifier consisting of two hexadecimal digits. Every microbe also has a hex bitmask, and the closer its hex value is to that of an agent, the better it is at resisting it. Resistance in this sense means a reduction in an agent’s efficacy, and full resistance (if the bitmasks exactly match) will completely negate any effect of that agent. This system means that microbes will have slight resistance to many similar agents, and high resistance to a few.
In a generational mutation, a microbe’s bitmask may change slightly, or it may not. Over time, this will lead to increased resistance in a population as natural selection weeds out those which don’t have resistance.
For the player, this system is manually editable. Their species’ bitmask is displayed in the agent synthesis section of the editor (with an explanation of its function) but inexperienced players will have no idea what agents it grants resistance for. Each generation, they can make slight changes to the hex value (using Mutation Points of course) and through trial and error will learn what agents they’re resistant to.
Once an agent has evolved, it may be replaced or upgraded. Agents can only be replaced once per generation, and not in the generation when they first evolve. Since the player knows the function of whatever agent they’ve been assigned thanks to the display in the agent synthesis panel, they can choose to discard ineffective agents at the cost of not having an agent in that slot for that generation. Only low level, un-upgraded agents can be discarded and replaced.
Agents can be upgraded to give them more power. This is done using Mutation Points, and only one upgrade for each agent can be made each generation. Each upgrade gives diminishing returns in efficacy, and removes the option to replace the agent for a new one (so once an agent has been upgraded, the microbe is stuck with it for the rest of the game).
Auto-Evo handles NPC agent evolution using the same system. A species is randomly assigned a new low power agent for each new agent secretor. Next generation, it may be randomly upgraded or discarded, and like the player, AI species cannot remove an agent once it has been upgraded.
The following is a selection of notable agents:
- Paralytic – Inhibitor type agent. Paralytics affect all movement organelles (flagella, cilia, lamellipodia) they come into contact with, reducing their ability to propel a cell. This effect quickly wears off if the microbe moves beyond the agent cloud. Paralytics can be upgraded to have increased inhibition (reducing movement effectiveness further).
- Kinase – Attacker type agent. Reduces the health level of a microbe’s membrane until it bursts. Kinase can be upgraded to work faster (i.e. doing greater damage to membranes) but is nigh on ineffective against cell walls.
- Cyanide – Inhibitor type agent. Targets a cell’s mitochondria, reducing their processing speed for a short time. Unlike most other agents, cyanide isn’t made from the generic “agent” compound type. Instead, it’s made from hydrogen cyanide – a cell which uses cyanide therefore needs a supply of hydrogen, nitrogen and carbon. Cyanide can be upgraded to inhibit more of a mitochondrion’s maximum processing speed, or affect it for longer.
- Slime – Slime is a purely defensive agent which blocks any engulfing edges it comes into contact with for a short time. Slime can’t be released in the same way as other agents – instead, it’s stored in a specialized vacuole called a slime gland (choosing to store slime in a vacuole automatically turns it into a slime gland). When the player presses a hotkey or clicks on the gland (or, in the case of AI, when a cell’s behavior instructs it to release slime), the gland explodes, releasing large volumes of slime into the nearby environment far quicker than an agent secretor would be capable of. After use, a slime gland gradually regenerates to store further slime. Silme can’t be upgraded.
- Inhibitor Neutralizer – Neutralizer type agent. Has no effect on cells or organelles, instead passively targeting inhibitor type agents in the environment. When clouds of inhibitor agent and neutralizer agent mix, the effects of both are removed and both break down into their constituent compounds. Neutralizers cannot be upgraded.
- Carbonate – Unlike most other agents, carbonate is made from the compound calcium carbonate. When released into the environment, carbonate immediately solidifies, bonding with nearby surfaces or other carbonate particulates. This enables carbonate-wielding cells to build complex floating structures for various purposes, such as herding prey or as a defensive barrier (unfortunately due to the way the environment is generated, these structures will disappear if the player moves beyond a certain distance away from it). Carbonate can’t be upgraded.
- Lure Signal – Signal type agent. By default, sends a message to a cell’s AI telling it to travel towards the agent cloud. This has no effect on the player, but it still serves as a visual cue for them. Lures could be used for either aggressive tactics (attracting prey) or symbiotic relationships (telling other microbes that food is nearby). By using the same lure for both, the player is kept on their toes. Since AI evolves alongside physical traits, some species may learn to avoid lures if they’re used to catch prey more often than not.
- Stimulant – Stimulant type agent, effectively the opposite of an inhibitor. Increases the processing speed of all a cell’s internal organelles for as long as they’re in the agent cloud, whether friend or foe. This speeds up metabolic processes, so some microbes may create stimulant for themselves alone. Stimulants can be upgraded to create increased stimulation. It’s possible that stimulants should be split up into one for each organelle type to prevent overpowered uses.
- Bonding Signal – Signal type agent. When two cells are close together, one or both can release bonding signals to stick them together for a substantial duration. Bonding signals only work between cells of the same species, and the player is also affected, whether voluntarily or not. Many cells can form a colony by periodically releasing bonding agents, needed to win the game.
- Organelle Digester – Digester type agent. Breaks down floating organelles into useful compounds, but removes the Mutation Point bonus from nuclei. Can be upgraded to break down organelles faster.
- Bioluminescent Agent – Alternative to a bioluminescent organelle. Stored in a vacuole, the bioluminescent agent provides light in dark areas while continuously draining ATP. It can be released through secretors if the ATP use is too high, and lights up the surrounding area as an agent cloud (but only for a short duration). Interestingly, it can provide fake sunlight for photosynthesizing cells in dark areas, creating the potential for symbiosis. Can be upgraded to use less ATP.
For the microbe stage, the only reproductive option possible is asexual reproduction, where one parent splits into two offspring. While sexual reproduction may be a consideration at a later point, its exact mechanics are far from finalized, so this document doesn’t cover it.
By reproducing, populations are able to evolve new traits through random mutations, errors in the copying process of DNA. This is the basis of Darwinian evolution by natural selection.
In-game, there are two methods of reproduction. The first applies only to the player and their own species.
Every second, a microbe converts a small amount of its stored compounds to locked-up compounds. This effectively removes them from play, as they can no longer be accessed. The rate of conversion is fixed assuming an infinite amount of compounds available (on the other hand, when a microbe has none of a certain compound, conversion stops). The amount of each compound needed to undergo mitosis is defined by how many internal organelles a cell has. Each internal organelle requires a certain set of compounds to be produced, and these numbers are totaled to create the requirements for a cell's generational mutation. Potential new organelles added during mutation are ignored (this is the only time compounds can be added to the environment, and is corrected in CPA). When these requirements are met, the editor button activates. Locked-up compounds are not stored in vacuoles, instead effectively being stored in the cytoplasm.
In the editor, the player can make numerous changes to their organism. To ensure each generational change isn’t excessive and unrealistic, mutations are budgeted using a currency known as Mutation Points. Every edit costs Mutation Points, and only 100 are available for each editor session (unless the player has collected a floating nucleus, granting them 25 extra).
After exiting the editor, the player sees their previous cell split in two. Both cells have the new traits, as do all individuals of the player’s species within that biome (a side effect of the CPA simulation system, unfortunately preventing evolutionary branches within one biome). The player controls one of them, while the other is AI. Other individuals of their species will also undergo mitosis after producing enough locked-up compounds, though they will never undergo evolutionary changes in that biome without the player’s intervention. Previously stored compounds are distributed evenly between the two cells, unless they have no ability to store them anymore, in which case they're released into the environment as compound clouds.
The other method of reproduction concerns non-player cells, and is known as Auto-Evo. After a set duration, the CPA simulation evaluates how effective each species has been at collecting compounds and surviving (this is done abstractly to avoid incredibly taxing evaluations of the exact processes at work). Populations are then adjusted to fit this measure. Some species are then semi-randomly chosen to evolve by the next evaluation. Any new individuals appearing inside the player's field of view will split off from existing members of that species. All members of a species within a biome will update to reflect the new mutations too (doing so immediately might cause some problems if a microbe's size has been changed, so maybe members of the old generation remain until the player moves away; if the player does not move away, this is an even bigger problem which we don't currently have a solution for).
NPC mutations are budgeted in the same way as the player. If a species is chosen to evolve, any changes can happen to it as long as such changes wouldn’t exceed the 100 Mutation Point limit (nuclei do not grant any benefit to the AI). What happens next is vague unless described in excessive detail, so will be left until simulation specifics.
Health and Death
All microbes run on a simulated metabolism, so if that metabolism fails they can no longer perform vital processes and eventually die. Unfortunately it’s difficult to have a single unifying metric to measure health based on this system. For most purposes, ATP, as well as measuring energy, is analogous to health, since if a cell has no ability to function it is effectively dead.
If a microbe bursts, it is considered dead. There are multiple ways these scenarios can be reached.
Each individual organelle has its own arbitrary health meter, though this will generally be hidden to the player. There may be some visual cues, such as dimming of color as health levels decrease (it could also be displayed along with organelle priorities when the game is paused). Organelles may be attacked by certain agents, or might not have enough ATP or compounds to function.
The player can manually turn off most organelles through the organelle priorities panel if their overall organism is running low on ATP or required compounds, but this risks not having a functioning metabolism, leading to further problems. Organelles will automatically turn off if they do not receive compounds or enough ATP for a certain time (likely around 30 seconds), but will be revived when more are collected. Locked-up compounds are ignored: they can't be accessed by starved organelles no matter how close to death the player is.
For the duration that organelles are turned off, their health level reduces. Health can also be damaged by attacking type agents. This has no effect on their function once revived (except perhaps a reduction in processing efficiency), but once the lower threshold is crossed, all functions stop and will not revive. Organelle health can be regenerated by the player using the pause priorities menu, but requires large amounts of ATP so is unfeasible until metabolic processes stabilize.
Osmoregulation is the process by which a cell keeps concentrations of water and ions constant inside its membrane given changing outer conditions. In-game, this happens passively, as each cytoplasm hex consumes small amounts of ATP. Effectively this means that an otherwise blank cell would eventually lose all ATP reserves and die.
When a cell stops producing ATP, even if all other organelles are turned off, their ATP reserves will still drain as ion pumps in the membrane perform osmoregulation. Eventually, ATP levels will drop to zero. Since there is no more energy available to maintain water concentrations, water will flood down the concentration gradient into the cytoplasm, putting pressure on the membrane and quickly breaking it.
Death in this manner is known as osmolysis. In summary, if a cell’s metabolism stops working (either through not being designed properly or heavy damage) they will burst and die.
Highly upgraded cell walls prevent osmolysis as the membrane cannot expand outside the cell wall. A microbe can survive as a cell wall shell with no ATP reserves for a while (but it won’t be able to do anything) until the health levels of all its organelles drop to zero. This means that if an organelle has automatically turned off because it wasn’t receiving any compounds for a long time, there may still be a chance for survival.
For example, a mitochondrion functions only with a steady stream of glucose and oxygen. If it receives neither of these from the environment or vacuole storage for 30 seconds, it turns off and begins taking damage. With no ATP produced, the cell’s metabolism collapses and other organelles stop working. Ordinarily a cell would burst after the short time it takes ATP reserves to reach zero, but with a cell wall it can survive. If a cell travels through oxygen and glucose clouds before the mitochondrion’s health reaches zero, the mitochondria activates again and starts aerobically respiring, producing ATP. The cell can now live to fight another day.
Since this process could take a while and isn’t guaranteed to succeed by any means, it might be a good idea to give the player a suicide button if ATP levels pass zero with a cell wall.
As a cell gets closer and closer to death by osmolysis, it swells to give a visual cue. The rate of swelling could be tied inversely exponentially to ATP level, so that as a cell loses energy it swells slowly at first, but quickly when they near zero before finally bursting at zero.
A cell will die if its membrane is broken in any other way. The membrane has a hidden health meter like all organelles, but if its health reaches zero the cell dies automatically – no mucking about with ion pumps and osmoregulation. The membrane cannot be turned off, and consumes no ATP (cytoplasm consumes ATP to represent the ion pumps).
There are two ways the membrane’s health can be damaged: agents and pili. Kinase, the membrane attacking agent, will gradually damage the membrane (or cytoskeleton). Pili (“spikes”), on the other hand, do massive damage. The damage done by a pilus scales with its length, so larger pili can often puncture a membrane immediately. Even smaller ones only need three or so hits to kill a cell.
Cell walls are also a good defense against pili. Like membranes, they have a health meter, but pili do nowhere near as much damage. Successive upgrades of the cell wall increase its defense, so the full cell wall may take dozens of hits to destroy. Cell walls also take damage from kinase, but this is negligible given their enormous health levels.
Finally, a cell can die by being engulfed by another. This is fairly straightforward – if a cell with an engulfing edge consumes another, it will digest it and break its membrane, harvesting all nutrients it contains.
Slime glands are one method of protection from engulfment (they block an engulfing edge for a certain duration) but there is another. Predatory pili can also be used as defense. As an engulfing cell passes over its prey, it will invariably come into contact with any pili, taking damage to its membrane. Even once the prey is engulfed, it can still move around inside and attack the membrane before it’s digested. Any level of pilus should be able to do this, making pili an effective defense strategy against engulfment.
Once prey has been engulfed, a predatory cell can be damaged by any agents inside it. This is generally too slow a tactic to save the prey cell (which can still release agents inside a host until it’s digested and has its membrane torn), but should be a consideration for ravenous engulfers which consume many agent-wielding cells.
All these methods result in a microbe’s death when its membrane bursts. Whether the microbe is player-controlled or an NPC, its stored compounds will spill out into the environment. Floating internal organelles are also released containing high levels of nutrients (the locked-up compounds required to produce them in the last reproduction, and a share of the locked-up compounds a microbe has produced towards the next reproduction), but for the most part these are only accessible once broken down by a digesting agent. Raw organelles can only be consumed via an engulfing edge, where internal digestive juices (which act passively and are always present, but do use ATP) break them down into constituent compounds. External organelles and periphery organelles collapse immediately along with the membrane, and neither release any compounds into the environment.
Only one organelle can be consumed in its raw state by all cells: the nucleus. It gives compounds, and also gives the player an extra 25 Mutation Points for use next editor session exclusively.
If the player cell dies by any means, the camera freezes in place for a few moments to show how they died and the feast on their innards by other cells, then fades to black. It then fades back in focused on a new individual of the player’s species in the same biome. This individual has low compound stores.
If no members of the player’s species are available in the biome, the player is randomly assigned a new individual from another biome. If there are no other members of their species at all, they’ve gone extinct and lose the game.
The player sees a brief game over screen (with no sound, explaining that their species has gone extinct), before being sent back to the title screen. They may decide to reload a recent save and try again, or completely restart and try a new strategy.
Symbiosis occurs when two or more species develop a mutually beneficial relationship, enabling them to survive better. In-game, symbiosis can happen artificially through the use of bonding agents, but is also supposed to develop naturally as species evolve to cooperate using different organelles and abilities.
Colonies are the primary method of symbiosis. To comply with other sections of this document, only single-species colonies are discussed, as the exact functionality of inter-species colonies is currently too vague. It’s possible it may use a bitmask system similar to agent resistance.
When a species develops a bonding agent, two or more individuals can attach themselves to each other for some time by releasing the agent. If two individuals are close to each other and one releases a bonding agent, the two will stick together for up to 30 seconds or so after it was secreted. Even the player is affected by this – other members of their species can stick to them even when they don’t want this to happen. By periodically secreting the bonding agent, large groups of microbes can collectively stick together, providing protection from predators.
Since colonies are intended to only arise during the later game, there must be some way of creating an evolutionary bottleneck avoiding them. Options include: limiting the appearance of bonding agents in the gene pool until after a long duration, limiting the appearance of bonding agents until several other agents have been added to a species, and making small colonies difficult to work with but larger colonies very useful. The latter sounds like the most natural option, but at the same time would be the most difficult.
Once the player’s colony exceeds a certain number of individuals, between them containing a certain amount of compounds (these two values must be presented to the player as an end goal when they begin the game), the game ends. In future, this will herald the transition to the multicellular stage, but for now it just shows a victory screen. The player can continue from this point, but their options will have mostly already been exhausted.
As in nature, symbiosis should arise dynamically. Cells with different abilities may be able to combine their strengths and work together to make up for each others’ weaknesses. Here are a few possible scenarios which should be possible in-game, even if many involve the player’s intervention if they’re fairly complicated.
A carbonate-secreting microbe with flagella is having difficulty finding enough compounds for respiration. There are many photosynthesizing species in the vicinity producing them, but they’re difficult to follow as they have no motile organelles so drift along with the current. These photosynthesizers are also helpless prey for large engulfing species which roam the biome. The carbonate secretor gathers a lot of calcium, carbon and oxygen, producing and storing its carbonate agent. It then begins to build a large shell around itself. When it’s almost complete, it pushes the shell into a water current and waits for a photosynthesizer to drift nearby. When one does, it quickly pushes the shell over the membrane of the photosynthesizer and itself, before finishing the shell. It now has a small home with its own glucose producer. The shell also acts as protection against engulfment, making the relationship beneficial for the photosynthesizer too.
A large, docile species has developed a membrane attacking agent (kinase) but a small predator has evolved resistance to it. Many of the predators swim around the larger microbe as it releases the agent, feasting on the innards of cells which move into the agent cloud. The predators use an organelle digesting agent, breaking down floating organelles into their constituent compounds. Both species can then benefit, absorbing the compounds.
Two species exist in a symbiotic relationship in a hydrothermal vent biome. One has a bioluminescent organelle, the other has chloroplasts. The chloroplasts don’t work effectively in the low-light environment, but with the bioluminescent organelle nearby they can use its light to photosynthesize. This produces the necessary excess glucose and oxygen for respiration in its partner. This system isn’t particularly efficient as multiple energy transfers are needed, wasting energy at each stage, but the slight influx of light helps keep it stable.
Organelles are the parts of a cell responsible for certain activities or processes, and each new organelle grants the player or an AI microbe new abilities. They come in a variety of forms, and all interact in some way with the cell’s internal metabolism. All organelles consume ATP, but some produce it at a faster rate, leading to a net increase. Organelles may use or produce new compounds, and are the centers for chemical reactions such as aerobic respiration and protein synthesis. Some organelles can also store compounds for later consumption. Unless otherwise specified, all organelles consume ATP at a fixed rate.
The player adds organelles in the editor (discussed in the next section), while other species develop them through random mutations and Auto-Evo. Some organelles are available to purchase using Mutation Points from the start of the game (such as mitochondria or flagella), while others must first be assimilated by endocytosis.
Chloroplasts, for example, are found throughout the environment as free-living cyanobacteria, and by engulfing them (an engulfing edge is not necessary for bacterial assimilation, only eukaryotic) the player might gain a chloroplast within their body. The chance of this happening is minimal (~1 in 100), and the player is not granted access to chloroplasts as a usable organelle in the editor until they have engulfed one. Once a cyanobacterium does survive on engulfment, the player receives one chloroplast for free (only in their individual until the next editor session, but in their whole species thereafter) and can place new ones in the editor in exchange for Mutation Points. Endocytosis is only possible if the player’s cytoskeletal structure has space for the new organelle – that is, they must have at least enough blank cytoplasm in their cell’s hexagonal arrangement for the organelle to be placed if it were in the editor.
There are three types of organelles – internal, external and periphery (the mechanism for using each in the editor is discussed in the following section). Internal organelles are contained within the cell’s membrane and float around inside during gameplay, while external organelles are attached to the cell’s membrane and remain in place at all times. Periphery organelles cover the entire cell in a coating, and only one can be in place at a time.
In the editor, organelles may be upgraded, either making them more efficient (i.e. use less ATP to perform the same task) or turning them into an entirely different organelle through mutation. Only some organelles may be cross-graded, some organelles are only available through cross-grading, and these types of upgrades will generally be highly expensive (though still less than the 100 Mutation Point limit), de-centivising the player from performing cross-grades until their cell is functioning well enough elsewhere. This should artificially push back organelle mutation into the mid-game, giving the player a gradual stream of new organelles to use.
Here are some notable organelles:
- Nucleus – The nucleus is a special case organelle. It’s part of the player’s microbe from the start of the game (as they play as a eukaryotic cell) and cannot be moved or removed in the editor. Having a nucleus allows for replication, compound control and simple behavioral patterns, which, as major tenets of the gameplay system, must always be available to the player from the start. The nucleus is an internal organelle which the rest of the cell is built around. It isn’t listed in the editor organelle list as only one can ever exist inside a cell. When a cell dies, its nucleus has a small chance of remaining intact. Other cells which consume the nucleus gain more available Mutation Points for the next editor session or CPA-mandated mutation.
- Mitochondrion – Mitochondria perform aerobic respiration within cells, taking one glucose molecule and six oxygen to produce six water, six carbon dioxide, and energy. Energy is represented by ATP, so as far as the player is concerned, mitochondria produce ATP (the complex partial steps involved in respiration aren’t modeled, only the overall inputs and outputs). Though mitochondria can be placed in the editor from the start of the game and the player even begins with at least one mitochondrion, additional mitochondria can still be obtained for free by endocytosis of free-living respiring bacteria (~1 in 100 chance). As with all organelles obtained this way, newly assimilated mitochondria are initially unique to the player’s individual, but entering and exiting the editor with the same mitochondria intact adds it to all members of their species.
- Flagellum – External organelle used for movement. A flagellum is a long, tail-like organelle which rotates to drive a cell forward. Flagella, along with cilia, allow cells to fight against water currents which would otherwise take them in potentially unwanted directions. Flagella only add propulsion in a single direction, and multiple flagella on the same side of a cell increase a cell’s ability to move in that direction. Flagella can be placed as new organelles from the beginning of the game. They do not use or produce compounds but do use up relatively large amounts of ATP.
- Cilia – Cilia are smaller versions of flagella, but cover the entire cell as a periphery organelle choice. Cilia produce small omni-directional movement for less ATP than flagella. Cilia are available from the beginning of the game, and can be upgraded to lamellipodia. The movement speed generated by cilia can also be upgraded.
- Cytoplasm – Cytoplasm is different from all organelles in that it determines a cell’s overall structure. In the editor, other organelles must be placed in cytoplasm. Cytoplasm does perform some simple chemical reactions and it’s the medium through which ATP is transferred. It’s available from the beginning of the game and is relatively cheap. Each hex also consumes a very small amount of ATP for osmoregulatory processes, so larger microbes will need more energy to function.
- Vacuole – Internal organelle used for compound storage. Each vacuole has a maximum agent capacity based on weight (so more oxygen molecules can fit in a vacuole than glucose, for instance), and generally compounds will be flowing in and out of a vacuole simultaneously. Larger vacuoles (there are many different size varieties in the editor, larger variants costing more Mutation Points) also provide some cell rigidity, especially when combined with a cell wall. Vacuoles are available in the editor from the start of the game, and the player determines which compound or agent will be stored in each.
- Agent Secretor – External organelle used to release stored agents into the environment, using no ATP. The player tells each agent secretor which agent it’s tied to and its associated hotkey, and each secretor may only release a single type of agent. Agent secretors are available in the editor from the beginning of the game, but only become useful when the player has the capacity to create agents. Agent secretors can be cross-graded to predatory pili.
- Chloroplast – Photosynthesizing internal organelle. Chloroplasts take in water and carbon dioxide to produce glucose and oxygen, using up light energy (therefore they have a greater yield in environmental light spots). Chloroplasts are locked in the editor at the beginning of the game, as the player must assimilate a free-living cyanobacterium to gain one free chloroplast and add more in the editor. Cyanobacteria are only found in well-lit areas, such as light spots or certain biomes.
- Thermoplast – Thermoplasts work in exactly the same way as chloroplasts, instead using heat to create glucose and oxygen via thermosynthesis. This makes them a more viable option in the hydrothermal vent biome than chloroplasts, but since thermoplasts are fictional, if the player has checked the LAWK toggle neither they nor NPC species will be able to evolve thermoplasts. To unlock thermoplasts in the editor, the player must engulf a free-living sessile bacterium, generally found in heat spots or near hydrothermal vents.
- Cell Wall – Periphery organelle. The player’s cell can evolve a cell wall in multiple steps. Cell walls provide extra strength and protection from some agent types, engulfing and predatory pili, as well as preventing death by osmolysis. However, the latter is only possible if a full cell wall has evolved. The others increase in effectiveness with each upgrade step, so a thicker cell wall will be able to stop longer pili. With a complete or near-complete cell wall, the cell’s visuals will change. Its membrane will no longer be so flexible, instead trapped within a procedurally generated wall layout based on the hex grid design. The cell wall is unlocked as soon as the player unlocks chloroplasts or thermoplasts, and consumes and produces no compounds or ATP. Unlike other periphery organelles, cell walls prevent the placement of any external organelles – cell walls cannot be chosen unless all external organelles have been removed, except agent secretors (their icon is grayed out and a tooltip message informs the player of the reason why). Cell walls therefore prevent agent secretors being upgraded to pili.
- Predatory Pilus – External organelle used for attack. Effectively an offensive “spike”, a pilus can be used to pierce the membranes of other microbes, killing them and releasing their compounds into the environment. Pili are unlocked from the start of the game, and can be upgraded by having their length extended. Pili also have all the functions of an agent secretor and are edited in a similar manner with hotkeys and tied agents. Pili are ineffective against cell walls and are relatively heavy, making motility difficult for pilus-wielding cells. They’re only available by upgrading an agent secretor, but can be cross-graded back into an agent secretor.
- Engulfing Edge – External organelle. Adding an engulfing edge to a section of a cell’s membrane enables it to engulf other microbes using that edge. The larger the prey microbe, the longer the contiguous engulfing edge needs to be. Microbes may only engulf prey smaller than they are. Engulfing edges are unlocked from the beginning of the game, and consume ATP to digest enemies.
- Slime Gland – A specialized type of vacuole which is unlocked if the player has evolved anti-phagocytic slime as an agent. Slime glands store slime produced in the cell through agent synthesis. When being attacked by an engulfing type cell, the player can use an assigned hotkey or click on their slime gland to release its contents, blocking nearby cells’ ability to engulf prey and allowing the player to escape.
- Bioluminescent Organelle – Unlocked once the player assimilates a bioluminescent bacteria in the same manner as chloroplasts, or by upgrading a vacuole when a bioluminescent agent has been developed. Bioluminescent organelles will glow in-game, providing light in dark locations by consuming ATP. They provide very little gameplay use for an experienced player, but they can be used in a symbiotic relationship with other microbes which have chloroplasts, effectively transferring energy between the two as chloroplasts use the light energy to photosynthesize even in dark locations.
- Endoplasmic Reticulum – Allows for protein and agent synthesis. Available from the start of the game, including one present in the starting cell by default. Consumes ATP.
- Golgi Apparatus – Required for agent secretion of any type, available from the beginning of the game, and comes with the starting cell. Consumes ATP.
- Lamellipodia – Periphery organelle which allows surface crawling. Surface crawling can be used to move against water currents in situations where other microbes or physical surfaces are nearby – the player’s microbe attaches itself to a cell membrane or object using the lamellipodia and can move up or down the surface easily. Lamellipodia are only available through upgrading cilia.
When the player enters the editor, they see their microbe in the centre surrounded by various GUI elements. Though the background is similar to that of the environment, the player’s cell doesn’t move other than small twitches of flagella or cilia. The player may still rotate the camera with the right button and zoom with the scroll wheel. Initially, the player cell is positioned with its front facing upwards. A floating arrow points in the microbe’s forward facing direction at all times.
In the lower right corner of the screen is a number next to a DNA symbol – this is the number of Mutation Points available to the player. Adding, removing, moving or upgrading anything in the editor requires a certain amount of Mutation Points, and when the player’s supply is depleted, they may not make any more changes. The number of Mutation Points is the same for each editor session to prevent excessive changes to a species within a single generation, but can be changed by different starting difficulties.
Infinite Mutation Points are available in free edit mode from the tools page of the main menu, but microbes created in free edit mode may only be used in-game under specific circumstances. Creations made in free edit mode can be saved, but to load them in a Mutation Point restricted editor session, the number of Mutation Points needed to turn the player’s current microbe into a saved creation must be less than or equal to the number available (e.g. the player’s cell in the gameplay editor needs only a flagellum and a vacuole added, and a mitochondrion moved – totaling less than 100 Mutation Points – to match one of their saved creations, therefore they can load that cell and progress).
Removing any element from the microbe should cost as much as adding that same element. This represents the evolutionary change needed to both grow additional parts or lose them over several generations. In the same vein, moving parts also costs Mutation Points, though substantially less than placing or removing.
Performing an action then doing the reverse of that action in the same editor session (placing and removing the same organelle, or moving an organelle somewhere before moving it back to its original position) should always be Mutation Point neutral, as if the change had never occurred. However, reverts made in separate editor sessions should cost the total of both actions, as they count as two distinct generational mutations.
Outside of the main editor functions (explained shortly), there are several persistent abilities based on GUI buttons:
- Undo – Clicking the ‘Undo’ button in the lower center of the screen erases the previous change made by the player, granting Mutation Points equivalent to the amount required to make that change. The list of actions which may be undone extends only to the start of the current editor session – changes made in previous generations must be reverted manually, using up Mutation Points in the process. ‘Undo’ is grayed out until the player makes a change.
- Redo – The opposite of ‘Undo’. Undone actions can be redone if a mistake has been made, along with associated changes in Mutation Points. ‘Redo’ is grayed out until the player clicks ‘Undo’, then becomes grayed out again once they make any further change.
- Symmetry – A button between the ‘Undo’ and ‘Redo’ buttons controls symmetry options, representing them using one vertical line (two way symmetry), a vertical line intersecting a horizontal line (four way symmetry), three lines intersecting at 120 degrees to each other (six way symmetry) or no lines (no symmetry). Clicking the button cycles through these options, adding faint lines to the screen around the microbe to match. Using symmetry on any element costs the total of all copies of that element (placing a 20 Mutation Point organelle with four times symmetry will cost 80 Mutation Points).
- Save – Opens a save panel with a text box and a confirmation button. The player can save their current microbe with a new name at any time, and must do so at the end of their first editor session for a particular game save. Subsequent editor sessions without a manually entered save name will overwrite the species’ file.
- Load – Choosing to load a microbe opens a loading panel with a scrollable list of saved creations. However, for the gameplay editor (free edit mode is exempt) most files will be grayed out and unclickable as Mutation Point costs would be too high for a single generation as previously discussed.
- Statistics – Allows the player to see specific cellular metrics, such as surface area, volume, maximum speed or required compounds for the next reproduction. The player can also see all the processes their cell is capable of, with associated chemical equations.
- Help – Gives the player guidance on creating their microbe using minimal text and instructional images.
- Finish – Autosaves the new microbe (overwriting its previous species file in all cases but the player’s first editor session) and closes the editor, returning the player to the environment.
On the right side of the screen are several clickable headings, which when clicked expand out to fill most of the available space on the right screen side. Each changes the visuals of the editor and the central microbe, all allowing for different ways of editing the microbe.
The first tab is ‘Structure’. When clicked, a scrollable list of organelles (minus periphery organelles) expands to fill the right side of the screen, and the microbe becomes a set of hexagonal blocks on top of a hexagonal grid, with a maximum size marked out by highlighted hexes around the central nucleus point. As the player progresses through the game, the maximum dimensions of their microbe increase.
The first choice in the organelle list is cytoplasm, a relatively cheap option with a different functionality to all other organelles. When the player hovers over a hex when cytoplasm has been selected, it partially lights up to indicate cytoplasm can be placed (with symmetry active, all hexes in matching positions in each sector light up too). This only occurs for hexes connected to part of the microbe’s existing structure, and doesn’t occur when there are insufficient Mutation Points to add cytoplasm hexes. Cytoplasm provides very little actual benefit besides allowing other organelles to be placed. When the player clicks anywhere cytoplasm can be placed, that hex turns white. Cytoplasm cannot be added to a hex bordering an external organelle – external organelles must be removed first, with the associated Mutation Point cost. Cytoplasm can be removed by right clicking, while left clicking brings up cell wall upgrade options.
Other than cytoplasm, there are two varieties of organelle available here: internal and external. Adding either of these requires the placement of an organelle hex placeholder. This is an arrangement of hexagons linked together which must be placed over existing cytoplasm within the cell. All external organelles are only a single hex in size, and their orientation is adjusted in the 'Appearance' tab. Both are subject to the adding, removing and moving rules of Mutation Points.
Internal organelles are placed in a similar manner to cytoplasm. For one to be placed, all its hexes must overlap hexes of cytoplasm. If even one lies outside the cell shape, the organelle can’t be placed. The player can rotate organelles using the left and right arrow keys (each organelle’s center of rotation is visually indicated). Both internal and external organelles can be removed by right clicking, and double clicking an organelle allows it to be moved. Moving an organelle costs the same amount of Mutation Points regardless of where it's moved to, while moving the organelle during the same editor session as when it's placed costs nothing. Removing an organelle in the same session as moving it refunds the player the Mutation Points required to move it, but there should still be an overall cost, as removing any organelle costs more than moving it.
External organelles are placed in the same way, except they cannot be rotated (all are single hexes, so rotation for them is redundant). Their orientation can be edited in the 'Appearance' tab. If the player has a cell wall, no external organelles can be placed, except for agent secretors.
Clicking on an organelle replaces the right hand side list with that organelle’s statistics and upgrade options. Organelles may be upgraded using Mutation Points to increase their efficiency in a particular process, and all upgrades are reversible, but abide by the Mutation Point rules. Upgrading and degrading an organelle within the same generation gives no net Mutation Point change, but if the actions are done in two separate editor sessions each one has full cost. Upgrades to organelles have diminishing returns the further they’re upgraded. Some organelles can also be cross-graded into different types. No organelle can be upgraded in the same editor session as when it is first placed.
Clicking on organelles such as agent vacuoles or agent secretors enables the player to choose which agent they use. Their choice is determined by which agents they have synthesized in the ‘Behavior’ tab. For agent secretors, the player must also choose a key binding for that agent’s release, the default being the numerical keys.
A microbe’s appearance covers its membrane, periphery organelles and coloration.
When the player clicks the ‘Appearance’ tab, the hex grid disappears and the microbe’s membrane is procedurally generated based on its shape. Organelle models also appear, internal organelles moving around slowly inside the membrane. External organelles are drawn attached to the membrane edge nearest the hex where they were placed.
In appearance mode with no other option selected, the player can click and drag a section of their microbe to see how its membrane reacts to distortion. External organelles can also be clicked and dragged to change their orientation (the attachment point remains stationary and cannot be changed).
Under the expanded ‘Appearance’ tab is a list of textures and a color wheel. The player can import their own textures by placing image files in the microbe texture directory of their game, then use them in-game along with the provided defaults. Default textures are all tile-able, gray-scale, and generally based on natural imagery or fractals. Choosing one coats the entire microbe membrane in that texture. The player can then choose a color from the color wheel and paint their microbe’s membrane using a brush size (editable using a slider). Painting a section will use the chosen color as the texture’s light or dark contone, depending on which is more prevalent in the texture. Painting is also subject to symmetry.
Underneath the coloration section is a set of possible periphery organelles to choose from. Only one can ever be chosen, and changing to another requires ATP to both remove a previous periphery organelle and add the new one. Choosing an option will coat the cell in a shader (still in the color chosen previously) and give new abilities. Double-clicking the cell brings up a list of periphery organelle upgrades, such as the gradual progress towards a full cell wall or cross-grading between cilia and lamellipodia.
After the player clicks the ‘Behavior’ tab, the microbe and textured background are replaced by a blank white background which the player can explore by left clicking and dragging. Underneath the heading, the tab expands to show a scrollable list of available inputs, outputs and logic gates. Inputs are things a cell may detect, and all have binary values – examples include: cell with pilus within distance x, glucose stores less than y, or cell of same species within distance z. All numerical requirements can be edited. Outputs are actions a cell may take – release agent x, move in direction y (towards/away from) relative to input trigger, or turn off organelle z. Again, all numerical values can be edited, while movement requires an object for relative direction, giving it an extra input attachment point which only a direct cell type input can be wired into.
Logic gates take one or more inputs and produce an output signal based on their function. An or gate, for instance, will send a signal if it receives a signal from either of its inputs, while an and gate requires both to be active.
After selecting and placing an input, output or process block on the background (which costs no Mutation Points), the player can create wires between them. Wires cost Mutation Points and use up a certain amount of ATP constantly in-game. Each input, output or process has input or output attachment points. Only a single wire can enter each input point, but multiple wires may be drawn from a single output point.
Since this system is quite confusing on paper, here’s an example. The player places and edits an input block to activate if a cell with an engulfing edge moves within 5 relative distance units. They then place another input to detect whether glucose stores are less than 30 units, before adding a two-input or gate, and a movement output block set to travelling away from the target input. All of this costs no Mutation Points. The player clicks on the output from their engulfing detection block, then clicks on one input from the or gate, creating a wire between the two. This costs Mutation Points, and will use up ATP for the microbe (both the player’s individual and other members of their species) in-game.
Following this, they connect the output of glucose detection to the other or gate input, then connect the or gate output to the movement input. However, a movement block requires a second, position-based, input to give it a relative direction. The player draws a final wire between the output of the engulfing detection and the second movement input. They’ve now completed an AI system which tells a member of their species to move away if they have low glucose stores and a cell with engulfing capability approaches.
Adding new organelles to the cell can grant new inputs or outputs. Movement isn’t possible without a flagellum or cilia, for instance.
Agents are created in the behavior editor, though our current concept for synthesizing them is somewhat hazy. Whatever solution is decided upon needs to be tested for balance, but the following is our best guess at how agent synthesis will function.
If the player has both a golgi apparatus and agent secretor, they will be granted a random, low-power agent in the behaviour editor. The player can specify which agent secretors and vacuoles are associated with this agent’s release and storage respectively. The golgi apparatus handles all synthesis functions, using up input compounds and ATP to produce the agents (each agent is comprised of the same constituents in the same proportions, regardless of its function).
The agent may be beneficial or harmful to the player or other cells. If the player doesn’t like the agent they receive, they can choose to discard it at the cost of not evolving an agent this generation. Their agent secretors and golgi apparatus will be useless until next generation, when another low-power agent is randomly assigned without Mutation Point cost. Discarded agents cannot be reused and have to be developed a second time if the player wishes to use their power later in the game.
A player may instead decide to upgrade their agent if they think it works in their best interests. Agents can be upgraded via a simple “tech tree”, using Mutation Points to make them more potent. A flagella impairing agent may initially only reduce maximum movement capacity by 20%, but further upgrades would increase this value. Like organelle efficiency upgrades, they have diminishing returns as effectiveness increases, and can’t be upgraded more than once per generation.
Each new agent secretor adds the capability for one more agent to the player’s library, evolved in this same way each time. The player does not have to use each agent with the secretor – they may decide to have two secretors for the same agent, keeping one agent in reserve for later once they’ve upgraded it.
The final heading allows the player to test drive their microbe in a mini environment. Clicking the heading removes all GUI panels except an option to return to the main editor screen and load more microbes into the test arena. Movement and key commands are exactly the same as in the environment, and there are some water currents and compound clouds scattered throughout the area.
When the load microbes button is clicked, a copy of the regular load panel opens, but this time there are no restraints on Mutation Point costs. A saved creation or fossilised adversary can be added to the environment by selecting its file in the list and clicking the confirmation button. After the player closes the panel, an individual of their chosen species with randomised compound stores appears on-screen, and the player can test attack or cooperation tactics with the cell. More microbes can be added in the same way, but there is a hard maximum of five extra cells.
Generally, disasters for the microbe stage haven’t been discussed much, so nothing here is by any means final. The frequency and types of disaster are determined by the difficulty option chosen at game setup, and occur randomly (incredibly infrequently) in games where it’s possible to do so.
Disasters can affect single biomes or multiple biomes concurrently depending on their type. Mass extinctions tend to affect nearly all biomes, while natural disasters may be limited to a single biome. All disasters work by changing the game mechanics for a certain duration, often including visual changes to signify their occurrence.
Mass extinctions occur infrequently even at the highest possible difficulty setting, and have enormous effects on ecosystems, often destabilizing them in many biomes. While they do make games harder, as in the real world they can often obliterate dominant species, opening the door for others. Extinctions feed into the CPA system either directly or indirectly, drastically changing population numbers and often causing entire species to go extinct.
Mass extinctions never happen concurrently with each other or natural disasters.
We have very few microbe stage disasters, but here are a few suggestions with gameplay implications:
- Asteroid Impact – All biomes become much darker due to atmospheric dust, killing off huge numbers of photosynthesizers with repercussions for the entire food chain. One biome (not the one where the player exists) is randomly chosen to have most of its inhabitants killed off, opening the door for species from neighboring biomes.
- Snowball Earth – All biomes become much colder, stifling thermosynthesis. Water currents also slow in many places, which may be beneficial for some species. Ice also appears as white floating shapes.
Natural disasters are much less violent than extinction events, but are more frequent. They affect small numbers of biomes, often as little as one. Their effects plug into the CPA simulation just as extinctions would, but generally don’t have as big an effect.
Natural disasters never happen concurrently with each other or mass extinctions.
Some examples include:
- Volcanic Eruption – Similar to an asteroid impact, but less widespread with less drastic effects. A few adjacent biomes become slightly darker and hotter.
- Earthquake – The player’s view shakes for ten seconds and water currents change direction in one biome.
- Virus – One species in a biome is chosen at random to be attacked by a virus. A virus may affect the function of one or more organelles, reducing their efficiency, sometimes heavily. If the player encounters or becomes an infected individual, the affected organelle will glow red and the entire microbe will have a slight red glow.