Thrive Versions Save

The main repository for the development of the evolution game Thrive.

v0.6.6.1

5 days ago

This is a quick patch release to address some of the biggest issues with the previous release. This doesn't fix every single issue report we got after 0.6.6 as many of the issues still don't have known root causes and wouldn't be easily fixable in a small amount of time. The biggest visible things are the fixed organelle models as well as fixing the size and position of many GUI elements.

If you didn't already, check the news about the Godot 4 upgrade: https://revolutionarygamesstudio.com/devblog-41-godot-4-is-here/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Fixed organelle models looking bad in Godot 4
  • Improved the visuals of the chemoreceptor and tutorial lines
  • Turned off compression on the clouds perlin noise texture which was accidentally turned on with the Godot 4 update
  • Did some minor organelle visuals tweaks
  • Organelle placement sound is now only played if a placement action was done (fixes it being played for organelle removal)
  • Fixed evolutionary tree zooming in and out not working correctly
  • Fixed screen effects in miscellaneous settings not working
  • Fixed win and extinction screens
  • Fixed various GUI popup related problems in the later prototypes
  • Increased audio latency to 20ms which helps crackling audio if the game was running slightly too slow
  • Added extra error handling to Thriveopedia load and save load against scene load failures which seems like a randomly occurring bug in Godot 4 engine itself
  • Added extra safety checks around native library load and printing of current CPU name if it is not detected as sufficient for running Thrive
  • Added extra checks to our simulation running code to maybe start to narrow down a few bugs
  • Redid modal manager connect and check operation to hopefully fix one case of signal connection errors printed in Godot 4
  • Fixed position of our links popup in the main menu
  • Other GUI fixes
  • Added hyperthreading throttling instructions to our busy-wait loops
  • Our CI builds system works again
  • Updated our automated code checks to work on Windows again
  • Removed trailing spaces in shaders that Godot did automatically
  • Added game export script flag to ignore problems with installed Godot to just try to export anyway
  • Updated Nix flake to use Godot 4.2.2
  • Updated xunit from 2.7.1 to 2.8.0
  • Updated translations

v0.6.6

2 weeks ago

We have upgraded Thrive to use Godot 4. This huge engine upgrade has caused a lot of problems that we have been busy fixing. Most of the problems have been fixed but there are still some minor remaining unintended changes. This release doesn't have many new features due to the time taken to convert to Godot 4 as it had a lot more breaking changes and slightly different behaviour causing new bugs than expected. This release also now requires a Vulkan capable GPU for optimal experience. Thanks to better library loading support this release no longer requires AVX support from any CPU trying to run Thrive (there is now a separate native library included that doesn't use AVX).

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-41-godot-4-is-here/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Updated to Godot 4.2.2 (we were previously on 3.5 so this is a massive upgrade)
  • Updated to .NET 8 runtime and C# 12 as it turns out this can be used with Godot 4
  • New engulf animation that creates wave lines instead of the old just flashing blue animation
  • Oxygen now has different levels in different patches which affects the utility of certain parts a ton
  • There's now a native library variant that doesn't require AVX, this should make Thrive playable again on some older CPUs
  • Arabic fallback font had to be removed as it caused buggy line heights in all text in Godot 4
  • Osmoregulation cost values are now shown in red as it is a negative property
  • Engulfment storage full tutorial now has an end trigger once the player has digested enough things
  • Fixed new player species name not immediately applying after exiting the editor
  • Fixed new cell button crashing multicellular freebuild editor
  • Fixed data cache disposed errors that only seemed to trigger in exported version of the game
  • Fixed no changes in editor tutorial being able to prevent multicellular editor exit
  • Memory usage metrics now works on Windows
  • Fixed CPU check only checking AVX and not AVX 2 which was then used anyway causing a crash on CPUs that have AVX but not AVX2
  • Switched the AVX feature check to use standard C# function, which is hopefully more accurate than the previous approach that we got reports about false negatives
  • Tweaked wording on the fallback opengl renderer use and disabled the 3D backgrounds again for that as they still aren't fully correct
  • Updated our colour picker customizations for Godot 4 (pick from game window seems to not work currently on Linux)
  • Removed our custom checkbox implementation now that Godot's has all the needed features
  • Switched from the previously used tar compression library to C# standard one which shouldn't have any save corruption issues (due to this we were stuck on an old version of the compression library)
  • Added check to tools against omitting part of a version number this removes potential for a mistake that almost was in 0.6.5
  • Added simple C#-code-only unit tests for a few things
  • Converted some things to use direct references instead of NodePaths
  • There's now a nix flake for Thrive developers
  • Updated our documentation impacted by the upgrade to Godot 4
  • Updated Jolt physics engine to newest version
  • Updated YamlDotNet from 15.1.1 to 15.1.2
  • Updated AngleSharp from 1.1.0 to 1.1.2
  • Updated code checking tools version
  • Updated translations

v0.6.5

2 months ago

