Planet Generation Roadmap

It seems like now would be a good time to discuss expectations for the planet generation system roadmap now that we have reached 0.8.

As I have stated before, I have been designing the world generation system with the view of supporting the features required for the full set of Thrive stages. While the game design of the later stages gets less solid from microbe stage onwards, I believe that creating a robust foundation for world generation across all stages is feasible and will help enable the society stage and onwards to be developed faster. The requirements of the society stages and up will be much more intensive on the world’s management system, and I still believe that designing it from the start will work out far better long term. Even considering only the late multicellular and aware stages the focus of the world generator to be able to create terrain in real time is completely different from the current microbe stage, which only needs to create the world terrain once at a grand scale and then is only used to create the patch map. A world generator design only focused on fulfilling the microbe stage’s requirements would be extremely ineffective for the later stages, and unlikely to be much more useful in the long term than the current temporary patch map generator is. The ironic thing is that the world generation areas most required for replacing our current system in microbe stage is water based terrain generation and patch partitioning, which are the complete opposite of the features wanted for showing off development of the world generator, which is primarily land based terrain.

What does the project as a whole gain by adding in a full world generator compared to the current temporary one? It seems that a full world generator only starts to become relevant in game once the late multicellular stage or Aware stage is reached, where the scale has increased enough in size to a point where sizable parts of the world are visible. The major benefit I see of using the full world generator in microbe stage is for the continuity of gameplay and simulation between the stages. I see this as not very important right now when the later stages remain prototypes. This would suggest that for the microbe focused releases 0.8.x and 0.9.x, the world generator being fully integrated into the game will not be necessary.

While it would not enhance the gameplay of Thrive in the microbe stage roadmap, it would have a great potential for increasing the perceived visual progress of Thrive. Having a working planet generator be a part of the 1.0 release of Thrive seems like an opportunity that should not be missed, if possible. So, instead of fully integrating the planet generator into Thrive, it can be partially integrated as one of the later stage prototypes. This way, we get the benefits of its inclusion without the major drawbacks.

Assuming that we are still targeting the release of version 1.0 at the end of 2025, we have about 6 months for 0.8.x features and 6 months for 0.9.x features. What I am suggesting then is that for the 0.8.x releases, the microbe stage will continue to use the temporary patch map generator for the planet. The planet generator will instead be made a part of a later stage prototype which will likely be added in late in the 0.8.x releases. This will give hopefully enough time (~6 months) to develop the planet generator while also having it be a part of a non-critical part of the game until it has been made reliable enough. And, the planet generator would make it into the wider audience, for feedback and progress showing purposes.

The 0.9.x releases would then include replacing the temporary patch map planet generator. This could take a while to get right depending on how variable the worlds are and how much fine tuning the patch partitioning system requires to get desired number and size of patches. Only the water patches will need reliable partitioning as these are the only ones used for the stages with real gameplay. The land patches could still remain experimental as they would be expected to still be changing often.

That all being said, I would be willing to temporarily rush a minimal version of the planet generator created for the microbe stage if an alternative conclusion is made with significant support from the team. I am most interested in working on the features for the later stages of Thrive, especially the Society stage, but I do want to help Thrive to have as successful as possible a release of 1.0 as I can contribute to.

4 Likes

I agree with you on most of this. It is still good to type it all out so that everyone can be on the same page.

Do you mean like someone else would work on the 0.8.x goal of making some planet customization sliders that affect the patch map? That’s kind of necessary because otherwise we cannot consider the 0.8.x milestone done and never reach the 0.9.x milestones (which is basically just meant to be polishing up the microbe stage with some final features being done, however many releases that takes).

This seems basically fine. If you can finish the planet generator before the rest of the team has managed to complete the microbe stage, we can start the integration process, though if that turns out to be hard to get good results with it might be the case that the planet generator integration would maybe slip from the big 1.0.

