# Programming

**URL:** https://forum.revolutionarygamesstudio.com/c/programming/14.md

[Latest](https://forum.revolutionarygamesstudio.com/latest.md) · [Categories](https://forum.revolutionarygamesstudio.com/categories.md)

---

## [Design Clarification for Programmers](https://forum.revolutionarygamesstudio.com/t/design-clarification-for-programmers/57)

<div class="topic-metadata">

**Author:** [@system](https://forum.revolutionarygamesstudio.com/u/system)\
**Replies:** 0\
**Last updated:** [May 19, 2015, 4:58pm UTC](https://forum.revolutionarygamesstudio.com/t/design-clarification-for-programmers/57 "2015-05-19T16:58:02Z")

</div>

This thread is meant for programmers to post questions for clarification about design while implementing or preparing to implement a certain part of the game. Often these questions will be small aspects that have not p…

---

## [About the Programming category](https://forum.revolutionarygamesstudio.com/t/about-the-programming-category/43)

<div class="topic-metadata">

**Author:** [@system](https://forum.revolutionarygamesstudio.com/u/system)\
**Replies:** 0\
**Last updated:** [May 18, 2015, 3:07pm UTC](https://forum.revolutionarygamesstudio.com/t/about-the-programming-category/43 "2015-05-18T15:07:10Z")

</div>

The category for discussion on the game's code, where the real development takes place. Discuss the engine, scripting or setting up your own development environment here. Programming covers anything to do with coding t…

---

## [Auto-Evo refactor to reduce memory usage](https://forum.revolutionarygamesstudio.com/t/auto-evo-refactor-to-reduce-memory-usage/1276)

<div class="topic-metadata">

**Author:** [@Rathalos](https://forum.revolutionarygamesstudio.com/u/Rathalos)\
**Replies:** 22\
**Last updated:** [September 11, 2026, 2:31pm UTC](https://forum.revolutionarygamesstudio.com/t/auto-evo-refactor-to-reduce-memory-usage/1276 "2026-09-11T14:31:12Z")

</div>

There’s been a thread earlier this year about auto-evo performance, but I want to discuss a more specific project here. I will note that there is now also a separate Github project to handle auto-evo optimisation. And a…

---

## [Sky and clouds in Macroscopic](https://forum.revolutionarygamesstudio.com/t/sky-and-clouds-in-macroscopic/1271)

<div class="topic-metadata">

**Author:** [@xfractalino](https://forum.revolutionarygamesstudio.com/u/xfractalino)\
**Replies:** 1\
**Last updated:** [September 3, 2026, 6:13pm UTC](https://forum.revolutionarygamesstudio.com/t/sky-and-clouds-in-macroscopic/1271 "2026-09-03T18:13:56Z")

</div>

We have discussed Terrain Generation in other threads, but a nice-looking landscape needs an atmosphere too. Thrive needs a renderer for the sky and atmosphere, including clouds, fog and potentially weather. Lately I ha…

---

## [Godot version updates thread](https://forum.revolutionarygamesstudio.com/t/godot-version-updates-thread/1264)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 1\
**Last updated:** [August 21, 2026, 2:54pm UTC](https://forum.revolutionarygamesstudio.com/t/godot-version-updates-thread/1264 "2026-08-21T14:54:05Z")

</div>

I’m now making one thread where I’ll comment each time I update the Godot Engine version that Thrive uses (or at least when I remember to). We are now using Godot 4.7 Previous thread: Godot 4.6

---

## [Multicellular Auto-evo](https://forum.revolutionarygamesstudio.com/t/multicellular-auto-evo/1214)

<div class="topic-metadata">

**Author:** [@Thim](https://forum.revolutionarygamesstudio.com/u/Thim)\
**Replies:** 9\
**Last updated:** [May 25, 2026, 6:34pm UTC](https://forum.revolutionarygamesstudio.com/t/multicellular-auto-evo/1214 "2026-05-25T18:34:08Z")

</div>

Expanding auto-evo into the multicellular stage scares people. I think the main reason is the combinatoric magnitude of multiplying the number of ways you could add a cell times the number of organelles you could add to …

---

## [Technical discussion on Terrain Generation](https://forum.revolutionarygamesstudio.com/t/technical-discussion-on-terrain-generation/1237)

<div class="topic-metadata">

**Author:** [@xfractalino](https://forum.revolutionarygamesstudio.com/u/xfractalino)\
**Replies:** 1\
**Last updated:** [February 20, 2026, 11:01am UTC](https://forum.revolutionarygamesstudio.com/t/technical-discussion-on-terrain-generation/1237 "2026-02-20T11:01:29Z")

</div>

Terrain Generation is something that feels far into the future, but I believe it’s good to discuss about the architecture we are going to use already from now. @HyperbolicHadron has already raised the issue here and som…

---

## [The Debug Console](https://forum.revolutionarygamesstudio.com/t/the-debug-console/1228)

<div class="topic-metadata">

**Author:** [@xfractalino](https://forum.revolutionarygamesstudio.com/u/xfractalino)\
**Replies:** 3\
**Last updated:** [February 18, 2026, 1:37pm UTC](https://forum.revolutionarygamesstudio.com/t/the-debug-console/1228 "2026-02-18T13:37:23Z")

</div>

Hello, fellow devs! With some of the last few PRs a new “Debug Console” feature has been introduced in Thrive, which allows developers and testers to read the Godot console output in-game and execute custom commands. Th…

---

## [Improving cloud performance with caching](https://forum.revolutionarygamesstudio.com/t/improving-cloud-performance-with-caching/1232)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 7\
**Last updated:** [February 4, 2026, 1:40pm UTC](https://forum.revolutionarygamesstudio.com/t/improving-cloud-performance-with-caching/1232 "2026-02-04T13:40:32Z")

</div>

Recently the compound cloud performance has been attempted to be improved. One of those was to introduce caching for cloud to world conversion. That requires 81 vectors in total to handle all combinations, and a dictiona…

---

## [Godot 4.6](https://forum.revolutionarygamesstudio.com/t/godot-4-6/1230)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [January 29, 2026, 1:43pm UTC](https://forum.revolutionarygamesstudio.com/t/godot-4-6/1230 "2026-01-29T13:43:43Z")

</div>

We are going to update to Godot 4.6 as it looks like it has no bugs that impact us (we had to skip 4.5.1 due to input mapping problems). One significant change is that now on mouse click any GUI element does not display…

---

## [Auto-evo performance](https://forum.revolutionarygamesstudio.com/t/auto-evo-performance/1226)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 3\
**Last updated:** [January 22, 2026, 4:19pm UTC](https://forum.revolutionarygamesstudio.com/t/auto-evo-performance/1226 "2026-01-22T16:19:46Z")

</div>

Auto-evo has recently gotten some upgrades that have made it slower. So unfortunately the amount of feedback about auto-evo taking a long time has increased. And I’ve also personally noticed that I’m waiting more for aut…

---

## [Update to .NET 10](https://forum.revolutionarygamesstudio.com/t/update-to-net-10/1222)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [January 8, 2026, 2:00pm UTC](https://forum.revolutionarygamesstudio.com/t/update-to-net-10/1222 "2026-01-08T14:00:20Z")

</div>

I’m about to update all the Thrive related projects to use .NET 10 SDK instead of 9. So everyone compiling Thrive should install the new SDK version. Pull request that I’ll merge tomorrow if there’s no problems:

---

## [Low Performance Preset](https://forum.revolutionarygamesstudio.com/t/low-performance-preset/1198)

<div class="topic-metadata">

**Author:** [@HyperbolicHadron](https://forum.revolutionarygamesstudio.com/u/HyperbolicHadron)\
**Replies:** 12\
**Last updated:** [December 4, 2025, 9:34am UTC](https://forum.revolutionarygamesstudio.com/t/low-performance-preset/1198 "2025-12-04T09:34:35Z")

</div>

Based on my analysis of different graphics options used during a playthrough of the latest 0.9 devbuild, I have some suggestions for what settings to use for a Low Performance Graphics Preset. Disable Microbe Ripple Ef…

---

## [Basic Macroscopic Procedural Parts Design](https://forum.revolutionarygamesstudio.com/t/basic-macroscopic-procedural-parts-design/1203)

<div class="topic-metadata">

**Author:** [@HyperbolicHadron](https://forum.revolutionarygamesstudio.com/u/HyperbolicHadron)\
**Replies:** 1\
**Last updated:** [November 18, 2025, 10:21pm UTC](https://forum.revolutionarygamesstudio.com/t/basic-macroscopic-procedural-parts-design/1203 "2025-11-18T22:21:07Z")

</div>

I have spent a little bit of time designing a rough proposal for a procedural parts demo. These ideas seem to be relatively straightforward to implement in the game, though I do not claim that they are a particularly lon…

---

## [Thrive is now using Godot 4.5](https://forum.revolutionarygamesstudio.com/t/thrive-is-now-using-godot-4-5/1194)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 4\
**Last updated:** [September 25, 2025, 1:48pm UTC](https://forum.revolutionarygamesstudio.com/t/thrive-is-now-using-godot-4-5/1194 "2025-09-25T13:48:36Z")

</div>

Just to let everyone know it is time to install a new Godot version. I’ll also take this time to say that next (after I figure out why Mac builds are crashing) I’m tackling a new way saving will work. In anticipation of…

---

## [Upgrading to Godot 4.4](https://forum.revolutionarygamesstudio.com/t/upgrading-to-godot-4-4/1156)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [March 5, 2025, 1:58pm UTC](https://forum.revolutionarygamesstudio.com/t/upgrading-to-godot-4-4/1156 "2025-03-05T13:58:39Z")

</div>

I’m making this thread to let everyone know that we are soon switching to Godot 4.4, so anyone using Godot locally on Thrive should download the update now. Otherwise a lot of people will be surprised in a few days to wo…

---

## [The World Generator: A Dynamically Generated GIS](https://forum.revolutionarygamesstudio.com/t/the-world-generator-a-dynamically-generated-gis/1015)

<div class="topic-metadata">

**Author:** [@HyperbolicHadron](https://forum.revolutionarygamesstudio.com/u/HyperbolicHadron)\
**Replies:** 16\
**Last updated:** [December 21, 2024, 4:37am UTC](https://forum.revolutionarygamesstudio.com/t/the-world-generator-a-dynamically-generated-gis/1015 "2024-12-21T04:37:31Z")

</div>

I have been working on the world generation system for a while now, and I would like to discuss my findings so far along with a proposed solution: Defining the Problem:Thrive will need a world generation system that can…

---

## [Updating to .NET 9](https://forum.revolutionarygamesstudio.com/t/updating-to-net-9/1132)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [November 29, 2024, 5:09pm UTC](https://forum.revolutionarygamesstudio.com/t/updating-to-net-9/1132 "2024-11-29T17:09:17Z")

</div>

I’ll update Thrive to use .NET 9 as it was released a little bit ago. So everyone should go ahead and install the new SDK version.

---

## [Custom archive format for saving](https://forum.revolutionarygamesstudio.com/t/custom-archive-format-for-saving/1120)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [October 2, 2024, 11:58am UTC](https://forum.revolutionarygamesstudio.com/t/custom-archive-format-for-saving/1120 "2024-10-02T11:58:03Z")

</div>

I once again had to tweak what gets saved in Thrive and that means interacting with the JSON conversions. I think I’ve mostly found out all the pitfalls and ways to avoid them, but that has taken years of working with th…

---

## [Upgrade to Godot 4.3](https://forum.revolutionarygamesstudio.com/t/upgrade-to-godot-4-3/1114)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [September 3, 2024, 8:57am UTC](https://forum.revolutionarygamesstudio.com/t/upgrade-to-godot-4-3/1114 "2024-09-03T08:57:55Z")

</div>

I’m just posting this to let everyone know that we are upgrading to Godot 4.3 now. Once you have updated Godot on your computer it seems like it is a good idea to delete the .godot folder to make sure the editor doesn’t…

---

## [Proposal for Simulating Early Multicellular Organisms as Soft Bodies](https://forum.revolutionarygamesstudio.com/t/proposal-for-simulating-early-multicellular-organisms-as-soft-bodies/1113)

<div class="topic-metadata">

**Author:** [@Thim](https://forum.revolutionarygamesstudio.com/u/Thim)\
**Replies:** 2\
**Last updated:** [September 2, 2024, 6:47pm UTC](https://forum.revolutionarygamesstudio.com/t/proposal-for-simulating-early-multicellular-organisms-as-soft-bodies/1113 "2024-09-02T18:47:49Z")

</div>

I’ve been pondering the early multicellular phase, and how to model those organisms that aren’t quite regular enough in shape yet for techniques like good old inverse kinematics to apply. Personally, I would also love to…

---

## [3D Membrane System](https://forum.revolutionarygamesstudio.com/t/3d-membrane-system/747)

<div class="topic-metadata">

**Author:** [@Nunz](https://forum.revolutionarygamesstudio.com/u/Nunz)\
**Replies:** 16\
**Last updated:** [August 30, 2024, 11:22am UTC](https://forum.revolutionarygamesstudio.com/t/3d-membrane-system/747 "2024-08-30T11:22:32Z")

</div>

I wanted to make this thread for an issue I have decided to personally tackle and that is the generation of a 3D Membrane. So far I have come up with these solutions: First solution involves using an Edge Detection Func…

---

## [Removing translation file reference lines](https://forum.revolutionarygamesstudio.com/t/removing-translation-file-reference-lines/1082)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 1\
**Last updated:** [January 16, 2024, 9:57am UTC](https://forum.revolutionarygamesstudio.com/t/removing-translation-file-reference-lines/1082 "2024-01-16T09:57:41Z")

</div>

The .po translation files have references to where in the source code the text key is used. These cause a ton of merge conflicts and I’m fed up with them after recently doing 2 manual rebases where on each PR I had to fi…

---

## [Updated to .NET 8](https://forum.revolutionarygamesstudio.com/t/updated-to-net-8/1080)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [January 3, 2024, 9:26am UTC](https://forum.revolutionarygamesstudio.com/t/updated-to-net-8/1080 "2024-01-03T09:26:14Z")

</div>

I’ve opened a PR to update Thrive to use dotnet 8 SDK: I’m making this post to let everyone know that going forward for Thrive development you need to install the new SDK version.

---

## [Moving to an Entity Component System (ECS)](https://forum.revolutionarygamesstudio.com/t/moving-to-an-entity-component-system-ecs/1045)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 13\
**Last updated:** [October 22, 2023, 11:11am UTC](https://forum.revolutionarygamesstudio.com/t/moving-to-an-entity-component-system-ecs/1045 "2023-10-22T11:11:52Z")

</div>

While working on redoing the game logic using a custom physics engine and just delegating rendering to Godot, I’ve started to re-evaluate using a full Entity Component System (ECS) approach. I just spent a couple of days…

---

## [Rewriting the repository history to remove large binary files](https://forum.revolutionarygamesstudio.com/t/rewriting-the-repository-history-to-remove-large-binary-files/991)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 4\
**Last updated:** [June 26, 2023, 1:02pm UTC](https://forum.revolutionarygamesstudio.com/t/rewriting-the-repository-history-to-remove-large-binary-files/991 "2023-06-26T13:02:51Z")

</div>

For years now I’ve wanted to clean up some really old mistakes in the Thrive git repository. Way back before the switch to subversion, large binary files were included directly in the Thrive repo. These haven’t been used…

---

## [Creating a monorepo for the various web apps we may have](https://forum.revolutionarygamesstudio.com/t/creating-a-monorepo-for-the-various-web-apps-we-may-have/1039)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 2\
**Last updated:** [June 17, 2023, 5:09pm UTC](https://forum.revolutionarygamesstudio.com/t/creating-a-monorepo-for-the-various-web-apps-we-may-have/1039 "2023-06-17T17:09:27Z")

</div>

First off the definition: So now that I’m quite close to being able to start on a rewritten main website, I started thinking about how to structure the code sharing. Obviously it will share a lot of code with the DevC…

---

## [Increasing game performance](https://forum.revolutionarygamesstudio.com/t/increasing-game-performance/841)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 27\
**Last updated:** [June 15, 2023, 8:43am UTC](https://forum.revolutionarygamesstudio.com/t/increasing-game-performance/841 "2023-06-15T08:43:01Z")

</div>

Let’s get some information down on the dev forums as well about low performance. So the game seems to drop to low FPS after playing for quite a while. Even dropping to single digit FPS. I’ve already reduced the game ent…

---

## [Picking a physics engine for Thrive](https://forum.revolutionarygamesstudio.com/t/picking-a-physics-engine-for-thrive/1031)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 6\
**Last updated:** [May 27, 2023, 6:56pm UTC](https://forum.revolutionarygamesstudio.com/t/picking-a-physics-engine-for-thrive/1031 "2023-05-27T18:56:39Z")

</div>

Related to Alternative ways to fix the performance there’s actually a decision to make on what physics engine Thrive should use. Anyone have any recent experiences? I’ve used Newton Dynamics and Bullet before. Right now…

---

## [Renaming our custom window classes](https://forum.revolutionarygamesstudio.com/t/renaming-our-custom-window-classes/1030)

<div class="topic-metadata">

**Author:** [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Replies:** 0\
**Last updated:** [May 25, 2023, 11:38am UTC](https://forum.revolutionarygamesstudio.com/t/renaming-our-custom-window-classes/1030 "2023-05-25T11:38:14Z")

</div>

So we have very confusingly named CustomWindow in our code, which is custom, yes, but not a “window” at all. It is just a top level container that can be used to build windows (which is named CustomDialog which is at lea…

[Next page](https://forum.revolutionarygamesstudio.com/c/programming/14.md?page=1)