With this latest release the game performance is improved even further and memory allocation count is optimized. This is the final release for now trying to improve the game performance. Even though the main focus was on performance again there are plenty of other fixes and improvements. The big 2 new features this time are the fog of war for the patch map and organelle unlocks.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-40-unlocking-potential/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Implemented fog of war for the patch map, you now need to explore the map to find all the patches that exist
  • Added part unlock system. Some organelles are now locked until the player fulfils certain conditions.
  • Added multithreaded running of ECS systems. This improves the performance a bit more on systems with enough CPU cores.
  • Reduced memory allocations during normal gameplay by 75%
  • Auto-evo prediction now shows the gained energy first and population second
  • Hovering over a species name in the editor report now shows an image of the species in a tooltip
  • Added button to eject all engulfed things, helpful when you have ingested too poisonous prey
  • Thriveopedia now has inter-page links and external links
  • Added a button to open an organelle's Thriveopedia page when hovering over the organelle
  • Added multiple new microbe stage tutorials and reworked many existing ones as well as changed the tutorial flow in the editor
  • The initial tutorial message is now customized based on the life origin selected in the new game options
  • Added a new microbe stage music track that is exclusive to the vents biome
  • Reduced bacteria swarm spawn counts for larger bacteria to try to balance large swarms of killer bacteria that clear out all smaller species
  • Reimplemented pilus damage stab cooldown when dealing large amounts of damage at once, hopefully to prevent ejected cells from very quickly killing their engulfer
  • Previous gathered energy is now shown in the prediction tooltip for comparing to see how much the increase/decrease is
  • Did some further small system tweaking based on profiling for a bit more performance
  • Increased minimum entity counts a bit now that we have more game performance
  • Reduced density of big iron chunks to make them pushable by cells again
  • Fixed big iron chunks having their collision models rotated differently than the visual modes (this caused the visuals to now be rotated differently than before until someone can remake the model)
  • Added explicit check for available CPU features and making the game exit cleanly if the current CPU is not new enough. This is implemented through a small library which is loaded first and only after confirming things are good loading the main native code of Thrive is done.
  • Improved the handling of native library load not succeeding and the game needing to close (this shouldn't be a hard crash anymore)
  • Made compound cloud creation use interlocked operations rather than locks to slightly improve performance
  • Added middle mouse button for panning to the list of rebindable keys
  • Middle mouse button can now be used to pan in the society stage
  • Made the move and delete hotkeys work for macroscopic editor
  • Late multicellular speed now depends on the amount of myofibril metaballs
  • Added a cheat for unlimited growth speed
  • Cells now stop emitting mucilage when joining a colony, this should fix a really old reported bug
  • Tweaked auto-evo prediction GUI a bit to give more horizontal space for numbers
  • Fixed bug with colony member attach positions sometimes being incorrect which has been a bug for a really long time (note that this is different from multicellular body plan change bug)
  • Fixed engulfing used storage not taking things currently being pulled in into account leading to overuse of storage and ejection
  • Fixed engulfing not taking targets being in colonies into account, now the lead cell is no longer always yanked out of a colony
  • Fixed regression in previous Thrive version with multicellular growth buff not working leading multicellular growth to be half the intended speed
  • Fixed regression in entering engulf mode in a colony where other members could engulf but the player couldn't
  • Fixed editor button not re-enabling after exiting a colony
  • Fixed some bugs related engulfable being stuck with 0 contents, at least infinite toxin damage should be fixed
  • Fixed a crash when accessing incorrect cell colony member index due to one missing "=" character in the code
  • Fixed Thriveopedia map not displaying if opened before going once to the editor
  • Fixed slime jet activation only playing a single frame of animation, now a full animation cycle is always completed
  • Fixed bug with visual system setting Godot scale directly when a separate system should be doing it
  • Fixed microbe sound effects continuing after cell death
  • Fixed mouse click not working regression in signaling agent command wheel
  • Fixed toxin projectile visuals not loading properly from saves
  • Fixed fossilise buttons not updating their state when a species was fossilised, now the buttons correctly show the species as being fossilised
  • Fixed bugs with body plan editor and cell editor displaying their graphics at the same time
  • Fixed the 3D environment colour leaking into the cell editor in multicellular editor (the background is now disabled while in the cell editor and enabled when returning)
  • Fixed saving not working in the editor if a save made in the editor was loaded and the stage was not entered in between
  • Fixed an error being triggered when exiting from a save loaded in the editor without going to the microbe stage before quitting
  • Fixed the metrics panel entity counts not making much sense with the ECS changes
  • Added option to turn off the multithreaded world simulation in case it is slower or has other issues
  • Added new setting to control the number of native executor threads (affects physics performance)
  • Added some more models to the list in the gallery
  • Added some extra safety checks to task executor based on one recent crash report
  • Added some safety code to ensure ejected cells will despawn in a few seconds if they are dead
  • Added safety code against entities being stuck in dead engulfers, instead the engulfing state is now properly cleared
  • Added safety checks in editor enter button state apply to ensure the player hasn't died during the one frame it takes for the state change to apply after it is triggered
  • Added code to force all cells into normal mode when they are engulfed to make sure engulfed cells can't be in weird states
  • Added a check to ensure gas compounds add up to 100% in biomes
  • Made the benchmark get progressively more intensive to ensure it should always eventually end
  • Removed protoplasm from the game, it was an old buff for AI bacteria cells
  • Removed a few unnecessarily saved fields from save files
  • Added debugging feature to draw debug lines easily
  • Added debugging helpers for verifying ECS component access patterns
  • Wrote an overall Thrive ECS architecture describing document
  • Implemented dependent entity delete for future use in Thrive
  • Added .mo files to gitignore to stop people accidentally sending those in PRs
  • Updated our scripts to run on .NET 8
  • Fixed a few problems in the setup instructions (.NET 8, gold linker), added more info on submodules
  • Updated code style rules and checking tools
  • Added a styleguide section on avoiding memory allocations
  • Removed unused code constants
  • Renamed an interface in the code to clarify its purpose
  • Renamed UsedIngestionCapacity to UsedEngulfingCapacity in the code to improve clarity
  • Setup dependabot to automatically update our git submodules
  • Some native side code build options improvements
  • Applied our single letter LINQ lambda style across the codebase
  • Updated AngleSharp from 1.0.7 to 1.1.0
  • Updated YamlDotNet from 13.7.1 to 15.1.1
  • Updated Jolt physics engine
  • Switched translation files to no longer have source reference lines, this should reduce merge conflict amount massively, but most translation tools don't know how to look at the translation template file to find the reference line information
  • Updated translations

v0.6.4.1

4 months ago

Here is a patch release to fix most of the serious problems found in 0.6.4 after the release and improve the game balancing. After this there's only some minor issues left from the ECS architecture refactor. There's only a few kind of new features in this release: panorama backgrounds for late multicellular editor and some better tooltips.

The new features that were introduced in 0.6.4 were covered in our devblog: https://revolutionarygamesstudio.com/devblog-39-a-foundation-for-tomorrow/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Balancing improvements: movement speed for larger cells was increased a bit, bacteria can now again spawn in larger swarms than just 2 at once, and debuffed colony movement bonus a bit to make sure colonies aren't faster than individual cells.
  • Added better tooltips for microbe action hotbar and become macroscopic button
  • Added panoramic 3D backgrounds for late multicellular editor. Before they were used just for the stage itself.
  • Fixed cells not appearing at all when using low thread count. The same root cause also caused cell rotations to stop working after some time in the game.
  • Hexes placed in previous editor session are now slightly darker to make them actually visually distinct
  • Engulfing animation now correctly stars from the engulfed object's world position
  • Fixed eukaryotic size bonus for engulfment not working
  • Fixed new health max not applying after exiting the editor
  • Fixed engulfing pulling in animation playing twice in a row
  • Fixed engulfing endosome graphics scale blowing up a ton when engulfing a specific object type
  • Fixed engulf eject animations not working at all
  • Fixed a crash related to despawning engulfed objects
  • Fixed a save error when a species had a chemoreceptor set to detect that species it was in
  • Fixed incorrect data being generated for multicellular body plan indexes which lead to a crash when colonies regrew lost cells
  • Fixed tutorial about leaving colony to be able to enter the editor being able to trigger in early multicellular stage
  • Fixed the reproduction bars staying white if the player died when the editor was available. Also with the same change compound bars will only update while the player is alive.
  • Fixed softlock when pressing the editor button but the player was in a microbe colony (not multicellular)
  • Fixed Godot warning that was printed when the editor was exited (this was from the options menu sound device list)
  • Fixed a Godot error when shutting down the game that was caused by PhotoStudio
  • Fixed crash in early multicellular stage related to organelle repositioning when exiting the editor
  • Mostly fixed microbe colony member positions. Members bound 3-4 cells away from the lead cell still have some rotation and positioning issues.
  • Made multicellular lost cell tracking ignore cells that no longer pointed to a valid cell index in a species' body plan. Most likely caused by removing cells from the body plan after that cell colony was spawned.
  • Going to the art gallery now disables the 3D menu background performance tracking which should fix unintentional low performance detection due to a lag spike
  • Removed old evolutionary tree build error message that should not be able to trigger anymore as we have had a save breakage point
  • Made speed cheats work much better, especially for larger colonies which got way too much bonus speed
  • Unified the cases of our JSON files, properties are now PascalCase everywhere (with internal names still keeping camelCase naming)
  • Fixed native library symbol upload script
  • Updated Nito.Collections.Deque from 1.1.1 to 1.2.1
  • Updated translations

v0.6.4

5 months ago

This release focused on the massive refactoring of the gameplay code to an ECS architecture and a different physics engine. That took up the vast majority of the time, and there's still probably new bugs caused by those changes in this release. Still some potential performance improvements couldn't be finished in time, but will be looked at in the future to hopefully get even a bit more performance than these good performance gains. There were a few new features developed by contributors for this release.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-39-a-foundation-for-tomorrow/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Refactored the entire microbe gameplay code to use an Entity Component System (ECS) architecture and a different physics engine (Jolt). This took up the vast majority of the time spent on this release. As a result of this many things in the game will feel slightly different and there will definitely be new bugs that have slipped past us. We will attempt to quickly fix any new bugs introduced with this change.
  • The game performance is now 20-100% better than before thanks to the ECS and physics rework (different benchmark parts have different improvements, and different gameplay conditions also have different performance gains)
  • Improved auto-evo performance by about 50%
  • Added a native C++ library for Thrive that has the physics engine integration for now but we can in the future move computation heavy parts of the game there that might benefit performance
  • Added two new context specific microbe tracks that can play instead of the normal microbe ambiance when in those specific patch types
  • Added Thriveopedia pages for each of the organelles currently in the game
  • Fixed 2 very often reported multicellular crashes: InvalidOperationException: Sequence contains no matching element and ArgumentException: OrganelleTemplate can't be placed at this location
  • When low performance is detected in the menu the game will now prompt the player to disable the 3D menu backgrounds
  • Improved the visuals of the organism statistics panel and added / updated related tooltip icons as well
  • Chemoreceptor can now be upgraded to detect cells of a certain species
  • Added vacuole upgrade to specialize it for a certain compound. Specialized vacuole stores double the normal amount of the specialized compound but provides no storage for other compounds.
  • The pilus now applies damage based on the physics penetration amount instead of always a fixed value. Faster collisions result now in more physical damage.
  • The pilus can now be upgraded to an injectisome to switch the damage to be toxic (instead of physical) and also to apply the full damage no matter how light the hit is
  • Microbes now use the physics engine to turn which should result in reduced rotation related bugs or slight issues
  • Microbe physics shapes are now a single convex body which performs better and it much more closely matches the visual size of the membrane
  • Microbe colony physics shape is now a single combined body. This should fix rare bugs with pili detaching or toxins hitting self when firing them.
  • Multicellular colonies now use absolute positioning of members set by the editor. This isn't perfect (leaves gaps) but the problem with cells growing at the wrong positions randomly should be gone now.
  • Membrane data generation now happens in a background thread to reduce stuttering happening while cells spawn
  • Added a tutorial for negative ATP balance
  • The AI will now most of the time not try to engulf something it cannot digest
  • The AI will now remember what it was doing before a save thanks to the component data being easier to load fully intact
  • Added 3D panorama backgrounds for various patch types for the late multicellular underwater part. These were completed a while ago but were never accessible in game until now.
  • There's now a basic page name search in the Thriveopedia
  • Improved initial compound handling for multicellular colonies
  • There's now a tutorial for the become multicellular button as many players seemed to not realize it was a button
  • Duplicating a cell type now selects it in the early multicellular editor
  • Becoming multicellular now has a timeline entry for permanent record when it happened
  • Added early multicellular freebuild mode
  • Organelle chunks that are dropped now stop playing animations (for example flagellum swim animation)
  • Fixed the most often reported crash, which was likely due to Godot integration with Bullet physics, by switching physics engines
  • Fixed subshape out of range errors from physics also thanks to entirely redoing the gameplay physics
  • Fixed the osmoregulation editor tooltips not updating based on the difficulty and current membrane
  • Fixed the AI shooting too early at a target it wasn't pointing at yet due to rotation no longer being almost instant
  • Fixed bug with glucose reduction showing up sometimes as NaN
  • Fixed the global timeline not showing populations correctly
  • Fixed a bug with incorrect resulting MP in early multicellular from incorrectly calculated actions on separate cell types
  • Fixed saving bug with ObjectDisposedException with HostileEngulfer
  • Fixed an exploit with deleting and duplicating cell types giving infinite MP
  • Fixed a crash when double clicking on organelle move
  • Fixed organelle popup menu not being tall enough with certain languages selected
  • Fixed symmetry trying to place multiple unique organelles
  • Fixed a crash when loading a save while load was already in progress (the new load is now prevented until the previous save/load operation completes)
  • Fixed the auto-evo exploring tool map not panning to show the selected patch initially
  • Fixed keyboard navigation in input options
  • Added one more fix (the 4th) now against accidental cannibalism (when turning multicellular)
  • Added multithreading to microbe growth, made easier thanks to the ECS architecture
  • Improved externally positioned organelles to use much less CPU time
  • Various disposed object exceptions should no longer be possible to happen with the gameplay no longer using Godot Nodes to implement it
  • Player cell related change callbacks now use invoke to trigger to reduce the chance of a rare bug triggering with them
  • Failure to delete a save should now give a popup warning about the error
  • Art gallery slideshow now works for models as well as images
  • Added a new separate icon for oxytoxisome to no longer use the toxin vacuole icon
  • Added a new icon for osmoregulation
  • Photostudio is now slightly faster at creating images of cells
  • Switched the early multicellular editor to use images of cells instead of cell objects for showing the body plan. This improves the performance a ton when there were large body plans being edited.
  • Tweaked the colour of the editor confirm button warning badge to make it more consistent with the other GUI
  • Fixed some situations where the editor confirm button warning got stuck on
  • Added new cheat in the microbe cheat menu to control the current time of day
  • Improved the handling of creating organelle upgrade actions / changes in the editor
  • The GUI no longer grabs focus during intro video to reduce chance of accidentally interacting with the menu while the video is playing
  • Fixed art gallery filter categories not reacting to language change
  • Species colour not applying to all organelles problem should now be fixed due to the component architecture where all organelles should read the consistent colour values that are copied
  • Organelle graphics are now slightly more colourful and pop out against the membrane more
  • Some microbe colony related corner cases are no longer relevant, but there's undoubtedly new bugs still left to fix with the newly redone system
  • Steam: fixed username display not reacting to language change
  • Steam: fixed bug with displaying library licenses
  • Split microbe HUD to its own scene to have better organization of the microbe stage
  • Moved enzyme descriptions to our JSON files to no longer have hardcoded descriptions in the code per enzyme type
  • Improved internal organelle position code to use read only data references when the data should not be modified. Same improvement was also made to some simulation parmeters data that was also returned as modifiable objects.
  • Git submodule info (current commits) is now included when packaging the game
  • Created a system to distribute precompiled native libraries for Thrive to more easily setup the new version for partial development
  • Updated code checking tools version
  • Updated YamlDotNet from 13.1.1 to 13.7.1
  • Updated Microsoft.CodeAnalysis.CSharp from 4.6.0 to 4.7.0
  • Updated AngleSharp from 1.0.6 to 1.0.7
  • Added new languages: Bengalian, Belarussian, and Macedonian
  • Updated translations

v0.6.3

10 months ago

This release adds all of the remaining prototypes for game stages that weren't ready in time for the previous release. Besides those there are a bunch of small fixes and feature improvements for the microbe stage and general GUI parts. This is a bit of a smaller release due to not many active volunteers and a lot of time has been spent in preparation for a game performance rework which will hopefully be in the release after this one.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-38-to-the-future-and-back/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Added the remaining prototype stages: industrial, space, and ascension. It is now possible to play through the skeleton of the game all the way from microbe to ascension, though the later prototypes have bare minimum content to show off the ideas of the stages.
  • Downgraded our compression library (SharpZipLib) to 1.3.3 which should resolve the intermittent save errors that have been happening the past few months
  • Added a new toxin damage sound (instead of reusing the emit sound)
  • Improved the placeholder tree and rocket graphics for the prototypes
  • Save error dialog now explicitly tells to give us the JSON debug log as without it debugging a save failure is basically impossible in most cases
  • Added a system for window panels to reorder this makes draggable windows go on top of other such windows when they are moved around or opened
  • Added a new feature to the museum screen to delete fossils
  • Fossil saving failure will now show an error popup
  • Added miscellaneous fun screen filter shaders
  • Added an unknown key icon
  • Fixed game not fading out before playing the microbe intro video
  • Fixed 3 microbe backgrounds having non-repeating edges
  • Fixed current patch biodiversity fill always checking potential species to split from in a specified order (the order is now random)
  • Fixed some usages of random number generation having their upper limits be off by one
  • Fixed player accidentally becoming awakened if entering macroscopic while already having placed neurons
  • Fixed the ESC key icon not being used (instead the unknown key fallback was used before)
  • Fixed sometimes the close X being invisible on our custom windows
  • Fixed the Thrive logo being blurry in the main menu and the credits
  • Options menu now lazily loads available language list
  • Switched a BOM check around to make dependabot tool updates work
  • Automatic checks now disallow gltf files as they are always worse than .glb files
  • Updated the style_guide on how to add words to dictionary to avoid typo warnings
  • Cleaned up some remaining references to ruby in the repo
  • Fixed a typo in CONTRIBUTING.md file
  • Updated AngleSharp library to 1.0.4
  • Updated a code checking library we use
  • Added support for Godot GUI tab names to be translated
  • Updated translations

v0.6.2

1 year ago

A new Thrive release is here with some new graphical treats, further prototypes and a whole ton of small improvements and bug fixes.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-37-background-technology-unlocked/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • New further prototypes: going on land is now implemented, becoming aware and awakened has been added, added basic crafting, inventory and resource gathering, placing buildings and founding a settlement is now possible, accumulating resources and placing buildings is now possible in the society stage, and finally researching a new technology and placing a factory allows moving to the industrial stage. The industrial stage prototype is where the current prototype work ended up at. That stage has just a placeholder graphic for a city.
  • Added entirely new 3D scenes to be backgrounds for the main menu, some of these are a bit performance intensive and can be disabled in the options
  • The membrane generation algorithm is now massively faster, and only results in slightly visually different membranes
  • Tweaked membrane generation to be tighter around organelles to more closely match the physics, and made multihex organelles send all of their positions to the membrane to fix large organelles in certain cases poking outside the membrane
  • The editor compound balance now shows the situation at ATP equilibrium, instead of assuming all processes run at maximum speed always
  • Compound cloud visuals have been slightly improved with a higher resolution noise layer
  • Separation between divided cells and colonies is now much better
  • Tweaked the visuals of button focus highlights, along with a few other element types
  • Microbes now spawn with initial compounds that are proportional to their compound usage (instead of fixed values)
  • Added late multicellular stage underwater panoramic background
  • When the player now reproduces the game will try to keep the entity count under control by despawning existing entities if there are too many (player daughter cells are prioritized if they make up a large fraction of the total entity limit)
  • Cells in colonies are now counted in entity limit (except the player colony as the player is not part of the entity limit)
  • Added HUD messages that show to report various things to the player, for example if the player can't engulf something the reason is now shown with this kind of message
  • Colony members that can engulf can now enter engulf mode even if the player cell cannot engulf
  • All chemoreceptors in a cell colony now function instead of only the lead cell's chemoreceptors working
  • The spawn algorithm for filling the area around the player now only spawns up to 80% of the entity limit to allow the sector spawning logic more chances to work
  • There's now a warning icon on the editor finish button if ATP is negative or there's an inprogress action that needs to be finished before exiting the editor
  • Chunks and projectiles are now shown in the mouse hover panel (inspector)
  • Added music tracks for the existing prototypes and upcoming ones, they can already be listened to in the art gallery
  • The day/night cycle light level in the editor now defaults to current value to match the gameplay time of day
  • Light levels now smoothly change in the editor when switching the time of day
  • Organelle upgrade GUI now shows adjusted MP costs correctly, instead of just always showing the absolute costs
  • Added a proper icon for the cilia pull upgrade to replace the placeholder one
  • Iron is now shown in the patch compounds graphs
  • Added 2 new multicellular prototype organelles: axon and myofibril (for future use)
  • Auto-evo prediction being calculated now shows a waiting icon
  • Entering the prototypes is now prevented with a controller as the prototypes don't have any focus on controller usability
  • Preview cells in the editor now don't create collision shapes which makes game performance better in the editor
  • Patch map display now starts off centered on the current patch instead of always panning to it when opening
  • Patch map tooltip, for how to move it, now takes a few more seconds to appear in order to be less annoying
  • New game setup menu is now more clear what the buttons do (back is no longer visible while in advanced view)
  • Improved the process speed indicator icon in the process panel
  • Microbe movement tutorial now has extra smoothing in how the movement direction prompts rotate
  • Added a new debug panel showing player current coordinates and mouse cursor world position
  • More elements in the Thriveopedia now react to language change
  • Fixed seafloor patch background image artifact (this had been a problem for years)
  • Fixed a visible seam in cell wall textures that was caused by the membrane generation code
  • Fixed a bug introduced in previous release where organelle tooltip process numbers did not react to patch change (photosynthetic organelles were the visible place where the issue was visible)
  • Fixed new game menu not wrapping text which could cause long translations to push settings sliders offscreen
  • Fixed the current resolution display in the options menu not always updating when toggling fullscreen mode
  • Fixed popup window close buttons not having a visual style for the focused state, which caused it to appear like no GUI element was focused in a popup when the close button was focused
  • Fixed the membrane disappearing for really thin and long cells
  • Fixed engulfed tutorial appearing even when the player could not be ingested
  • Fixed crashing when changing language after having visited the art gallery screen
  • Fixed editor tab buttons being too wide and overlapping the light level bar
  • Fixed temperature "compound" being incorrectly shown in the patch compound statistics graph
  • Fixed uneven main menu buttons with long translation texts, all buttons now stretch to the same width when one translation doesn't fit
  • Switched world settings text to use safe string format to ensure it can't crash the game due to translation mistakes
  • Removed classic patch map option as it had bugs specific to it and it was not going to get anyone to maintain that code to be compatible with new features
  • Reworked our custom popup window handling, organelle popup menu now has animations for opening and closing
  • Microbe digestion code now only runs 30 times per second to use a bit less performance
  • Removed saving of usefulCompounds in a compound bag as that data can be regenerated very easily and it increased save sizes unnecessarily
  • Our input system now throws an exception when registering a duplicate listener object, this will help in developing the game by catching that mistake much sooner
  • Improved the features of our GUI focus grab system
  • Improved the usage and internal features of our custom tooltip system
  • Refactored the species details panel and fossilization dialog internally to be more reusable
  • Simplified our game entering code to call the same function from more places
  • Improved our code settings class to prevent some potential mistakes
  • Added a safety check against an unimplemented feature in our save data loader
  • Wrote a document describing our saving system
  • Removed some old files and fixed a broken link in the repo docs
  • Updated our used compression library SharpZipLib to 1.4.2, this required switching our GZip handling to use the C# standard version to avoid a bug that broke saves with the new library version. Warning: there's still an intermittent save loading and creation bug (see: #4156)
  • Updated Netanalyzers library version to 7.0.1
  • Updated our used JSON library to version 13.0.3
  • Updated YamlDotNet to 13.1.0
  • Updated some check tool package dependencies
  • Updated our code checking tools version
  • Updated translations

v0.6.1

1 year ago

The highlights of this release are the new pulling cilia upgrade (and finished general upgrades framework), new movement mode selectable in the options along with further work towards full controller support, a microbe benchmarking tool, showing our news feed and new patch notes in the game, additional features for the auto-evo exploring tool, and of course various smaller bug fixes and tweaks.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-36-upgrades-people-upgrades/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Cilia now has an upgrade to make it pull in nearby objects, which is useful for predation
  • Added our website news feed to the main menu
  • Patch notes are now shown in the main menu first time when playing a new Thrive version
  • All patch notes can be accessed from the options menu
  • Added a new movement mode (screen relative) that can be used for keyboard input (it is the default mode for controller input)
  • Movement tutorial now works with a controller but has a warning that controller support is not fully done and is buggy
  • Added a microbe benchmark tool for more easily seeing what the game performance is on different hardware or testing changes that are meant to improve the game performance
  • Added new auto-evo exploring tool features (exporting data, running multiple worlds in a row + others)
  • Added day/night cycle tutorial
  • Added buttons in main menu and the pause menu to open the link for reporting bugs
  • Improved dynamic MP calculation to better handle some cases, especially the new general organelle upgrades system
  • The resource and health bars now show up to 3 numbers before switching to "k" suffix notation. This fixes a problem where ATP amount could overflow the box reserved for it
  • Microbe stats are now updated when doing move or upgrade actions this will make the numbers more accurately represent the current state of the edited microbe
  • The evolutionary tree is now in the game when playing freebuild (doesn't work in older saves)
  • GUI button focus visuals where they look bad should now be fixed
  • It is now possible to rebind and see controller buttons in the options menu (note to get default controller keybindings you, the input options needs to be reset to get them to appear)
  • Added controller button icons from Xelu
  • Evolutionary tree now works for freebuild games started with a fossil
  • Process panel now keeps working even when the player is ready to enter the editor
  • Auto-evo exploring tool now shows the total simulation run time
  • Much more of the game GUI is now usable with a controller or the keyboard
  • Implemented controller navigation of tabbed GUI interfaces
  • Welcome tutorial message now focuses the start thriving button by default
  • Fixed a bug with options menu thinking there are changed options, if the settings file didn't exist
  • Fixed a bug where left and right keys didn't work for GUI focus control
  • Fixed a crash when an entity with attached fossilisation button was destroyed
  • Added fossilisation buttons to more places
  • Invalid fossil files are now skipped instead of crashing the game
  • Fixed a bug in world generation where it failed due to not keeping track of a created tidepool patch
  • World seed is now logged when map generation fails
  • Light level updates are now no longer applied each frame to save slightly on performance
  • Fixed a few errors that happened when Godot loaded our code into the Godot editor process
  • Input rebinding controls are now destroyed when the options menu is closed. This reduces the number of background objects listening for inputs constantly.
  • Cleaned up some old unused stuff in organelle data file
  • Removed negative (or zero) passed time checks as Godot Engine should have a fix in now to guard against
  • Removed the dependency on Python for our translations script now there's one less tool required when developing Thrive
  • Updated our tools and scripts to use .NET 7
  • Updated our style guide for .NET 7 new code checks and fixed new warnings they found
  • Highlighted git submodule importance in our setup instructions
  • Unified codebase by removing use of Godot meta in one place
  • Improved the Github issue bug report template
  • Added a support in our packaging script to target the web platform, but as expected the game is totally broken when exported that way (someone might come along at some point in the future and make it actually work, but we aren't promising anything regarding this)
  • Improved text extraction for translation tool
  • Translations files are now alphabetically sorted based on keys, which will hopefully make fewer PRs required to update translation files
  • Fixed some trailing new lines in English text
  • Added a new code formatting check to ensure correct XML documentation formatting
  • Added a new custom code checking tool that finds some C# style problems and corrects them automatically
  • Added code style check for incorrect whitespace in English text
  • Updated translations
  • Steam: added a warning popup when Steam initialization fails

v0.6.0

1 year ago

Here's one more Thrive version to close off this year. We've decided to call it 0.6.0 to close off a really productive year and set the stage for the roadmap to start being completed next year. The biggest features this time are the Thriveopedia and the day/night cycle (this needs to be enabled when starting a new game as we didn't have time to fully polish the feature). The patch notes are shorter this time than usual because a lot of time was spent on the new Launcher 2.0, which was released recently.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-35-dawn-of-the-living-fossils/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Added day/night cycle. Note that due to missing tutorials, balancing etc. which we didn't have time for, you need to manually enable this feature when starting a new game in the advanced options.
  • Added the first few pages of the Thriveopedia to show info about the current game and show the evolutionary tree now in the game proper as well
  • Added fossilisation feature to save selected species to the museum which can be loaded through the Thriveopedia to the freebuild editor
  • Pilus damage now has a cooldown to prevent a ton of damage from it very quickly
  • Balancing changes
  • Fixed infinite compound ejection caused by negative compound ejection (only a bandaid fix for now due to time constraints)
  • Engulfing now gives extra glucose on top of what the engulfed cell actually had
  • Membrane colour transparency works again. Be prepared to have AI species evolve to be more transparent again to avoid being eaten by the player.
  • Refactored our code related to species colour adjusting when used in graphs
  • Fixed multiple issues related to organelle graphics rendering by changing their render modes and splitting organelles into transparent and opaque ones
  • New intro video
  • Added our social media and website links to the main menu
  • Added safe mode start up after Thrive crashed before managing to start fully. Safe mode can disable all mods and video playing
  • Digestion efficiency display in the editor now shows the separate values for each type of digestion to reduce player confusion regarding them
  • Fixed panspermia being selectable with LAWK being on by default now
  • Enabled word wrap for credits to fix some misaligned columns
  • Saving being unavailable in some prototypes now has the warning about that shown correctly when manually making a save in the later editors
  • New mucilage and slime jet icons
  • Starting with no mods enabled but having installed mods now shows a heads up notifying that mods need to be enabled first before they work
  • Fixed evolutionary tree being cutoff even when fully zoomed out
  • Added some features used by Thrive Launcher 2.0. Added button to exit to the launcher when the launcher is hidden and would otherwise be difficult to return to from Thrive. Store versions of Thrive now use seamless launcher mode to not show the launcher window before starting Thrive.
  • Improved performance of our custom rich text labels by only registering input listening when necessary
  • Saving now uses a new Godot API to generate the screenshot PNG this avoids an unnecessary temporary file write to disk and should be faster as a result
  • Fixed a rare crash when using a lot of slime jets
  • Added a bandaid on infinite compound ejection due to engulfed object having compounds with NaN amounts in it
  • Added some guards against dividing compound amounts by zero this should hopefully reduce how often the NaN compounds bug happens
  • Changed scene change mod callback to trigger slightly earlier
  • Updated some code comments related to the saving system
  • Fixed localization update script writing BOMs in .po files on Windows
  • Fixed some typos in the English text
  • Updated translations

v0.5.10

1 year ago

Another Thrive release is here. The biggest features this time are the timed reproduction system, slime jet organelle, auto-evo exploring tool, a lot of fixes, and many smaller tweaks.

Read more in our devblog: https://revolutionarygamesstudio.com/devblog-34-sticky-phylogeny/

Installation

For easiest installation, download the latest version of the launcher: https://github.com/Revolutionary-Games/Thrive-Launcher/releases/

Alternatively, download the relevant file below for manual installation.

Patch Notes

  • Switched reproduction to be more time based, cells now generate free compounds towards reproduction, and have a maximum use rate for growth compounds
  • Added new slime jet organelle
  • The player can now move to any patch their species is in or next to such a patch
  • Unhandled C# exceptions are now logged in game logs. If you get any of these please send the logs to us.
  • Added auto-evo exploring tool which allows running auto-evo and inspecting the results
  • Balancing changes
  • Auto-evo is now 60% faster by having more data caching
  • Replaced the ambiance tracks with completely new ones
  • Made some progress on the macroscopic stage prototype
  • Fixed auto-evo population number difference between text report and graphs
  • Reworked auto-evo predation calculations
  • MP text on organelle selection buttons is now replaced by an MP icon
  • LAWK is now on by default
  • Entity limit is now a weighted so that fewer big cells spawn
  • Potentially fixed a bug that allowed things to spawn over the entity limit
  • Fixed entity limit constraining compound cloud spawns
  • Fixed a major bug in the spawn system which caused a lot of outdated species spawners to exist. This should stop extinct species spawning and the player's old species spawning when moving to multicellular.
  • Fixed a save load problem related to engulfing with clearing objects
  • Fixed some situations where the dynamic MP calculation ended up at the wrong resulting MP, please let us know if you still see incorrect MP calculations
  • Rigidity slider is no longer ever disabled, bugs were fixed related to its MP use
  • Updated to Godot 3.5
  • Added new multicellular music tracks
  • Added one more piece of multicellular concept art
  • Patch name overlay is now on top of the movement tutorial
  • Added a welcome tutorial for early multicellular
  • Added a tutorial about exiting a colony to continue growing in microbe stage
  • Implemented radio button functionality for our checkboxes
  • Increased species split and migration rate to fill the larger maps faster
  • Tweaked procedural patch map connection logic
  • Fixed patches with duplicate names in regions
  • Fixed tidepool patches being able to directly connect to oceans
  • Fixed classic map patch connections not saving correctly
  • Added some controller input handling options in preparation for proper controller support
  • Planet seed is now shown in the editor
  • There's now separate button to hide/show the environment panel
  • Fixed auto-evo having a chance to read gameplay adjusted population numbers, which may have caused problems
  • Thrive now asks for window close confirmation if there are probably unsaved changes
  • Fixed low performance in the report tab coming from our custom rich text labels way too often re-parsing their content
  • Report tab now again reacts to selecting a different patch on the patch map tab. Also improved performance when selecting patches.
  • New game options now mentions and links to the performance options
  • Created a new system to save customized versions of game configuration objects, used for difficulty and auto-evo configuration. These allow old saves (in the future) to benefit from difficulty tweaks we do to the game
  • Added a few new cheats
  • Added the start of a resource loading manager system that should make the one linux crash we get reports about not happen by making the save screenshot loading happen differently
  • Opening the art gallery lag is now reduced by loading images gradually
  • The loading screen art now changes every 10 seconds
  • Prevented broken translations from crashing the game
  • Fixed an internal error with pause locks clearing with an unsuccessful save load
  • Tooltips now pick their direction better
  • Made a slight tweak to excess save deletion
  • Fixed some text in the GUI not reacting to language change
  • Fixed patch animations not playing in the patch extinction screen
  • Species name entry box now check the length of the input text visually and rejects too long names
  • Added GPU, current renderer and used GPU memory display to the options menu
  • The game now Waits for the loading screen to fade in before starting save load
  • Reduced the processing time used by axis type inputs
  • Disposed properties now have their paths logged when saving
  • Auto-evo now doesn't start while the stage is still fading out to prevent the game locking up for a while if only one background thread is used and auto-evo was set to not run during gameplay
  • Auto-evo run is now canceled if the game is exited to not leave multiple runs in the background if saves are loaded in quick succession
  • Tweaked the visibility of compound clouds a bit
  • Improved the height of the difficulty setup GUI
  • Updated compounds panel toggle button icon
  • Mod loader now gives a better error if a mod's .pck file is missing
  • Added a debugging tool to write current Godot SceneTree to a file
  • Our draggable scroll containers now hide the scroll bars by default
  • Fixed loading saves with engulfed objects in certain weird states
  • Fixed and improved engulfment related text and values in tooltips
  • Fixed warnings regarding GlobalTranslation when loading saves
  • Fixed a crash when closing the game with a game pausing popup window open
  • Fixed clipping not being enabled for the input configuration menu
  • Added a button to open our feature suggestions site
  • The exact commit and time Thrive was built is now shown in options
  • Exact build info is now shown for DevBuilds in the main menu
  • Save counting should no longer break if there are saves with bad numbers in the names
  • Graphs now use a cache for their data points to allow their re-use
  • Graph tooltips are now destroyed properly
  • Converted scripts in our repository from ruby to C#
  • Updated our code checking tool version
  • Fixed being unable to start the microbe stage scene directly from the Godot editor
  • Fixed a few code naming inconsistencies related to dB
  • Fixed the code for cell visual hashes using one field twice
  • Updated our setup instructions to recommend dotnet 6 SDK
  • Small git config change should collapse translation update diffs now by default
  • New languages: Norwegian, Vietnamese, Croatian
  • Updated translations