Completing Microbe Stage with the Power of Flowcharts

I’ve been feeling corporate and managerial lately, so while I’m away from my development setup I decided to help Thrive in the most helpful way possible: making lists!

We’ve been approaching the point where our Release Roadmap is reducing to a manageable number of items, some of which much more threatening than others, and some probably dependent on (or made obsolete by) others. I’ve chosen to divide these items into categories:

Already Covered by an Existing PR (I think)

  • Toxin system customization and rework
  • Show the resource organelles use for ATP generation in ATP bar tooltips and Add tool in editor to explore ATP / compound balances without all resources.
  • Reworking the spawn system (only if necessary). Related issues: Add per spawner caps for entities, Make cloud spawns less random and more time based, Rework spawn system to be encounter based. Likely obsolete issue: Investigate a way to parametrize the bias for spawning in front of player

Stuff being covered by an Existing PR

  • Lots of stuff that will be covered by the miche refactor, or at least we’ll have a new set of problems afterward:
    • Auto-evo prediction panel and extra info don’t react to language change
    • Make extinct in patch auto-evo result say split off
    • Make auto-evo not claim a species is extinct if external effects rescue it
    • Rework auto-evo report to be much more graphical, also auto-evo prediction. * *
    • Should solve: Add some way to view preview images of species in the report tab
    • Make player species members dying or reproducing on screen affect the population
    • Factor movement into Compound Food Source
    • Increase player auto-evo strength to 80% once the algorithm feels good
    • Auto-evo does not change its prediction upon patch change
    • Auto-evo needs to update prediction upon rigidity and behaviour change
    • Rework the crude extinction system into something proper
    • Review chunk food source balancing
    • Investigate auto-evo generated species that immediately starve to death
    • Add some benefit in auto-evo calculation from chemoreceptor
    • Make some auto-evo calculations be affected by organelle upgrades
    • Make auto-evo take lysosomes (new digestion) into account
  • Implement new damage effects to better convey cell is being harmed
  • Implement Stamina system and speed boosting
  • Implement someplace that shows the used energy sources per species

Stuff that Scares me a lot
These are things that we don’t have an active PR for, and that I suspect with be complicated, require some new innovation, and would generally be expected to take several months at least, based on previous performance

  • General combat balancing
  • Expand the Thriveopedia to provide in-depth gameplay information (partially done, our wiki now needs more content to include in there)
  • Add a way for the player to control organelle split order
  • Planet Generation and Customization
  • Food chain editor tab
  • Environmental events
  • Improve water currents functionality and visibility

Stuff I find Less Scary

  • Make cell chunks emit more compounds (related to combat and scavenging balancing, maybe kind of done)
  • Feature to allow swapping to a related species on extinction (selectable only in easy mode)
  • Present option for migrating player species without the player moving themselves
  • Rework player starting compounds to allow for more flexibility (we probably should show this in the editor and let the player pick as long as the total amount is below some threshold).
  • Make organelles able to turn off with Add button in the process panel to pause a process
  • Timeline history cleaning logic has a bug
  • Timeline should not claim the player is extinct if rescued by external effects
  • Create a cache that is stored on disk for PhotoStudio (for better reworked auto-evo report performance), and also an in-memory cache: Create a memory cache for photostudio microbe images · Issue #4579 · Revolutionary-Games/Thrive · GitHub
  • Add alternative ATP balance mode based on what source of ATP organelles use
  • Compound production + Implement diffusion of compounds and gasses between patches (dynamic gas compounds is at least a part of this)
  • Add hydrogenase
  • Add the full process panel to the editor
  • Add best organelle suggestion shown in the editor
  • Move away from using percentages in the patch conditions
  • Marine snow (chunks) spawn density should depend on existing species
  • Patches that link regions together should be more obvious
  • Radiotrophs. Issue: Add radioactivity as an energy source
  • Change patch map generator to not need to abandon regions
  • Compound Toxicity and Environmental tolerance
  • Patch terrain generation and differentiation
  • Replace all Godot prints in auto-evo with storing events
  • Make organelle storage amounts in tooltips use localization
  • Improved microbe backgrounds
  • Make biome light properties actually affect the graphics (might get done with the day/night system)
  • Bioluminescence
  • Achievements. Issue: Implement achievements system · Issue #2665 · Revolutionary-Games/Thrive · GitHub (also for Steam)
  • Add a separate sound effect for binding mode
  • Review how game difficulty settings death penalty works in terms of the coefficient and constants
  • Thermoplasts (full implementation, basic is done)
  • Expanded tutorials for the microbe stage + hand holding mode selectable as an option that enables even more aggressive tutorials. Add tutorials like Add a tutorial on death when using multiple ATP production types, Add a tutorial for taking ATP damage in engulf mode, Add a tutorial about loading a save if the player dies too much
  • Create a different cutscene for when starting in the warm pond and probably for panspermia
  • Split ToolTipManager.tscn to multiple files
  • Make membrane meshes properly 3D
  • Make a nice cell division animation
  • Reimplement the context dependent hints system
  • Make proper short tips for the microbe stage and the editor
  • Make clouds look like they did in 0.3.4 (if can be done with reasonable effort, or at least visibility should be improved) Related issue: Increase perlin noise texture size or get UV scaling math right
  • Improve game performance if required. The ECS refactor in 0.6.4 improved the game performance a ton.
  • Fix lag spikes from organelle duplication in very large cells
  • Add an automatic suggestion to run a benchmark before starting the game for the first time
  • Improve the process panel display
  • Intercellular matrix graphics
  • “Final” microbe game balancing