I mean, in my mind we can probably hit even a Q2 2025 target for 1.0 if I get really busy with doing all of the minor roadmap items first and then hopefully getting some help with the bigger items still left. It’s probably going to be pretty tight, but not entirely out of the question. So that would leave just 6 months for both the improved patch map generator and the planet generator feeding into a patchification algorithm.


I’d personally say that if you take like a few weeks to do a better patch generation algorithm based on some planet type / star sliders, that would be pretty excellent use of time and would guarantee your work makes it into the microbe stage. As the other approach seems very risky in terms of if it is doable within the time constraints of when all other microbe features might be done already.

2 Likes

Time seems far more constrained than I thought (though this a good sign of course for overall development rate). I have been thinking over the 1.0 Roadmap and posted a more detailed version of my thoughts in Evaluating Thrive 1.0 Release Goals.

I will summarize what I said here:

Summary

I think that, with Version 1.0 being such an important milestone it might be preferable to add in more than the completion of the microbe stage. Having a more complete 3D organism editor and world generator will greatly increase the visual development of the later stages as well as Thrive as a whole.

The Microbe stage being complete plus visible progress in the later stages would set a good scene for Thrive’s success in the eyes of potentially new audiences reached, or even old members who left when progress was slow. The release of version 1.0 is a unique opportunity that we should try to make the most of as it is the version that is most likely to have a good reception than any other release will. If we rush through it too quickly than we might not be able to take full advantage of the potential for wider audience, more engagement with current audience, attracting new devs, and helping financially. In short: version 1.0 will be the version with the most potential to build hype for the game, and we should try to fuel the fire as much as we can.

I have singled out the 3D organism editor and the Planet Generator as the two features that will increase Thrive’s perceived development the most, as they are the major features still missing for Thrive to be visually complete. The 3D organism editor has been worked on relatively recently and I am feeling confident about developing the world generator, so I think there is a good chance that these features can be done in time.

However, I think that it would not be worth it to wait overly long on releasing Thrive 1.0 once microbe stage is finished. If it is determined that the additional features would take too long to add or the plan otherwise changes, then we could revert to the current plan of releasing 1.0.

We don’t have to decide on this for a while longer I think. In any case, development would remain the same except for the decision of either updating the current patch map generator or postponing the planet customization until a later release.

If Version 1.0 does end up being released in Q2 2025, then I would estimate a good chance of that being too soon to replace the current patch map planet generator with the full world generator. I would still expect the world generator to make it into a prototype stage, but it would be unlikely to be tested long enough to be confident in replacing anything important, especially for the 1.0 release.

If we do decide to extend the release of Thrive 1.0, then I would feel more confident in the ability to implement the roadmap described previously.

I would want to work on the current patch map generation code before starting the full world generator integration into Thrive anyhow. Unless I am mistaken, the current version creates the patch graph at the same time as the patch map, so this will need to be separated out so that the patch graph generated by the world generator can be displayed. Having a transitional stage where Thrive uses a general patch graph display algorithm using the current patch graph would be a good idea. I was originally planning on working on that later though, so if the timeline is fast then I might not be able to get to it quick enough for the 0.9 release.

2 Likes

I don’t think it is a good idea to withhold releasing the microbe stage in the hopes that delaying it makes it more likely for further stages to get major development. That just seems entirely backwards. We might as well abandon the microbe stage development at that point and just randomly make the most impressive seeming parts of the later stages. Then we’d be in a point where the start of the game is almost polished and we have a bunch of somewhat playable prototypes but no fully complete part of the game at all.

I have more to say on this but I suspect the dedicated thread will be a better place to fully formulate my thoughts.

This is a good idea, because like I suggested there’s probably not enough time to finish a full planet generator thing.

You should check the PatchMapGenerator.cs file to see how it is made. It is just a simple “one” step algorithm that just directly generates the patch objects and assigns positions to them based on a few rules. It doesn’t have any fancy underlying data structure that is converted to patches.