Algae for example is visible to humans, even if we can’t see all of the individual organisms. We could simulate cell colonies as visible clumps similar to algae and the blob could feed on that. That would probably improve cohesion between the stages a lot.
I want to try to nail down some more concrete numbers here for the scale of the game. The metric I am using here is the longest dimension of the organism. Measuring everything relative to the smallest organism, the single hex LUCA, is the goal here.
Here is for a scale that has been modified to have a narrow range while still seeming relatively realistic: (Using more upper bounds on realism)
10um- LUCA
100um- Eukaryote (Typical size)
500um- Multicellular Group (Typical size)
1mm- Small 3D Animal
This scale is a good approximate fit for what is currently implemented in the microbe stage. If LUCA is defined to be 10um in radius, then an average minimum Eukaryote at end of Microbe stage seems to be around 60um (6x LUCA) and the average minimum Multicellular group seems to be around 400um (40x LUCA).
This does however imply that a 1mm scale for the jump to Macroscopic would be a far better fit than a 1cm scale. Going from 500um Multicellular to 1mm Macroscopic would be a reasonable jump of only 2x, which I believe would be continuous enough to seem reasonable for that transition. Going to a 1cm scale Macroscopic organism would instead be a jump of 20x, which seems like it would break the continuity of the stages.
On the initial transition to Macroscopic, if we want the experience to be continuous we are required to bring over the single celled organisms and Multicellular clusters in some form, otherwise the new 3D environment will be completely barren. I don’t think immediately replacing all microbes with abstract clouds will be a good enough solution, as that would be too close to just having the Macroscopic stage be like a new game disconnected from the rest of the game so far. And how would the Multicellular clusters be handled? Would they all be forced into Metaball based 3D organisms upon transition to Macroscopic? If they are reimplemented as cell clusters in 3D, then you might as well implement the individual microbes as well.
It seems like the better idea would be to reimplement a simplified version of individual Microbes in 3D. Since they will be small, they could be reduced to simple rigid membranes with reduced AI capabilities likely without loss of much noticeable detail. These would be approximations of the microbes just like clouds of microbes will be, but they are a transition step while the microbes are too small to have much individual complexity anymore, but too individually large to be reduced to a generic cloud.
I don’t think it will take too much effort to do the graphics for the 3D Microbes, as we already have a good base for that, it would just need to be simplified further and tweaked. Aaronmkerch already gave us an example of this with his first person perspective mod:
We will need to implement a robust LOD system anyway to work with the greatly varying scales of organisms in the 3D stages. If we did use 1cm as the minimum size Macroscopic organism then the difference in scale with the largest organisms at 10m would be a difference of 1000x. This is the same 1000x difference as LUCA at 10um compared to the 1cm Macroscopic minimum. We would need to create this system anyway, so we might as well also use it at the beginning of Macroscopic to have better continuity with the previous stages organisms. Having low LOD approximations of single celled organisms and multicellular clusters seems far easier than approximating the full metaball based Macroscopic organisms, and could serve as a good practice for when we have to do this for the more complex Macroscopic organisms.
(I picked 10m as a lower bound for largest organism. This is about the size of T-Rex at 9m, but still smaller than most whales, let alone the Blue Whale at 30m. This would only increase the minimum supported scale differences)
Also, to fully make my point, even if we were able to squeeze in the entire Macroscopic range of 3D organisms without having to have different LOD of organisms at different scales, once the Society stage is reached then the scale will increase yet again. Unless we want to chop up the different stages into discrete jumps in scale thus breaking continuity between them every time, we will need to have a consistent solution for transitioning between scales across all the stages.
First thing I will note is that I don’t think we should give too much weight to scaling things by organelle/part in the Microbe Stage. There are inconsistencies in size variety between different parts which aren’t realistic, largely caused by the sheer difficulty of having intense differences in scale between eukaryotes and prokaryotes. To accurately represent these differences would result in a big shake up (certain prokaryotes being too small to really see on screen, odd jumps in size when placing different parts that don’t correspond to hex count, etc.)
Second is that having a gradual transition results in alooooot of development time being spent on a very specific and probably short-lasting phase of the game for relatively little reward. The number of assets we’d need to have such a transition, as well as new game mechanics that are active only for that specific size, would take away a lot of work from the macroscopic stages. I’d assume such a period of being big enough to have larger structures, but small enough to see individual cells, would last maybe 5 to 10 generations.
I’d also have concerns on some limitations to what we can represent in gameplay at such scales. At that larger scale, cellular life can look abundant: how do we represent those hordes of individual cells swimming around and interacting with the environment? How can we allow for the introduction of certain autotrophic innovations, like those large macroscopic branching structures, while also allowing the player to do the same? How do we smoothly introduce terrain that isn’t spawning rocks, like in the Microbe Stage?
This isn’t something I’m necessarily adamant on denying, and having as smooth of a transition as possible is ideal. I was just under the impression that having such a transition would result in an extreme amount of work. So if we learn that such an endeavor wouldn’t be so bad, it could be something to investigate.
We need to go big enough to be able to explain why cells are no longer simulated. Because even if we got like 10x more game performance it wouldn’t be really possible to simulate the number of cells that a big creature could encounter in a short amount of time.
This is no longer the goal as the performance etc. just isn’t there. If someone can figure out how it could be done, great, but I’m not putting that into the official plans.
A LOD system wouldn’t help with the performance, I don’t think. Someone could profile the game again to get some latest numbers, but I need to focus on other things.
Unless you are talking about abstracting away cell simulation. But basically then we are with the official idea that microbes are only simulated as simplified clouds in macroscopic.
I’m of the same opinion: if it can be made to work it’ll be a great addition to the game. However, I think we shouldn’t delay further game development by requiring this smooth transition.
When I am talking about LOD, I am including simulation complexity also being reduced along with the graphics. I am not proposing that in the Macroscopic stage the individual cells would be fully continuous with the microscopic stage’s complexity when using the highest LOD. Once the Microscopic to Macroscopic transition occurs, individual microbes would be permanently reduced to only simulating basic movement as well as no organelles being rendered or simulated. This seems about as ideal as you can get, it is not much removed from simulating and rendering randomly moving spheres. If Godot cannot handle even this, then we will have issues with the later Macroscopic scale stages.
Also, I am envisioning that only the largest cells would be transitioned into a reduced complexity version in the Macroscopic stage while the smaller cells would be turned immediately into clouds. The largest cells would also be eventually transitioned into clouds once they become small enough in scale difference.
I don’t think that this would require any more individual cells on screen then is already supported if we limit to the largest cells, I am envisioning it looking similar to Aaronmkersh’s example here, which already seems to run fine. This cell density already looks decent enough that I believe it would be acceptable if we were not able to improve on it.
Not really, because the problem is the number of nodes. So it doesn’t matter if we have 100 microbes or 100 macroscopic creatures moving around.
But if we already fill the performance budget with cells, then where do macroscopic creatures fit? We need to have other macroscopic creatures around doing stuff than only the player. Quite a lot of the multicellular feedback so far has been that the players wish other species could also be multicellular so that there are others to interact with to make it more interesting.
Part of the reason I bring this up is that this is a universal problem we will have to solve. I think that your question could apply at any part of the Macroscopic stage. For example, if you are a 1m scale organism then you need to simulate not only organisms at a similar 1m scale, but also the smaller 10cm organisms or even possibly 1cm organisms.
In the general case, we can assume that the player’s organism will be in between the largest and smallest scale range. There will be a higher density of smaller organisms and a lower density of larger organisms. As the player’s organism scale gets larger, we need to phase out the smaller scale organisms. This could be done with a smooth LOD system, or by discontinuously phasing them out once a scale difference boundary is crossed. But either way, you still need to work with organisms across different scales whether they are Macroscopic creatures or microbes. Just cutting off all organisms smaller than the Player’s organism would not be a solution that would work; a Player that always has the largest organism would always exist in a empty world.
In the beginning of the Macroscopic stage, the smaller relative organism scale will be taken up by microbes. If we choose to discontinuously downgrade all microbes to minimum LOD clouds, then the player’s organism will eventually increase in size enough that the relatively smallest scale Macroscopic creatures will be the same relative size that the microbes would have been if they were simulated at an equivalent LOD at the beginning of Macroscopic.
As an example, more nodes would be allocated to smaller relative scale organisms than larger ones as that is how organism density scales with size. At the beginning of Macroscopic, the 100 nodes would be allocated more to the microbes, as they are the ones currently occupying the smaller relative scale. As the game progresses, the smaller relative scale would shift to being Macroscopic creatures, but the same principle will apply.
I do agree that it is important to get a handle on how we deal with scale transitions throughout the entire game, but even just from a gameplay perspective, the jump from 1 mm to 1 inch and onwards require much more substantial work than the jump from 1 cm to 1 inch (2.54 cm for those not blinded by the radiant light of the imperial system out there) and onwards. I think things like balancing for hydrodynamics, the factors influencing of body plans and anatomy and the structures offered, representing massive entities, etc. are incredibly difficult to conceptualize accurately when accounting for organisms that are both 1 mm and 1 m, for example. That difficulty also exists between 1 cm and 1 m of course, but to much less of a varying degree since the jump in orders of magnitude between the latter two are less extreme.
And, once again, all that work would be going into mechanics that are most relevant to maybe 20-30 minutes of gameplay rather than mechanics that would be more relevant to at least six or so hours of Thrive’s macroscopic gameplay.
I personally think that it’d be a shame to discard this part of evolution from the game, not only because it cuts the smooth transition we intend for, but because I think this intermediate period could be specifically used as a way to steer players off of energy sources (like iron, radiation, sulphur, etc) that arent viable at large scales, and into the intended food source (which is consumming other organisms for energy). So by the time the player can freely roam the enviroment we dont have to worry about them choosing chemotrophy at the start of the game and not being able to find food.
I was writing an extensive post about this specifically along with describing the enviroment and some concept art, but if you feel its not worth it I could always repurpose it to be about the intended macroscopic stage.
Either way, I understand that the most desired and lasting gameplay takes place during the macroscopic and aware stage and its understandable if cutting features to get to develop it faster is the best decision, but again, I think it’d be sad to cut this from the game. Though i guess its not entirely scrapped since some developer could always take it in the future if they wish, right? As long as it accurately fits the game.
Do still make that post and concept art if you are able to. Having some sort of visual would be useful, as it lets us visualize what a potential implementation of the stage would look like.
This is exactly why we picked a reasonable smallest creature size so that the size discrepancy between the smallest and largest is not too much. It will be true that in macroscopic we cannot have the entity limit work so that smaller creatures there can be more of. I don’t think the absolutely massive development time cost of this is worth it, but if someone can program it, I’ll welcome it. However, I still don’t think we should adjust our official plans to make them slower to implement to leave “room” for this.
How would you do that? Having learned from the microbe stage, all macroscopic creatures will be like 5 nodes max each. And those will be all critical like primary root of the creature, convolution surface displayer (and room for a few more in the goal if we need).
While it is sad to cut out a part of the game, the tradeoff is that we can spent the time that would be “wasted” in this on something else. I’d estimate even that the effort to make this one small part of the game would be the equivalent of basically one extra full stage. So for example we might be able to have aware done by the point we’d only have macroscopic done if we add this one feature.
Well, yes, that’s not in my calculation. If someone volunteers to make it, and manages to make it then in terms of time development schedule we’ve basically just gotten it without any extra used time.
These are all very good points, and I do agree that focusing on developing the gameplay of the larger scales first is more important. I had been assuming that the plan was to completely finish each stage before moving on to the next one, but it seems like this only applies to Microbe stage. In fact, I would argue that after the Microbe stage is finished we switch directly to working on the Macroscopic stage. That is the stage that everyone is waiting for, and will contain most of our main gameplay (along with the related Aware), so I think starting on it while we still have good momentum and a paid programmer would be best.
I think the Multicellular stage has a lot of potential to be fun, but we could instead temporarily use it as an easy and quick transition stage to Macroscopic. If we are going to have a discontinuity between Multicellular and Macroscopic anyhow, then we might as well work on the side that is more important overall first. We would want to tidy up the Multicellular stage at the same time, but only enough to have a minimally complete bridge to Macroscopic.
Later on, we could extend both the Multicellular and early Macroscopic stages towards each other to make it more continuous once we have time.
I could make a more detailed description of this plan on another post if anyone thinks this would be worth considering.
Makes sense to me.
Getting to the aware stage or even just getting to the point where the player can swim around a 3d enviroment and perform a series of activities (like interacting with NPC organisms or spend some time in a visually pleasing editor) sooner would be ideal as I think that’s what will get the most attention from the public eye (And what most community members have been waiting for, too) So in the grand scheme of things it’s for the better.
But I still wonder, though, how we’ll make the player move on to the intended energy source?
My initial idea was that at small scales, there’d be chunks (simmilar to the current ones) and the player would get the compounds by ingesting them, eventually as the player increased their organism’s size, these chunks would be less frequent / would give less of the desired compound, giving them some time to make the switch without instantly perishing.
Eventually, once the organism is large enough, the floating chunks would stop entirely as by that time they wouldn’t be needed. It would also have to be accompanied with a tutorial explaining it at the start of the stage to avoid confusion, probably.
Could this still be a solution if we start at the 1cm size? I felt like past that scale we wouldn’t have particles floating around as they’d already be heavy enough to sink to the seafloor. I bet other devs have much better ideas to solve this issue.
I don’t think we need to go this far because with the new rename of stages, I think multicellular will only take like 6-12 months to complete after microbe stage (depending on how much extra polish and features we want to add).
I would argue that it is more important to make the smooth gameplay flow from microbe to multicellular work, because recently many new players have talked about Thrive and when I’ve asked it has turned out that they haven’t played the included prototypes in the game. So not making multicellular good enough to work to funnel players to the later game, is not something I think we should do (to clarify I think we need to “complete” multicellular before moving official focus to macroscopic).
Of course again I want to clarify that there’s nothing that would stop someone from starting to work on macroscopic right this second, but so far there’s been very little work done on the prototype stages besides what I did for them.
I don’t think any part, including the chunks, should be reused from the microbe environment for macroscopic. I think it was probably Buckly who suggested that microbes can show up as volumetric clouds floating in the water that the first macroscopic things can eat. Or maybe stuff like algae mats?
But that’s really a discussion for other threads. There is a GDD page for macroscopic but it is very barren. Mainly, I think, because that would be going 2 stages past where we are right now. Though granted even the multicellular stage GDD page is pretty barren, which I guess is the eternal curse of Thrive where no one really wants to update the wiki.
If we were to skip ‘directly’ to Macroscopic, I think Multicellular would only need to be tweaked to be fast to get through. While it would not have the long term gameplay potential we would want it to eventually have, it would be easy enough for a player to progress through in order to get to Macroscopic. I think it would still be fun, as I already think current Multicellular gameplay is interesting, and with the current amount of content it offers it could work as a shortened transition stage. Doing it this way would reduce the replayablility of Multicellular on its own, but since it is short it would be worth it for the Player to go through it anyway, and it gives a final payoff by dominating the microscopic stage organisms.
That being said, if we could get Multicellular to only take 6 months to complete then it is hard to argue against doing that. I would still argue for doing the absolute minimum we think would work, but we might only know what is the minimum amount of features for worthwhile gameplay once we have implemented it.
I posted about how to handle small sessile organisms like algae, seaweed, fungi, corals or grass two days ago:
Since then, my train of thought about the topic of handling scale ran parallel to what @HyperbolicHadron layed out in this thread. A generalized LOD system for different scales in the 3D stages will be necessary anyways. That system will not only handle graphic simplification of small objects, but also the simplification of their simulation.
I’ve realized that this LOD system (the graphic part of it) will also be helpful for depicting anorganic environment assets at different scales (tying into the 3D anorganic environment design document I’ve written a while ago). I may come back to this point in a later post.
To get back to the topic of simulating smaller organisms: The system which will simplify microscopic organisms as clouds and microbial mattes (as layed out in this post by @Buckly) can and should be reused to simplify small macroscopic organisms when playing as a large macroscopic organism. Krill-like (macroscopic) plankton will function exactly the same for a whale-like organism as microbial clouds will function for a krill-like 1cm sized filter feeder. A field of gras will function exactly the same for a cow-like organism as microbial mattes will function for a slug-like 1cm sized grazer.
I’ve realized that my “3D anorganic environment design document” should probably be complemented by two additional future design documents: The “3D organic environment design document” and the “3D LOD system design document”. The latter will be relevant for both the organic and the anorganic assets, but I will talk about this concept more in the future.
To conclude, I sympathize with people who advocate for a transition which is as smooth as possible such as @HyperbolicHadron and @Bolsa as I’ve done so earlier in this thread. But in the last days I realized that it probably isn’t as important in which order we tackle the various scales of 3D gameplay. If these systems can be as universal as I think, we can easily go back to a smaller scale later and smooth out the transition by applying these systems, even if they were developed with a focus on gameplay as a larger organism.
I completely agree, and have come to this same conclusion as well. When discussing plans for having 3D microbes in the Macroscopic stage, I was coming from the point that we would already need the LOD system for the rest of the stage, and that adding in 3D low LOD microbes would be a natural extension on what we would already have. It would not need to be done immediately however.
Hhyyrylainen is rightfully concerned about the difficulty of implementing an organism LOD system in Godot, so perhaps we just need to decide on the ordering on which this system is implemented in. I don’t think that we can define a small enough scale range to have the entire Macroscopic stage work without a LOD system without greatly compromising it, but that does not mean that we can’t first focus on implementing a specific or compressed scale in Macroscopic that all organisms will fall into. Instead of having a fully functioning LOD system be a requirement at the beginning of development on the stage, it could instead be placed into a later goal for Macroscopic.
I do want to mention here that I am already developing a LOD system for the world generator. It is currently only designed for managing terrain mesh chunks, but I have plans to extend it to manage associated static entities such as rocks and foliage. The foliage would include the sessile organisms described in this thread The Sessile Question - #20 by MirrorMonkey2.
A separate LOD system might be better optimized to handle organisms that are immobile, but not anchored to the World, such as phytoplankton. This system could eventually evolve into the full mobile organism LOD system, but it could start by simply managing immobile plankton. Non-motile single cell phytoplankton would be ideal to begin this system with, and is why I proposed it earlier.
So to clarify, I am already planning on designing this system anyway, and it should be quicker to design once I have finished the World Generator’s LOD system. I would think that the plan would still be about the same if I was not already working on the system, it would just be that the LOD system might have to wait for the end of Macroscopic stage until it is implemented.