I’ve been thinking most about those seven “scary” items (with auto-evo refactoring being an eighth that’s now underway), because I think that those are the ones most likely to keep dragging out for years of successive abandoned PRs. On the other hand, I think if we cover all of those the remaining work will be pretty manageable, even if it takes a long time, with the fabled 1.0.0 being mostly a matter of knowing when to draw a line and move on.

As for a new strategy to prevent some of these items occupying our lives for years, we might want to copy what Game Dungeon and I have been doing with the miche refactor: sharing a PR. It seems like having two people involved keeps things from dying out as fast (although Game Dungeon has been doing most of the work by far), and if our combined efforts get us through the review process and the Belgiuming linter, this massive refactor might get wrapped up in a pretty reasonable time. I know that at least I won’t be trying to tackle any of these big issues alone again.

I also made a simple flowchart of dependencies, since I think some of these issues don’t make much sense to work on before some others:

And there it is: a picture with a finite list of microbe stage things to accomplish. Is it a complete picture? Nope. Are we ready to call the stage “done” after just those features, and commit to not adding anything more? I’m not sure. But I think it might be good for us to start talking about it more, and thinking about how much longer Microbe Stage should last. After many years of stagnation, we might start to be running out of time to add big things to the little petri dish we call home.

2 Likes

I might try to do Environmental events once Planet generation is done but I don’t promise I’l succeed.

Would you be interested in finding someone to share the load with? I think we’ve had like three devs try to tackle dynamic compounds before, and it was the last major PR any of them worked on. I can’t and wouldn’t want to stop you of course, but each time someone fails one of these big tasks, that’s six months to a year down the drain.

(unless we just had two people working different versions of the same PR at the same time and just did “last man standing”, but that seems like a jerk move lol)

I’d say my best answer is we’ll see. I’ll probably end up just work on it and regularly ask for help since my code is likely to not work without help :upside_down_face:

Simple toxin customization is done. I think we’ll know in some time whether people really want the really complex toxin customizations as planned years ago here on the forums. Personally for now I’m happy enough with the state as long as this is done to take it off the roadmap:

There’s a PR for this but it’s been stuck for a while:

This should only scare the game designers. As hopefully there’s enough tweak variables in Constants.cs to get the game balance good.

If the PR that adds multicellular growth order gets done, then a very similar approach works for organelles as well:

Aren’t you the miche expert? Shouldn’t it be easy to extract information from miches describing what eats what? Or do the miches also end up in a situation where every species eatch almost everything else?

I think I vetoed this from the roadmap purely because it cannot be guaranteed to be done?

This is actually probably done.

Where did you get food chain editor? I don’t recall such a feature ever being discussed. I updated the roadmap page to say that it is basically just a graphical display of what eats what.

I would warmly welcome anyone wanting to try this strategy. I probably wouldn’t benefit as I think I can tackle basically any issue myself (except 3d membranes or planet generator if it needs to be more than a basic implementation). But it would be nice to again have someone review my PRs for a change.


I’ve made a few changes to the release roadmap page based on what I just discovered while writing this post.

Thanks for the update. I interpreted the word “editor” as meaning players can modify a food chain. That, and the fact that we can assume there’s a graphical element, put it on the “scary” side for me. Perhaps that was a mistake and we now have a clearer view of our backlog.

I agree it isn’t fair that nobody reviews your stuff. I don’t have a great solution, since I don’t think it’s wise to have all of your PRs wait for someone to have the time and volunteer. It’s also always tough to review the tech lead, since you do kinda win code style arguements unless it’s an obvious whoopsie.

1 Like