Now the question remains of, how would the tissues look like and how would the player decide the function of the tissues?
I guess we can do that. As long as the texture can be made that looks like cells, it should probably be about as easy as making the feature itself at all.
Thinking a bit more about the early transition, maybe we could make the cells have visually the organelles that they contain but only have one shape containing them.
So maybe we could transition to the tissue thing after 50-100 cells, then we could transition to the tissue texture, which would represent the >100 cells.
I’d love it if someone would look into improving the rendering performance of the organelles. Because I might have to do it myself otherwise (or limit the active alive cells a lot) as many players get single digit FPS in the later game, and from my profiling it seems to be about 60% native code running in Godot even on my computer, which I guess would be a rendering bottleneck.
Yeah this image from the concept art library is exactly what I had in mind in as an alternative for a less sudden jump in size.
Yeah, I was thinking this not only regarding the multicellular organisms, but also the unicellular ones which would still be present in the 3D environment. This is what I meant when I said this:
Fulstrum culling is active by default. There’s no occlusion culling. According to the docs the high amounts transparency would be the prime suspect along with Godot’s mesh instancing. The only recommendations given for instancing were using multi-mesh or using Servers rather than the Node system.
It doesn’t seem to be very effective for some reason though (I’ve been thinking for a long while that we’d need to manually set the bounds on the generated membrane mesh)? Well I guess I should get a native code profiler to see what that 60% native code is doing, if it is actually render calls or what.
Resuming our discussion of the editor; It seems that everyone is unanimously in favor of a hex grid based editor for early multicell So I am glad we knocked that out of the park. I can safely assume that further design will now be based off of the hex grid.
For managing the MP pools, it seems that everyone is in favor of either divided MP pools or just an all-encompassing standard one.
After thinking about it a little, I believe that the standard MP pool will suit our needs just fine to start with, so I am in favor of that.
Placing a single mitochondria on a tissue type can have a big difference, since it will effect all cells of that type. Thus it remains a large mutation for the entire organism.
Another perk with going with the standard pool is it shouldn’t require any additional programming, and we can use it as-is. If we decide we don’t want to go with it, we presumably won’t have to discard anything either.
MP Pool Recap
Per-Cell MP Pools
By granting each cell type their own MP pool, we can allow the player to make small changes throughout the cells of their organism without having to focus on any particular one. This could be balanced by altering the cost of individual cell parts, or by decreasing the amount of MP granted to each cell so less can be changed in each cell at once.
Divided MP Pools
By having two separate MP pools for cell specialization, and cell placement, we can allow players to tweak one or two of their cell types without sacrificing options for placing new cells on their bodies.
Dynamic MP Exchange
A bit of an unusual take that is difficult to explain, but by granting each cell their own MP pool, and then an overall MP pool for all changes, we can allow the player to make limited changes to many of their cell types at the cost of spending some MP they could use to place new cells.
(Ex: The player spends 90 MP to place 2 mitochondria in a cell, which then deducts 45 MP from their overall MP pool, leaving them with enough MP to make the same change to one other cell).
Standard MP Pool
All changes cost MP from the same pool, preventing the player from making very many changes to their organism at once.
Unfortunately, we seem to be very divided on how to handle the re-organization of cells that have been edited, and for good reason. There does not seem to be any easy or perfect solution to this problem.
I personally feel that needing to manually update the positioning of edited cells (Option 1) would make for a frustrating and undesirable experience for the player, as small changes to their cell types would constitute a major change in their organism’s layout each time. Not to mention the player could essentially reassemble their organism through this unless we found some way to restrict distance of placement from point of origin.
Thus I am not in favor of this option.
Option 2 might be our best option with the hex grid, as it eliminates the need to worry about repositioning edited cells.
Cells will either retain their original size in the organism when edited, or all cells will possess a uniform size in the organism; depending on what everyone believes will be more desirable. (Uniformity is less exploitable but more boring)
Option 3 shares a similar problem with option 1, as repositioning the cells automatically would not only be a difficult programming task, it would also result in the same undesirable reorganization of the player’s organism. Especially if the reorganized shape is not desired by the player. Thus I feel that this option is off the table.
In conclusion I feel that Option 2 is our best choice, but am willing to debate with others on the matter since this topic is highly contested.
The previously placed cells must be manually updated by the player, requiring them to reposition surrounding cells.
Nothing necessarily appealing to this option other than the lack of programming involved.
Cells are resized or otherwise don’t change size/shape but still effectively inherit changes made to them in order to fit.
Instead of cells having unique shapes in multicell, we could potentially get away with them all being generic save for some visual changes and external organelle placement. That or we automatically resize cells to fit, but that would not work well with the hex grid.
Surrounding cells are automatically pushed/repositioned to make room for edited cell types.
This is probably a nightmare to program without creating all sorts of bugs and issues, as well as potentially alter the organism’s shape in unwanted ways.
The multicellular editor shall utilize the tried and true hexgrid placement style and standard MP pool for all mutations.
I believe that cells placed on the organism should be uniform in shape (Excluding external parts) to avoid placement difficulties.
If anyone would like to discuss this matter, please let me know! If no one has anything to say then I will go ahead and update the multicell GD and we will be ready to move on.
I feel like this option is basically the easiest to implement, though without any adjustments will result in some visual glitching. But I think this is a good enough thing to start with. A ton of design decisions in Thrive seem to never come to an optimal design, so I think it’s much more important to get something playable done and start gathering feedback.
I’m also in the option two camp, and I take the extreme of having all cells be one hexagon. From the prospective of player experience, I don’t think anybody is out there thinking, “it’s not really multicell unless I can make a creature where some of the cells are exactly twice the size of the other cells.”
Option 2 seems a bit vague of resizing the cell to fit. Like, regardless of the cells actual size visually it will be the same?
This implies that after first creating the cell type its size will be set in stone.
Well, @Thim said what I was basically thinking regarding this. I forgot to address this point, but yeah, I think initially all the cell types should just be the same hex pattern (for example just a single hex).
The resizing aspect was referring more to if we went with the free placement option.
In the confines of a hexgrid, resizing is clunky at best if you made a larger cell that needs to fit in a smaller space…
Fo the hexgrid I also mentioned that we could preserve the initial size of cells even when they are edited but I feel that wouldn’t really be beneficial in any way.
We will likely do as hh mentioned; by having all placed cells occupy the same space as that is the simplest most headache free method of dealing with this issue.
It only sacrifices visual elements in the end, which while that might be a little disappointing for some, it’s atleast a safe option.
There’s been a lot of renewed discussion on Discord regarding the multicellular stage that’s generating a lot of interesting ideas. It is important to have these discussions since we need to understand what the Microbe Stage is building up to in detail, allowing us to move forward more confidently. We also have a better understanding of how we are approaching many important concepts and have a much more mature game in our hands. Discussions regarding the late-multicellular (macroscopic) editor, for example, have been very productive recently: Macroscopic Editor, Progression, and Principles
I realized though that, unless I am mistaken, we don’t really have a (detailed) understanding of how exactly gameplay will work in the beginning of the late-multicellular stage - what the player will actually be doing when they first progress to the 3D world. So I think this is an important area to consider in maturing our understanding of how we will manage the switch between the microscopic and macroscopic stages as a whole.
Now, we don’t need a very in-depth list of how every mechanic will work in the early macroscopic stage - just as was done with the Microbe Stage, we will figure out mechanics as we approach the need to implement them. We just need a good idea of what the player will be doing when they first become macroscopic. The beginning of the late-multicellular stage represents this awkward point in evolutionary history where organisms are macroscopic and complex, but blobby and soft-bodied, still developing into various more familiar lifeforms and food webs. Complex enough to be big, but not yet complex enough for advanced musculatures, skeletal structures, etc. So an understanding of how we will make gameplay a bit more than being an unremarkable blob for an hour that swims around willy-nilly is important.
I’ll start the discussion with a spitballed take on how we can describe the beginning of the late-multicellular stage. Then, we can all discuss what we agree, disagree, and are unsure of based on this starting point.
The beginning of the late-multicellular phase of gameplay - the advent of macroscopic gameplay - will be a huge shift, as the player now inhabits a vast, 3D world. Players could very likely be overwhelmed at first, so the introduction to the late-multicellular phase will reflect the beginning of the Microbe Stage; slow-paced and manageable, with many free resources and minimal threat from other organisms.
The first available sources of food will be somewhat similar to the player’s experiences in the Microbe Stage - players will be foraging on microbe matts alongside the seafloor and filtering through plankton near the surfaces (represented as compound clouds). Players who have parts such as rusticyanin can eat rusted iron deposits, though the low-energy output and shrinking resource pool means most organisms will transition to a form of heterotrophy or photosynthetic-autotrophy to sustain themselves and further progress. Photosynthetic, sessile gameplay is another topic which should be addressed with a focused thread. Plankton and microbial matt density will decrease as more and more organisms develop, eventually introducing an incentive to specialize into more advanced heterotrophic diets.
Players will have a new focus on movement, which will be more in-depth, customizable, and diverse than in the Microbe Stage. Two prominent methods of transversal will be a benthic lifestyle - bottom-dwelling alongside the ocean floor - and pelagic movement - swimming. Note that the two aren’t dichotomous - players can have the capacity to be both, though perhaps to a limited extent early on.
Players will already be offered ways to customize their movement. They can alter their movement strategies by changing their, surface area, mass, their body plan (perhaps increasing the amount of mesoglea found within themselves like jellyfish) or by changing the structure of their appendages. More surface-area and less mass will make it easier for the player to float-freely and swim upwards, but will make it harder to swim downwards. Less surface-area and more mass will make it easier for the player to latch onto the benthic floor and sink, but harder to swim upwards and float freely. Appendages will be limited at first due to a limited nervous system, musculature, and skeletal system, but will have some options. Some appendages will help you swim by either increasing surface area or providing a primitive sort of “paddle”. Other appendages will act as simple graspers/limbs, allowing movement alongside the ocean floor. Players who swim freely will likely focus more on filter-feeding plankton, while benthic players will be more focused on microbial matts.
There will be a limited capacity to prey on other macroscopic organisms at first due to the lack of a sufficient mouth and digestive system. I would like to research simple combat and self-defense adaptations first before offering a description, but stinging appendages are an example of such morphological structures present in simple organisms.
What do we think of this description so far?
There goes my plan, lol.
On a more serious note, that’s about as far as I think I’ll take the prototype, which is already almost there (just need the convolution surfaces, which Nunz is making, for proper blobby look and some other graphics tweaks, and maybe making the movement not feel terrible).
I think this is pretty much spot on already and already as-written could serve as a really good summary for the multicellular GDD for how the stage starts.
With our prototype development now reaching into the macroscopic stages, I have decided to take a shot at iterating on the basics of nutrition and how it will be acquired at the beginning of the stage. I will first go over how the player will consume resources, and potential changes in how they do so based on adaptation.
I have decided to iterate on potential sources of energy available at the beginning of the stage. These sources can act as both a primary source of nutrition, and as a transitional diet before players are able to adapt to consume larger prey.
Environmental sources are ever-present and often tied more to geological processes than biological. Dependent organisms can take advantage of these sources even in the utter absence of other life in an area.
Works exactly as it does in the earlier stages, not much else to say.
At the macroscopic stage, sunlight might not provide enough energy to sustain an organism on it’s own unless they are sessile and efficient. This is because the availability of sunlight never really increases.
Meaningful adaptations would include high surface area parts with large amounts of chloroplasts, substantial storage for when sunlight is not available, and a means of more passive nutrient acquisition.
Black smokers/Vented Gas:
In the previous stages, hydrogen sulfide is found in varying degrees of concentration as compound clouds for the player to locate and consume. This is not quite the same in the macroscopic scale, as hydrogen sulfide is a highly reactive compound that can quickly transition into less available states.
Players will need to locate hydrogen sulfide at it’s source in order to obtain adequate amounts for synthesis. The compound can be found in aquatic environments via hydrothermal vents, or perhaps even as swamp gas. On land, hydrogen sulfide may be found spewing from fissures in volcanic regions, or possibly areas rife with biological decay.
Adaptations could include organic vents to easily take in local environmental gases, or perhaps specialized gut biomes used to cultivate sulfide releasing bacteria within the organism.
Thermosynthesis is already largely theoretical for microbes, and may very well be impossible for macroscopic life. Still, it’s worth puzzling out how it may work for larger organisms.
As a macroscopic organism, players will no longer be able to rely on slight shifts in temperature to maintain their thermal gradient. Instead, players will need to locate increasingly larger extremes of temperature as they grow in size such as proximity to molten terrain or hot springs.
Perhaps for smaller or very efficient organisms, alternating between intense sunlight and shade may provide some energy.
Much like in the microbe stage, iron could be found in chunks throughout the environment. However, large intact chunks may be quite rare, or otherwise largely mixed with other mineral impurities that makes processing difficult. Organisms may need to sift through substrate in order to ingest traces of ferrous materials. Passively absorbing iron leeching from larger chunks may still be possible for very simple organisms, or organisms possessing roots.
Adaptations might include digging apparatus to dig up chunks of iron, or orifices specialized in sifting substrate.
These sources of nutrition are provided by lifeforms in various ways, most often by the presence of microbes.
Sessile microbes such as algae that blanket surfaces in aquatic environments, and perfect sources of nutrition for early macroscopic life. Mattes can easily be grazed on by early life by simple absorption, but more specialized organisms may find difficulty doing so unless specifically adapted.
Microbial mattes could be represented as brown sludge-like substance coating underwater surfaces.
Adaptations would include mouths capable of raking up the mattes from substrate in large swathes, think like a snail’s radula.
A broad grouping of free-floating microbes, and anything else small enough to blend in. Plankton provide a significant source of nutrition through sheer amount of biomass alone. Plankton can act as a substantial food source for smaller organisms, or organisms that have adapted to consume large amounts at once.
Plankton could be represented by a brown-tinted cloud, akin to compound clouds.
Adaptations would include filter-feeding apparatus, and/or very large mouths.
A familiar source of nutrition much like what is found in the microbe stage. Marine snow is formed by the descent of decaying biological matter from surface biomes. Marine snow provides a constant nutrition source for organisms capable of filtering it out of the water in bulk.
Marine snow could be represented by the presence of sparkling white detritus falling from above.
Roughly the same as plankton as a food source, but may require a more passive lifestyle on the seafloor to sustain an organism with.
Substrate that has been enriched by the presence of microbes and decaying matter. Rich soil can be taken advantage of by specialized organisms such as rooted plants or detrivorous worms in various ways, but most other organisms may not be able to utilize this source easily.
Rich soil could be represented by a dark, almost black, brown tint to the earth.
In the beginning, the player would likely be little more than a silly looking worm with no mouth or any specialized organs. Depending on what they evolved to subsist on in prior stages only the most basic and simple forms of sustenance would be achievable such as mattes, sunlight, etc. Predating on other macroscopic organisms at this point will be very difficult without specialized organs, only being limited to toxins and nematocysts to kill competitors.
Players won’t be able to remain comfortable in such a simple lifestyle forever, as rising competition will increasingly pressure the player into seeking out less competitive sources of sustenance and eventually carve out their own unique niche in the world. In what is almost a 1:1 rehash of the microscopic stage, the player will need to evolve to more efficiently gather food in larger quantities and grow to dominate. The eventual goal being to master their environment; Not with an adaptable body, but adaptable mind. (Unless they want to be a plant, I won’t judge.)
Considering the pretty hard split between early multicellular and late multicellular (macroscopic), I think this thread kind of maybe should be split as the “the beginning” really seems to imply early multicellular.
I was about to comment how the environmental sources except sunlight seem like they should all be pretty much inconsequential in macroscopic as they are so niche and rarely available that evolving to use on of those sources basically locks you into a single location and you can’t explore any other place as there won’t be more of that resource anywhere nearby (migrating from hydrothermal vent to a surface lake to take advantage of one compound seems basically entirely impossible to me).
So I think really the early multicellular is already a solved case (so maybe this thread shouldn’t be named “the beginning” / discussion should continue in a new thread). And only macroscopic transition needs talking about, and there I think we can mostly rule out the environmental sources as they aren’t really on the path from game start to ascension (so they shouldn’t be the primary focus). So for early macroscopic eating microbial mats or some other basic form of predation on smaller forms of life and photosynthesis seem to be basically the only viable option. That is because just when the player has turned macroscopic they can’t have highly specialized forms to acquire food so we need to design how that transition fill work.
You’re right, we should probably move this on over to Status and Ideas or make a new thread for macroscopic in particular. I’ll split it when I figure out how…
Certainly, though we’ll probably want to implement them in some form eventually. It makes the game much more interesting, allowing for more creative forms of life from the player and AI alike.
The transition should be pretty simple. As a newly macroscopic creature, microbial mattes will be plenty enough as food, and you would be able to simply absorb them as the basic organless worm you are. It would be a very inefficient process but you would have a very low metabolic need to begin with so it would be fine. The player will need to evolve structures and organs to mop up mattes faster or take advantage of new food sources to compete with rising competition from there, which in turn will raise their metabolic need. For example, a mouth would allow them to mop up mattes faster, and developing a proper skin would prevent them from absorbing food through it, but they would be much more protected from the elements. This would allow them to grow larger and begin eating other animals smaller than them.
I recall a thread detailing the metabolic needs of a macroscopic organism and how they can expand somewhere but I can’t quite recall where…
When I find it I’ll go ahead and write it down the basics in our GDD for safekeeping.
I do agree with this, but I also will say that I think we should represent atleast some of this transition by showing players why certain metabolisms don’t work in macroscopic (as in, still giving them the option to have these alternate diets but making it basically impossible to be based on them for long). There are reasons some diets just don’t last - for example, iron’s large scale disappearance as oxygen spreads throughout the oceans and surface. I think it wouldn’t be ideal if we just blocked out these diets.
Though I realize now after writing this that you aren’t necessarily saying “let’s block out alternative food sources” but instead the emphasis should be on the transition, which I agree with.
Some diets though I’m sure are basically outright infeasible in LAWK or Earth-like conditions. For example, I just can’t see a radiation diet working for macroscopic organisms. So that deserves focus in the discussion: how we deal with parts that almost easily go redundant in the transition.
Maybe one of Nick’s threads about nutrients/metabolism? Metabolic Rate System
Yeah, my point was that we should focus on the “intended” primary food source initially just so that we can get the basic metabolism done. And I wouldn’t necessarily say we should intentionally block those food sources, just that we’ll leave those unimplemented. With the end result being that if the player tries to use those food sources, they’ll just not find anything to eat.