Aaron's Thrive Fork

Inspired by Thim’s Thrive Fork, I’ve made my own personal fork of the game with some experimental new features.

Why a fork rather than a mod? I found building and sharing an entire fork of the game easier than exporting my changes into a loadable code mod using Harmony. (See: Thrive Modding Guide) This format also provides more creative freedom and less pressure than implementing official features.

The version of this release is 0.7.0.4-a. the -a at the end is for Aaron’s fork. Because the first releases only have a few features, I am using the most minor number to denote the change from 0.7.0. When the original features are numerous and polished enough, I will consider them altogether to be a “major update” and the version number will change to 0.7.1-a.

With that out of the way, let’s get into what this fork includes:

Features

This fork is built off of a 0.7.1 devbuild. It includes some, but not all, of the features that will be in 0.7.1. This namely includes a more graphical auto-evo report and 3D cell membranes. (This is because I never want to play the game without 3D membranes again.) My new Tidepool theme for 0.7.1 has also been implemented.

Original features in this fork include custom planet generation, 4 new biomes and a reworked patch map.

Planet Generation

In New Game Settings, in the Planet tab, there are now a number of options to customize your planet.

You can name your planet, or generate a random name by clicking on the randomize button. For now, this is based on the world seed, so to get a new random planet name, you will need to generate a new world seed.

The Planet Size slider lets you choose the number of patch map regions (random oceans or continents) that generate. 9 regions (the default) represents Earth’s total surface area. The slider ranges from 2 to 20, letting you create a planet with a radius between roughly 0.5 and 1.5 Earth radii.

The Average Temperature slider lets you choose the average surface temperature of your planet. This affects the likelihood with which ice shelf patches will generate. The slider ranges from -50 C, the average temperature during Snowball Earth, to 20 C, which is a few degrees warmer than modern day Earth.

The Humidity slider lets you choose the ocean coverage of your planet. The number represents the % likelihood that a given patch region will generate as land or ocean. At 0%, the entire planet will be land, and all Coastal patches get replaced with Tidepools. At 100%, the entire planet will be ocean. The checks in the code that ensure a vent and tidepool patch exist at game start are disabled, so if you pick a starting patch that doesn’t exist in your world (like tidepool in an ocean world), you will be spawned at random.

The remainder of the sliders and dropdown boxes are currently unimplemented, and do not affect anything.

The screen also shows you a few statistics about your planet, measured relative to Earth, based on your planet size. These include Mass, Radius, Surface Area, and Gravity. Other statistics are on the screen, but are unimplemented and do not change yet.

In the Patch Map tab of the editor, there is now a Planet Map!

This map is drawn with simple polygons based on the layout of patch regions and certain patches in the patch map.

Ocean and continent colors are randomized within a certain range of colors based on world seed.

White lines connect hydrothermal vent patches, representing mid-ocean ridges where hydrothermal vents form in real life. This also represents where seafloor spreading occurs at divergent plate boundaries.

Black lines connect Hadopelagic biomes, representing oceanic trenches. This also represents where subduction zones occur at convergent plate boundaries.

Regions that are frozen over with ice shelf patches are represented by translucent white polygons. Adjacent ones will connect. At the moment these patches do not generate relative to the “poles” of the planet, and appear at random on the planet’s surface. But who said the poles have to be at the top and bottom?

If you set the Average Temperature to -50 C (the lowest number), then you will play on a Snowball Earth and every single region, both land and water, will be iced over.

If you choose ‘Warm little pond’ life origin and you are playing on a Snowball Earth, then rather than a tidepool (none exist), you will start in a Hot Spring, the only place where liquid water could be exposed to the surface.

A very basic Planet tab has been added to the editor showing some basic planet statistics. The planet name is a placeholder, and I intend to add randomly generated planet names in the future.

Here are some examples of planet generation:

20 regions, 20 C (no ice):

15 regions, 5 C:

A planet with default (earthlike) settings:

2 regions, fog of war disabled:

5 regions, fog of war disabled:

20 regions, 0 humidity, fog of war disabled:

20 regions, 20 humidity, fog of war disabled:

20 regions, 40 humidity, fog of war disabled:

20 regions, 60 humidity, fog of war disabled:

20 regions, 100 humidity, fog of war disabled:

Biomes


The Hot Spring is a new continental patch that has a chance to generate. It has the same compound distribution as the Hydrothermal Vents, with exceptions:

  • atmospheric gases are changed
  • the temperature is 50 C (still very high but less than the vents)
  • there is full sunlight
  • Both the Vents theme and the Tidepool theme play in this patch


