Aaron's Thrive Fork [0.7.2-a]



Inspired by Thim’s Thrive Fork, I’ve made my own personal fork of the game (from 0.7.1) 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.2-a. the -a at the end is for Aaron’s fork. This version number indicates that I consider the features of the fork to be equivalent to a major update from 0.7.1 to 0.7.2-a.

Note: in 0.7.2-a, I restarted the fork from scratch, this time using git, and porting over old features from the old fork based on 0.7.0 to the new one based on 0.7.1. This offers several advantages for my own sanity and for the ease of merging new features as they are developed in the main Thrive repository. However, I have not yet ported planet customization. If you want those features, you can still download 0.7.1-a. You can see a description of the old and new version of the fork below.

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

0.7.2-a (Latest)
Features

Original features in this fork include 4 new biomes, 11 new organelles and proteins (10 are bioluminescent!), new environmental chunks and hazards, generated planet maps, and a myriad other changes.

Planet Map

In 0.7.1, the patch map tries to generate 9 regions, but usually discards a few. In this fork, it generates 9 regions every time.

A given patch region has a 60% chance to be ocean, and a 40% chance to be land.
It also has a 17% chance to be frozen over with an ice shelf.

These are set values, and they will be configurable once I port planet generation from the old version of the fork.

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?

Biomes

Note: as of 0.7.2-a, all of the new biomes start with 0% Oxygen and Carbon Dioxide.


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

Lava rocks now spawn in the Vents and Seamount biomes. Touching them will kill you instantly. They also slowly vent hydrogen sulfide.


Rarer, but present in every biome, are uranium chunks. At the moment, these act the same as lava rocks, and kill you on contact. They also slowly vent phosphates.


Basalt chunks now spawn in the Vents, Seamount, Seafloor, Hadopelagic, Cave, and Aquifer patches, and are especially abundant in the Seafloor and Aquifer. They slowly vent iron.


Bioluminescent vacuoles have been added! They require a nucleus, and come in blue, green, yellow, red, and violet. Functionally, they are identical to the Signaling Agent.



Uploading: image.png(2)…
Uploading: image.png(3)…
Uploading: image.png(4)…

r

Luciferase is the protein equivalent of the Bioluminescent Vacuole. It is dimmer, and does not require a nucleus.

image
image


image

Other features:

  • took zombie ejected cells fix from main thrive repo

  • took more opaque membranes from main thrive repo

  • modified organelle shader to be wigglier

  • added galaxy main menu background; disabled other backgrounds

  • gave autoevo cells a broader range of membrane vibrancy and opacity

  • increased the amount that cell membrane color tints the organelles

  • made bacteria swarms up to 10x larger

  • made autoevo species 10x likelier to evolve the nucleus

  • doubled the amount of polygons membranes generate with for a smoother appearance

  • added a wider range of flagella length options. Max length 2x longer

  • renamed nitrogen fixing plastid to nitroplast Rename nitrogen fixing plastid into nitroplast · Thrive Suggestions

  • added rhizoid organelle Roots that make phosphorite · Thrive Suggestions


    Rhizoid appears like a longer version of cilia (smaller tentacles shown are actual cilia)
    image

0.7.1-a (Outdated, has Planet Customization)
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 fancier graphics, custom planet generation, 4 new biomes and a reworked patch map.

Graphics

I’ve implemented the background distortion shader created by @Deus , which may make it in some form into the main game, either in 0.7.1 or a future update.

I’ve also added a bloom effect, auto exposure, and a slight enhancement to overall brightness, contrast, and saturation in the microbe stage.





With auto exposure, the brightness of the screen will vary based on your surroundings.

If you’re near a bright object, the abyss gets darker:

And if you’re stranded in the darknes, background details begin to emerge.

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

Lava rocks now spawn in the Vents and Seamount biomes. Touching them will kill you instantly. Volcanic environments are now much more perilous!


