Releases: Revolutionary-Games/Thrive
Thrive 0.7.1
This release brings dynamic oxygen levels to the world that are produced once photosynthesis evolves. We also got a lot of graphics tweaks, and even new experimental graphics effects that can be turned on in the options. And those aren't the only very visual changes as the editor GUI got multiple improvements to give better insight into what auto-evo and cell processes are doing. This release completed most of the 0.7.x release roadmap but a few items couldn't be completed in time so this release was not called 0.8.0, which is now planned to be the version number of the next release.
You can read more in our devblog: https://revolutionarygamesstudio.com/devblog-44-oxygenating/
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
- The world now starts off with no oxygen and photosynthesis, once evolved, will add oxygen to the world. This effectively locks many organelles that require oxygen during the early game.
- Created a new much more graphical auto-evo report screen
- Implemented the food chain tab in the editor
- Added 3D membranes for microbes
- Improved the Thriveopedia with various new pages
- Converted the old help menu to open a relevant Thriveopedia page with links to important pages
- Upgraded to Godot 4.3
- Added a microbe background distortion shader effect that can be enabled in the options (this may become the default in the future)
- Added an experimental bloom effect that can be enabled
- Added mesh subdivision for the convolution surfaces to make them look better
- Metabolosomes are now locked until reaching a patch with oxygen
- Added hydrogenase as an early game glucose to ATP converting organelle
- Switched default toxin type to cytotoxin and modified the toxin creation process to not always require oxygen
- Renamed oxytoxy to just toxin in general toxin contexts where other toxin types are also used
- Iron respiration no longer requires oxygen to keep it viable in the vents biome
- Added an upgrade for flagellum for picking between long and short variants that have different energy cost and speed
- Added a new music track for the tidepool biome
- Added a new music track for the ice shelf biome
- Buffed engulfing resource gain
- Increased engulf size requirement for big phosphate chunks
- Added multiple new ice chunk types for more variety
- Made AI wait behaviour not trigger as much when out of just one compound type to reduce unnecessary AI sessility
- Added resource limiting mode for the ATP bar to view what would happen if some resource was missing from the cell storage
- Increased opacity of microbe membranes
- Added a new bump map for the microbe membranes
- Changed membrane bump map UVs to not distort with the membrane animation
- Added new radio and check button icons as SVG images
- Added one new microbe loading screen image
- Added type icons for compound and environment panels
- ATP balance bar tooltips now show which compounds are required to produce that amount of ATP
- Tweaked editor GUI to be closer to what it was before the Godot 4 update
- Abbreviated per second as just "s" in chemical equation speeds
- Updated the space and industrial stage prototype visuals
- Reduced pulling cilia power a bit when there are many of them
- Added an animation for when something is digested so that it shrinks to a small size instead of just visually popping out of existence
- Redid compound icons as SVG images
- Reworked patch and some UI icons as SVG files
- Created priority levels for PhotoStudio image generation to avoid important images taking minutes to load on slower computers
- Added an in-memory image cache for the PhotoStudio to speed up displaying images of the same species again
- Added a GDExtension for Thrive that will be used in the future to improve various things
- Added a compound cloud benchmark
- Added experimental dynamic compounds feature where patches dynamically change their available compound amounts based on the species that are in it
- Fixed mucocyst to work in cell colonies
- Fixed water currents not affecting chunks correctly ever since the ECS refactoring probably
- Fixed loading screen loading spinner not spinning smoothly
- Fixed Thriveopedia search not working
- Fixed a bug where the editor showed patch compounds as they were during the previous generation
- Fixed initial species compounds calculation never giving iron due to calculating only with available compounds in the default biome type
- Fixed the strain system always taking movement ATP while not moving
- Fixed used matter storage size flickering when ejecting too big objects that no longer fit in storage
- Fixed some cases where ejected cells wouldn't properly die and despawn
- Fixed saving status text not fading out properly
- Fixed image sizes in concept art gallery cards
- Fixed clicking on a miche node that is empty not clearing the info box which was pretty confusing GUI behaviour
- Reduced lag spike on selecting different patch to show details for
- Added a limit to the recent patch notes shown to ensure it doesn't try to display truly ridiculous number of notes for someone who hasn't played Thrive for years
- Fixed editor saves failing to load with a completed endosymbiosis action
- Fixed right editor panel being able to be too wide in certain translations
- Fixed auto-evo being able to remove the nucleus as a mutation
- Fixed art gallery model viewer not working correctly with 3D menu backgrounds being enabled
- Fixed "x worlds" text not being translated initially in the auto-evo exploring tool
- Hopefully fixed some engulf digestion and cells dying during it issues that caused cell chunks to spawn
- Added missing models to the art gallery model viewer
- Reimplemented debug line renderer as a GDExtension to make it much faster than before
- Refactored our compound related code to use enum values to simplify a lot of our code that needed to define special operations for various compounds
- Added code project for running small code benchmarks easily in the future
- Organelle tooltips are now dynamically generated from the organelle JSON data
- Improved our setup instructions for compiling on Linux
- Added new automatic code style checks related to post-increment
- Updated YamlDotNet from 16.0.0 to 16.1.3
- Updated Jolt Physics Engine
- Tweaked the pre-commit hook to be much shorter
- Updated code checking tools
- Improved our wiki content updating script
- Updated wiki text content
- Updated translations
Thrive 0.7.0
This release marks the completion of the 0.6.x roadmap. Next up we'll be working through the items on the 0.7.x roadmap. For this release the major features are a new auto-evo algorithm based on miches that should generate much better AI species, and there's now a convolution surface algorithm which gives macroscopic creatures a "skin" in the prototypes. There's also a lot of smaller new features and tweaks to the microbe stage as usual. The last roadmap items to be completed where engulfing balancing and fixing as well as allowing continuing as a related species in easy mode.
You can read more in our devblog: https://revolutionarygamesstudio.com/devblog-43-meshes-and-miches/
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 a completely new auto-evo algorithm based on a miche algorithm. This should massively improve the species auto-evo generates.
- Added convolution surfaces to add "skin" to macroscopic creatures to no longer display them just as a collection of metaballs
- Added sprinting ability to get a quick burst of speed
- Updated the compound cloud visuals with a new shader for more textured look
- Added new environmental chunks that emit phosphate
- Added feature to command the player species to migrate to new patches without the player having to move themselves
- Added mucocyst upgrade for slime jet which turns it into a defensive shield
- Added option to switch to a different species on extinction in easy mode instead of getting a game over
- Added a red screen flash as indicator for the player taking damage
- Added customization of toxin toxicity, which allows selecting between more damage per single shot or faster fire-rate
- Increased toxin initial velocity a bit
- Made cell turning speed ramp up much much faster when not pointing at the cursor. This makes the strategy of needing to overshoot the cursor past the direction you want to point at for maximum turning speed unnecessary.
- Microbe AI can now move sideways when trying to reach chunks or other cells
- Fixed eukaryotic engulfing size multiplier to be 2 instead of 1.5
- Prokaryotes now drop smaller cell chunks that are easier to eat
- Buffed dropped cell chunks to have 3x more compounds in them
- Added a cap to how many chunks a dying cell can drop to prevent absolutely massive cells causing issues
- Entering engulf mode without ATP is now possible at the cost of a little bit of health
- Added pilus damage cooldown on ejecting something to prevent ejected cells from immediately dealing massive amounts of pilus damage
- Increased maximum chunk count a bit to hopefully help with visual despawning
- Added buttons to the process panel to toggle individual processes on or off
- Cell colony members now forward messages to the HUD, which for example, allows indigestibility messages to be forwarded to provide info to the player as to why they can't eat something while in a colony
- There's now a few second cooldown before health regenerates after taking damage
- Added experimental siderophore feature that reworks iron gameplay to make it require shooting projectiles at big iron chunks to break off small chunks to then eat them
- Added a basic process panel view to the editor
- Added slider to resize metaball to be placed in the macroscopic editor
- Added simple X-axis symmetry mode to the macroscopic editor
- The prototype rocket launch animation now approximates an orbit entering manoeuvre instead of going straight up
- Tweaked when the low performance warning is triggered
- Fixed a bug where engulfed objects can get stuck in an incorrect state (entities in incorrect state are now force ejected)
- Fixed bug with the events timeline clearing wrong parts of the timeline after 20 generations
- Fixed organelle icons being cutoff in the Thriveopedia
- Fixed species preview tooltips not working in auto-evo explorer
- Fixed species preview tooltips not working in the timeline tab
- Fixed input keybindings menu not showing modifier keys along with graphical key representations
- Fixed slight visual artifacts with mixing clouds near the screen edges
- Fixed mouse hover panel checked world position under the cursor not taking our distortion shader into account (chromatic aberration option)
- Fixed various aspects of main menu 3D backgrounds 2 and 3
- Fixed multiple places in the editor where too long translations caused issues
- Fixed one 3D background having a particle emitter set to update at a limited framerate
- Fixed not being able to rebind inputs to CTRL, Shift, and ALT
- Fixed bug with rebound keys not displaying in key prompts correctly
- Fixed species colour not applying to all strands of cilia
- Fixed editor timeline global and local buttons being pressable at once
- Fixed word wrap not being enabled for auto-evo prediction panel, which caused issues with too wide GUI controls in some languages
- Fixed radial selection menu text being offcenter
- Fixed bug with editor button staying active while going to a later stage
- Thrive now prints the time when the game is started to log files
- Reduced memory allocations in microbe mutation generation
- Added a shader for iron chunk depletion and slightly updated the iron visuals in general (this is unused currently but is planned to be used in the future)
- Removed old auto-evo configuration options that are no longer used
- Made key prompts queue a refresh on data change instead of loading an updated icon immediately
- Wrote code documentation for BiomeCompoundProperties
- Added backend support for LAWK-locked organelles to be handled by the endosymbiosis system
- Updated some of the code README file badges
- Updated YamlDotNet from 15.3.0 to 16.0.0
- Updated code checking tools version
- Fixed our shader code check not working properly after the Godot 4 upgrade
- Removed old mutation code that the new auto-evo no longer uses
- Improved our threaded run generation script error messages
- Added TODO comments to a few places we could use graphics pooling as new graphics instance creation is one of the heaviest parts of the game in terms of performance currently
- Added more instructions regarding gettext to our setup instructions
- Updated translations
Thrive 0.6.7.1
This is a quick small patch release to fix a few major issues that were resolved since the last release. The most major fix is that many more older CPUs should be able to run Thrive now. This problem was caused by a build configuration setting unintentionally targeting much newer CPU instructions than intended.
You can read the details about 0.6.7 in our latest devblog: https://revolutionarygamesstudio.com/devblog-41-endosymbiosis-time/
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
- Changed compilation options for the fallback native library that should now work on older CPUs that only have SSE 4.2 and no newer instructions
- Fixed the game getting stuck when selecting 32 native executor threads
- Re-enabled Harmony mod loading as this no longer seems to cause the game to get stuck on start up with Godot 4
- Reduced unnecessary StringName allocations related to key prompt icons and checking pressed inputs
- Updated YamlDotNet from 15.1.6 to 15.3.0
- Updated Jolt Physics Engine version
- Updated translations
Thrive 0.6.7
Here is a release full of new features to make up for the previous few releases that were light on new features. The main 3 major new features are: endosymbiosis, day/night cycle enabled by default, and toxin customization. These add much more variety to the microbe stage and hopefully make the game significantly more enjoyable. Endosymbiosis allows you to create an endosymbiont organelle from another species giving a free copy of that organelle and unlocking placing that organelle. Day/night cycle has been polished up with some new GUI features in the editor to make it easier to determine if you can survive the night and as such is now enabled by default. The toxin customization feature allows using different toxin types that have different effects for more interesting toxin gameplay. Besides the major features we also have a variety of smaller changes and bug fixes (including one fix for the game freezing during gameplay).
Read more in our devblog: https://revolutionarygamesstudio.com/devblog-41-endosymbiosis-time/
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 endosymbiosis. It is now possible to engulf other species to turn them into free organelles and also to unlock those organelles in an alternative way compared to the normal unlock conditions.
- Added customization for toxin organelles to select various toxin types that have different effects than oxytoxy
- Added different colours for different toxin types
- Day/night cycle is now enabled by default but can still be turned off
- Added ferroplast organelle, which is the eukaryotic variant of rusticyanin
- Cells spawning close to night time (or during night) get extra resources to help them survive the night
- Buffed cell corpse chunks
- Added alternative unlock condition for oxytoxisome that unlocks it after dying multiple times, this models how prey species can become toxic instead of only predator species having access to toxin
- Added custom inventory item drag icons and updated land tree placeholder model
- Fixed auto-evo mutations code using exceptions for normal flow control, this fixes at least one identified case where the game would freeze completely
- Fixed compound bars when max storage amount is less than 1
- Fixed fluid currents system force not applying, this bug was likely present ever since the ECS refactor
- Fixed iron chunk collision model scaling and fixed their rotation differences compared to the visual models
- Fixed HUD messages font shadow not working
- Fixed a brief flash of the game when exiting the freebuild editor for the first time
- Fixed multiline text edit style not working correctly
- Fixed cheats being able to enable the editor button when already going to the editor which allowed causing a crash in the game by clicking the button again
- Fixed some problems related to multicellular species trying to enter binding mode
- Made AI cells that depend on resources that aren't present during the night be more sessile during it
- Added new GUI and warnings to the editor to show if storage space and compound production during the day is enough to survive the night for photosynthesisers
- Added a display in the editor showing how long each compound takes to fill up, this will hopefully help in planning for how to survive the night with enough resource generation during the day
- Made auto-evo consider surviving the night more to penalize species with not enough storage or resource stocking up during the day
- Created a new custom model for ice chunks to be separate from the particle effects also present in the patch
- Added support for organelle upgrades overriding the base model of the organelle, which will be used more in the future
- Added custom model and icon for injectisome upgrade
- Added custom physics time to metrics panel, this feature was done last December but somehow forgotten to be added until now
- Added support for loading more shape types to our physics engine integration in preparation for use with organelle shapes
- Created custom collision shapes for all organelles to finally properly fix them
- Tweaked glucose reduction effect code a tiny bit to be clearer
- Made orphaned node count in metrics panel ignore intentionally cached nodes
- Improved organelle model data handling to keep model path variables and scenes in a single data container to avoid future mistakes with mixing up data for different scenes
- Fixed some code warnings and fixed a bug in metaball moving that this uncovered where the parent metaball reference was not updated correctly
- Removed unused thermoplast mesh file
- Updated Jolt Physics engine
- Updated YamlDotNet from 15.1.2 to 15.1.6
- Updated xunit from 2.8.0 to 2.8.1
- Updated code checking tools
- Updated translations
Thrive 0.6.6.2
Here is another very quick patch release to address one major bug that prevented playing normally. This release now fixes the patch extinction screen not being properly sized, which made using that important part of the game very difficult.
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 the size of the patch extinction screen
- Updated translations
Thrive 0.6.6.1
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
Thrive 0.6.6
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
Thrive 0.6.5
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
Thrive 0.6.4.1
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
Thrive 0.6.4
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