The Aquifer is a new continental patch that always generates beneath a Hot Spring. Compound distribution is the same as the Cave, with exceptions:

  • Iron and Phosphate chunks are more abundant, slightly larger, and contain much more resources (last longer)
  • An Aquifer patch will (most of the time) connect to any Cave patches in adjacent regions, providing a new method of inter-regional travel


The Seamount is a new oceanic patch that has a chance to generate adjacent to Mesopelagic patches. It is identical to the Hydrothermal Vents, with exceptions:

  • it has the same light level as the Mesopelagic (1%)
  • it, of course, has a pleasant blue background
  • Additionally, the Vents theme plays in this patch


The Hadopelagic is a new oceanic patch that generates below Abyssal patches, replacing the Seafloor. It is identical to the Seafloor, but is a few degrees colder. This biome mainly exists as an excuse to draw ocean trenches on the planet map.

Other Features

Hold right click and drag while in the microbe stage to rotate your camera.

Disclaimers

I am not a programmer, and the coding work for this fork was done with the help of ChatGPT. (Which, I’m honestly surprised that it worked? we might be cooked?)

This project will not receive the same support as the main game. Expect bugs, broken things, maybe crashes, and save breakage.

The Linux version of the release has not been tested.

See the Known Issues section for current known bugs.

Known Issues
  • Saving is broken

  • When leaving the editor, the player spawn animation and fade from black plays twice, and the player spawns as if entering the patch for the first time. Unknown why. Population numbers and general gameplay are not impacted.

  • In some cases, especially with small planets, polygons can overlap the “edges” of the planet and spill over. May fix this in a future release

  • Sometimes, the player will not spawn in their chosen starting biome, but in a random patch. May fix this in a future release

  • At the moment, there’s some oddities with continental patch regions; sometimes there are strange gaps or extra spaces. Since it’s not too severe and the patch map is functional, I didn’t consider it a big deal, and I may address this in a future release.

  • Sometimes, a preview of an AI species from the graphical auto evo report can persist when you switch tabs. To get rid of it, switch back to the Report tab and hover your mouse over the player species.

Changelog

0.7.0.1-a:

  • Added Hot Spring biome
  • Added Aquifer biome
  • Added Seamount
  • Changed patch map code to always generate 9 regions
  • Added some official features from 0.7.1, including graphical auto-evo report and 3D cell membranes

0.7.0.2-a:

  • Added planet size customization

0.7.0.3-a:

  • Added planet average temperature customization
  • Added planet statistics in New Game Settings and planet statistics tab in editor
  • Added a visual planet map in the Patch Map tab in the editor
  • Added the Hadopelagic biome
  • Added Snowball Earth scenario when Average Temperature is -50 C
  • Fixed Auto-evo Explorer and Microbe Freebuild Editor

0.7.0.4-a:

  • Added planet naming system
  • Added Humidity slider
  • Added oceanless world scenario at 0 Humidity and ocean world scenario at 100 Humidity
  • Added randomized water and land colors based on world seed
  • Refactored mid ocean ridges and oceanic trenches to look much nicer
  • Added camera rotation in microbe stage by holding right click and dragging mouse

You can download the fork from the itch.io page, linked below:

Download

Aaron's Thrive Fork by aaronmkersh

To install and run, simply extract the downloaded .7z archive wherever you want and run Thrive.exe.

4 Likes

That page link shows me as 404. Did you set the game page public on itch?

3 Likes

Whoops, thanks for the heads up, it’s public now.

3 Likes

is there a way to make it run in opengl mode?

The command line options should probably work like normal, so reference: https://docs.godotengine.org/en/stable/getting_started/editor/command_line_tutorial.html

If I remember right the exact flag needed is --rendering-driver opengl3

3 Likes

2 Likes

5 Likes

Does the planet map thing work by drawing these textures between certain points on the patch map?

1 Like

Close, it draws polygons, not textures, but it does decide how to draw them based on the location of patches and patch regions. It then applies some extra organic randomness to each of the shapes.

The mid ocean ridges and oceanic trenches are drawn using straight lines of various thickness, but as of writing this reply, I’m about to upload an update where they use polygons instead and look much nicer.

2 Likes

1 Like

Wouldn’t that be like just 1 hydrothermal vent patch?

Nope, 0 Humidity means there are no oceans, and no hydrothermal vent patches.

1 Like

Does 0 Humidity have only estuaries and aquifers or what?

1 Like

0 Humidity still has all land patches, but only land patches. I forgot to mention that all Coastal patches however get replaced with Tidepools, representing tiny surface ponds (and there ends up being a lot of them).

1 Like

Does this only happen at exactly 0 humidity or below some treshold?

1 Like

At exactly 0 humidity. Otherwise 1 vents and 1 tidepool should always be generated unless humidity is 100. At or below 20 humidity, the background rectangle changes from ocean color to land, but that’s only a cosmetic change.

1 Like