Bioluminescent vacuoles have been added! They require a nucleus, and come in blue, green, yellow, red, and violet. Functionally, they are identical to the Signaling Agent.



Uploading: image.png(2)…
Uploading: image.png(3)…
Uploading: image.png(4)…

r

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

Disclaimers

EPILEPSY WARNING! Sometimes, in rare cases with lots of bioluminescent cells, the death of a bioluminescent cell can cause a large portion of the screen to flash white due to an issue with auto exposure. You are unlikely to encounter this in gameplay, however.

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

EPILEPSY WARNING! Sometimes, in rare cases with lots of bioluminescent cells, the death of a bioluminescent cell can cause a large portion of the screen to flash white due to an issue with auto exposure. You are unlikely to encounter this in gameplay, however.

  • 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.

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, 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

  • 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.

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

0.7.0.5-a:

  • Added dangerous lava rocks in the Vents and Seamount biome
  • Added the experimental background distortion shader created by @Deus
  • Added a bloom effect to the microbe stage
  • Slightly enhanced brightness, contrast and saturation in the microbe stage

0.7.1-a:

  • Added bioluminescent vacuoles. They come in blue, green, yellow, red, and violet colors
  • Added auto-exposure camera effect to the microbe stage

0.7.2.0-a:

  • ported fork to now be based on 0.7.1-rc1
  • took zombie ejected cells fix from main thrive repo
  • took more opaque membranes from main thrive repo
  • modified organelle shader to be wigglier
  • added galaxy main menu background; disabled other backgrounds
  • made blue the default bioluminescent vacuole and made other colors upgrades
  • made biolum. vacuoles 50 mp for balance with signaling agents (they have the same functionality but are prettier) and color upgrades 5 mp
  • added luciferase, a biolum. protein which is dimmer than the vacuole. Can also be upgraded to various colors
  • gave autoevo cells a broader range of membrane vibrancy and opacity
  • increased the amount that cell membrane color tints the organelles
  • made bacteria swarms up to 10x larger
  • made autoevo species 10x likelier to evolve the nucleus
  • doubled the amount of polygons membranes generate with for a smoother appearance
  • added a wider range of flagella length options. Max length 2x longer
  • renamed nitrogen fixing plastid to nitroplast Rename nitrogen fixing plastid into nitroplast · Thrive Suggestions
  • added rhizoid organelle Roots that make phosphorite · Thrive Suggestions
  • added rare uranium chunks in every patch; right now all they do is pose an environmental hazard. touching them kills you instantly. more abundant in Vents and Seamount
  • added basalt chunks in the Vents, Seamount, Seafloor, Hadopelagic, Cave, and Aquifer patches; very abundant in Seafloor, Cave and Aquifer
  • uranium chunks slowly vent phosphates
  • basalt chunks slowly vent iron
  • lava rocks now slowly vent hydrogen sulfide
  • removed screen brightness/contrast/saturation adjustments
  • removed auto exposure to lessen the severity of the bioluminescence flashbang bug
  • removed experimental microbe camera changes
  • removed planet customization (frankly porting it is a pain, download 0.7.1-a to play with it)
  • default planet size (# of patch regions) is now 9
  • default temperature is now 8 C (17% chance for each region to have ice)
  • default humidity is now 60 (60% chance for each region to be ocean
  • fixed player spawn transition playing twice when leaving the editor

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.

5 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

6 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.

3 Likes

3 Likes

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

7 Likes

EPILEPSY WARNING! Sometimes, in rare cases with lots of bioluminescent cells, the death of a bioluminescent cell can cause a large portion of the screen to flash white due to an issue with auto exposure. You are unlikely to encounter this in gameplay, however.


5 Likes

What does bioluminescence do at the moment?

For now, they’re functionally identical to the Signaling Agent. In the future I may change it so that there’s one bioluminescent vacuole organelle that you upgrade to choose the colot and choose the specific signaling ability it has

4 Likes