Detail in the Multicellular Stage

So in working on the transition from Microbe to Multicellular stage one of the questions that comes up is how detailed are the multicellular and aware editors going to be. For example do you place a head -> do you place a mouth -> do you place teeth -> do you place nerves in teeth etc.

This is useful information because we need (at some point) to have a list of tissues used in the editors so, hopefully, we can create a map from the cells you create to these tissues to make your design decisions at the cellular level meaningful (which is another thread, feel free to start it).

@NickTheNick can you link the pertinent discussion from the old forums, if you can find it? That would be a good starting point.

I don’t think we’d need to go as far as placing nerves in the teeth of the organism. I think simply having options like “nerves on/off” would work. Why do teeth need nerves anyway?

I feel like a good idea for skulls is to be able to just stick stuff on them. If you’ve ever seen Spore’s vehicle editor, you’ll know that you were able to overlap many different kinds of bodies to make the perfect vehicle shape. Something like that :slight_smile:

So bassicly start off with a simple shape (such as an ellipsoid, sphere, cube, etc) and then add/subtract stuff? Maybe we can use a sort of sculpting way to do it instead, after all what if we want tusks and stuff like that, im not sure.

Yeah basically!

Tusks are specialized teeth i think
Functionally, i don’t think there are many ways teeth can go so i think having a generic palette of teeth might work. Also I think we can streamline the creation process by allowing the option for the game to place teeth for you depending on your diet, and then allowing the player to edit it if they’re not quite satisfied.

Should we be able to make the basic structure of the teeth however? such as what if we want very sharp teeth for grinding away at meat? I dont know I think there should be a few modifiers for it for sharpness and the sort right?

Also could you technically have “Teeth” in other parts of the body? Like maybe sticking out of arms as a sort of arm-blade-hook thing?

Bear in mind I’m not a programmer and I know little of their mysterious skills.

So, the problems here are that we can’t have anarchical freedom to sculpt like Rodin - the game has to know what these body parts would do and so there has to be options to choose from, not complete freedom. That being said, the editor should be a lot more in depth than Spore’s, bless it. Therefore, at what level do we have it? While for some being able to mess around with nerves in teeth could be a dream come true, I think it could become quite painstaking to do, and is too much detail.

I think adding teeth is not going into too much detail and can really affect gameplay so I believe this is the correct level; any body parts that have a specific function and effect gameplay whilst not being overly detailed should be placeable. (Although with teeth, you don’t necessarily want to place each one, so by clicking on a jaw with teeth you automatically fill the jaw with that kind of tooth. Then, you can add in other types of teeth if you like by replacing individuals.)

Continuing on with tjwhale’s tooth example, and answering threecubed’s queries, there shouldn’t be one generic tooth, but several types, each with their pros and cons, which I believe is what Atrox said. Then, one could mould this tooth type, although the more you mould it the more mp’s it uses to avoid illogical monstrosities. You could also place an individual tooth on other parts of the body. Forgive me, I’m rambling.

Yeah what I was trying to say is that we shouldn’t need to edit the basic structure (and therefore the function) of the teeth, as teeth can only really do certain things. Well hm… Maybe teeth with similar, but equal functions that are also morphologically similar can be modified. Ie: Carnivore tooth can be modified to be serrated or smooth. One more for ripping off chunks while the other is more for gripping prey. Herbivore tooth would be modified into grinding and something else.

This is a pretty neat chart of varying animals and what kind of teeth they have. An interesting thing to note is the tongue of the anteater and how it has no teeth. We also probably shouldn’t forget baleen in whales.

@stealthstylel I agree with the auto tooth placement with the option to further modify teeth, but I feel like instead of filling the jaw with one kind of tooth, a better idea would be to fill the jaw based on a diet you select for your organism.

I couldn’t find the thread where they discussed the topic, but the thread where ~sciocont presents the final design is also missing, which is very strange because it was such an important thread for so long and it was always linked in the sidebar. On a sidenote, we will have to look into the old forums and see if threads are being spontaneously deleted.

Anyways, fortunately enough it was copied to this wiki page:
http://thrivegame.wikidot.com/organism-editor

Parts


Now I remember that either in Slack or in the fan forum discussion someone mentioned that they didn’t like the idea of having a list of parts that they add to their organism. Although it would be nice to be able to avoid that I’d have to disagree and say that we need a list of parts here just as we need function parts in the technology editor.

However, these parts will allow for incredible customization. Any part/organ that the player places they can customize. To use teeth as the example, they can be evolved over the years to become sharper, longer, flatter or wider. The idea for this in the original organism editor concept was that you could just click on the organ, and drag it into the shape you wanted it to be in. Alternatively, this could be handled by the system The_Creator proposed:

By which I mean the player would be able to select the teeth and open the grid to evolve their teeth towards a certain direction. After the player would make a change on the grid, the teeth would visually change shape to match that.

There’s two scenarios for when a player enters the organism editor. Either A, they are going in with an organism they already have in-game, or B, they accessed it from the menu and plan to make a custom creature from scratch. For the purposes of this discussion let’s assume the player is in scenario A, and moreover that this is the first time they are entering the OE after having entered the 3D part of the multicellular stage, meaning they are starting with an extremely basic organism.

Skeleton


The first thing the player can do is add, reshape, or remove bones. They will be able to click on a bone and open up a grid that allows them to customize the properties of all bone in the body.

Muscles/Organs


Muscles will be procedurally generated onto all bones the player places. Players can add extra, but cannot remove past this base amount. As with bones, the player can open a grid for muscles to evolve their properties.
Fat stores can be brushed onto the organism. We can open have a grid for evolving fat as well.

Organs will be basic parts that are added to the organism. These parts can then be refined and customized in specific directions. We start with a list of basic organs like ganglia/brain, stomach, heart, lung, and then allow the player to customize the ones they place as they evolve. Some of these organs require a network of connections to the body. For example after placing the heart the player may want to evolve blood vessels. Instead of having the player physically draw these out, they will simply click a button that says something along the lines of “blood vessels” and it will be assumed that the body now has a network of blood vessels.

Skinning


Lastly you’ve got skinning, where the body is procedurally wrapped in skin. The player can brush fur or feathers onto the skin. The player can also evolve the specific properties of each of these.

Summary

So from these, the tissues I can see being affected by the cell design in 2D multicellular are muscle, fat, connective tissue, bone, skin/feathers/fur.

I was thinking that one way we could calculate the tissue properties for the player is by having a secret palette of cells for each tissue type. The design of that cell basically defines the properties of that tissue. We don’t show the default cells to the player, but we calculate what their tissue will be like based off of the difference from their cells to the default palette. For example we define the default muscle cell to be 10 hexes of cytoplasm, 1 nucleus, and 4 mitochondria. This default blueprint yields the standard muscle properties of X, Y, and Z (these could be anything from the strength the muscles produce, to the energy they consume, to how long they can endure, etc).

However, say the player designs their muscle cells as having 10 cytoplasm, 1 nucleus, and 6 mitochondria! Then the game would respond by looking at the difference between the player’s muscle cells and the default muscle cell, and granting the player’s muscle tissue increased endurance when they enter the organism editor (at the cost of greater energy consumption).

The big problem with this is, all cells in the colony are entirely customized. All cell types are also customized. How will the game know whether cell A is a muscle cell, a digestive cell, or a protective cell? I guess we could just compare each cell type to all of the default blueprints, see which one it is closest to, and calculate the differences to see what bonuses/penalties the player’s tissues get. We could also allow the player to tag their own cells as the tissue it is.

3 Likes

Is this the thread?

Also, I think this is useful:

1 Like

Oh awesome! That’s it.

And yeah, that was my attempt to finalize these things back then, but back then we didn’t have enough people to really keep the conversation going.

Alright so on the topic of how to handle the transition I see several options.

A) Tissue stats are all always set to a series of default values for any organism entering the OE for the first time. This is regardless of what the player’s cells were like when they were a colony.
B) Tissue stats are calculated off of the similarity/difference of your cell types in the early multicellular stage to the secret cell palette. The game assigns labels to all of the cells based on how similar they are to the types available in the secret palette. It then calculates the differences between each player and secret cell to determine the starting values of the player’s tissues.
C) Tissue stats are calculated off of the similarity/difference of your cell types to the secret palette, but you as the player are yourself forced to label each cell type you create (as either muscle, fat, protective, digestive, etc.). The game then calculates the differences between the player cells and their secret counterparts to determine the starting values for the player’s tissues when they first enter the OE.

Which option do you guys think we should go for? Can you think of any alternative approaches?

I had some thoughts on this last night. I really have no idea about realism.

I read a bit about the difference between brown and white fat on wikipedia and what about something like this.

Your creature has a bloodstream. It’s represented just by a tank of water. Different processes put things in the tank and take them out. So you have “blood sugar” and if this is above a certain value your fat cells start to fill up with fat. If the blood sugar level falls below a certain value your fat cells start to drain.

A “secret” fat cell could be a nuclues + x cytoplasm (which in our model makes and breaks fat) + y “fat blobs” (could be vacuoles). The choice you have to make is what is the ratio of x to y. So if you have a lot of cytoplasm and not many fat blobs then you can store and release energy really quickly (so say you come across a massive amount of food which is only available briefly and then none for ages, you want to be able to quickly turn the excess energy into fat) (or say you are a migrating bird, in order to keep flying you need to have a high flow of energy from your fat cells to your muscles and so you need a lot of cytoplasm).

On the other hand if you have more fat blobs then you can store more energy per kilo of fat. So if you went through long periods of grazing followed by long periods of moving slowly (maybe like an elephant or something) then you would want maximum energy density rather than the ability to release a lot in a short burst.

I then thought more about the whole “bloodstream as a tank” thing and why not have the bloodstream as 6 (or n) tanks which are all connected. This is the blood in your body. There is some diffusion between the tanks normally. If you have a heart the tanks get well mixed. You could then connect organs to different tanks (like liver and kidneys which filter the blood, muscles which draw oxygen and blood sugar, lungs which add oxygen, digestive tract which adds blood sugar etc).

For muscle cells there could be a choice between strength (or basically strength density) and ability to tolerate low oxygen. I thought about lactic acid but maybe it just makes sense to have negative oxygen (which represents all chemicals in the bloodstream which will consume oxygen as soon as they can). So you can choose to have really strong muscles that make loads of oxygen debt very fast (so you would be a good sprinter) or you could choose to make weaker muscles which tolerated oxygen debt better and produced less of it (more efficient combustion maybe) and so you would be good at distance running but not so good at sprinting.

So a cheetah might have sprinter muscles + fast fat release. A migrating bird might have weaker muscles + fast fat release. And elephant might have stronger muscles + slow fat release and a sea turtle might have weaker muscles + slow fat release.

And yeah if you gave the system any random cell it would say “this cell has 3 cytoplasm and 2 fat blobs so can store x energy per kilo and get it out at 3/2 times the base rate”. If the cell had other organelles them maybe the storage efficiency (energy in -> energy out) could be reduced. That way any cell could be easily assessed for it’s fitness as a fat cell.

I don’t know if all this is horribly unrealistic though. I think if we could have like 2 dimensions for each cell type then people would really feel super connected to designing their organism at a cellular level.

3 Likes

To be frank, detail for the body should go down to just the scale of tissues mostly because when dealing with individual cells that is like dealing with individual pixels on a screen. And the fact that having it go down to a tissue level would make it easier to process, since it’s not processing every single microbe… However that does bring up the issue said, when is the difference between Tissue and Cell made?

I guess one way to determine when the transistion between multiple cells to tissues is how many cells/the current size of a cell to the whole structure. Say you have a cell which is 10 Micrometer, maybe getting to a certain point in the whole scale of a creature (say, 10 Milimeter) cause it to change from Cells to Tissues, after all even an ant has a ton of cells for its small size. The other way could be just to specify the amount of cells and then when it reaches a certain point like at 1000 cells it can swap to tissues instead. I’m not so sure though, maybe by then specialization can arise in the form of tissues.

@tjwhale
Yeah that sounds like exactly what I was thinking. The thing is how do we determine the designs of the secret cells? And how do we scale the stats based off of an additional mitochondrion, or three additional vacuole hexes, etc.?

Also, as you said, I’m not sure how realistic it is to have tissues vary by so much between organisms. Does anyone know any research about this?

@threecubed
I think you’re a bit confused as to what we’re suggesting. We definitely won’t simulate the individual cells in the Aware Stage. The player will instead by adding muscles, bones, organs, and skin, which is as you said the scale of tissues. However when you place a muscle, there are properties to the muscle like how strong it is and how much energy it uses and all that jazz. Typically these values will start the same for any player when they first enter the OE, but can be evolved over time to go higher or lower. However in this thread we’re suggesting whether the values you start with for the different tissues should depend on the design of your cells during the early multicellular stage, instead of all being preset values. This way your gameplay choices in the early multicellular stage carry over to the aware stage.

For example if during the early multicellular stage when you are a colony, you have muscle cells with extraordinarily high numbers of mitochondria, then you will see the result of this in the Aware Stage when you go to place muscle and it will have higher endurance than the same shaped muscle in a different organism.

1 Like

Very well, on the topic of that then maybe there can be a sort of Proportional/Exponential system, where if you have say (for example) 100 muscle cells, 200 neurons, 300 misc cells. Maybe the more of one thing that you have, the slight betterment of stats it will have, so its not like you can have 500 muscle cells and be the big bad muscular nightmare creature. This is all just speculative and im not sure if it can be implemented, though it could just be a simple division calculation, I am unsure.

Luckily, there is none! For our purpose we can treat a tissue the same way we treat a cell multiplied by the amount of cells we have in said tissue (using a logarithmic run off if we want).

I like this idea. It is nice to think of animals as a bag of compounds and chemical reactions. That way we can say that the organism is a black box—we provide it with inputs chemical (converting physical stimuli to virtual chemicals as well) and it gives us outputs, movement in the form of kinetic energy, etc.

I really like this idea as well. My first time reading it, it through me a bit off, since it makes a cell with 1000 mitochondria produce the same amount of chemical respiration as a cell with 10, but them I realized that that is exactly how we want it to be. The actual mitochondria tissue should produce the same amount of ATP since we can either have 10 really big, thousand-mito cells or a 1000 really small, ten-mito cells and the tissue will have the exact same size, both of which result in a total capacity of 10000 mitochondria.

I’d say this is as realistic as we can make it.

This all actually flows into the organ editor and stage progression very nicely. The early multicellular stage is going to be about the player creating various types of tissue by placing cells from his own created pallete next to each other to create the organism (each time he edits a cell by adding new organelles and deleting old ones, this new cell is added to a “cell differentiation” tree and he can drag and drop these cells). During this point in the game, we continue simulating each cell and the game is basically physically-based (according to the Thrive rules of physics, that is). So if you place a new cell, we will run the whole process system moopli and tjwhale were working on (and in the future we will have a lot more organelles, such as miosins and microtubules that contract the cell and give it shape, respectively). This will allow you to create cilliated movement cells to make sponges, then create and add muscle cells, and the game will simulate them one by one. After a while the organism will become much more complex, and having five muscle cells will not be enough to propel your organism. At this point (transition to late multicellular), it makes it much more beneficial (read: easier) for the player to work with groups of cells (AKA tissues). This feature works in early multicellular stage—clicking on a cell will select that cell and clicking a second time will select all of the neighboring cells of the same type allowing you to batch edit similar cells (add a mitochondria to each old cell, for example)—but it is not as useful, since your cells are, firstly, very few and similar (you only have a few types—muscle, mucus, skin) and you are busy creating new types, and secondly, the ones that you do have are nowhere near full efficiency and you are working on making them much better by individually tweaking them. In late multicellular (which I believe the threshold was 1000 cells), the player gets access to an organ editor, which basically allows him to further group tissues together into organs. I suggest that we treat organs as black boxes, which means that we write a function that takes inputs, and gives us an output, without us caring much about how the organ works. This black box will be created ones the player exits the editor after creating a new organ, and will depend on how the tissue making up the organ work. For example we can create a pancreas by first laying down endothelium tissue, then adding clusters of tissue that secrete digestive cells, adding a couple Islets of Langerhans, and so on, until we get a liver functioning like what we want (we “draw” the tissue by choosing cells from the same pallete as before and dragging our mouse around). The game can then look at the ratio of organelles in each tissue, multiply it by the number of cell in the area the tissue occupies, and create a graph with inputs and outputs. After this we can treat the organ as a black box—if you give it oxygen and protein, it will provide the organism with glucose and glycogen. Theses boxes (or tanks) will then be further grouped by blood vesseles and “If you have a heart the tanks get well mixed. You could then connect organs to different tanks (like liver and kidneys which filter the blood, muscles which draw oxygen and blood sugar, lungs which add oxygen, digestive tract which adds blood sugar etc)”. This will effectively create a network where the inputs of one organ are the outputs of another. This will also create a couple organs that have dangling inputs (like eyes and the mouth) as well as dangling outputs (the vocal coords and the anus).

What I want to stress is that each progressive evolutionary stage (cell → early multicellular → late multicellular) will simply build upon the previous one allowing you to go back. So while we generalize organs as black boxes while you are playing as an organism, you can always “zoom in” in the editor to the different tissues in your organ, and edit them, or even zoom in further to the different cells in your tissue and add organelles. This will make it so that the choices you made in the cell stage are going to affect your gameplay as an organism, but they aren’t going to ruin it (you won’t get into aware, and be like “belgium, I should have evolved muscle cells, moving 1 cm a day on cilia sucks rage quit”). You will always be able to edit your cellular make up (though you will get less and less mutation points per cell as time speeds up). You won’t be able to significantly change each generation as you did in cell stage trying to figure out your gameplay and later your body structure, but you will be able to correct significant mistakes over a couple generations without having to rage quit and start a new game.

Wow, that was a long paragraph. Now I know how tjwhale feels after one of his posts. I kind of lost my train of though somewhere in the middle there, so I apologize if it feels like I am rambling. Just a stream of consciousness kind of thing, you know?

Edit: Belgium, it’s looks even longer now that I posted it.

1 Like

You’ve definitely set a new record for longest paragraph at 845 words, lol, :slight_smile:

Yeah I agree and I think we are all on pretty much the same page.

I think the principles are that

  1. each tissue should have an underlying cell. By editing the underlying cell you change the properties of the tissue.

  2. there isn’t an optimal cell to create, there’s a range of optimal cells which gives you some choice in how the tissue will function.

With how this would work, with the fat blobs example, it could work like this. If you have x fat blobs and y cytoplasm and z total organelles in the cell then you get

storage = max_storage * (x/z)

and

rate_of_energy_release = max_rate * (y/z)

So you can choose x and y to give you the ratios you want. Moreover it makes sense to remove unwanted organelles from the cell (you can’t remove the nucleus but you can get rid of chloroplasts and mitochondria etc) because they will contribute to z but not to x and y.

These formulae could be applied to any cell which would give you a measure of how good it was as a fat cell, regardless of what the player was designing it for. Another example is muscle and might be ratio of mitochondria to myofibrils (or something like that) and again this would let you balance the stats and have the formula applicable to any cell (most cells would have 0 myofibrils and so would score 0 for strength).

However I think we don’t want to go too far with this system. I think the player should design <10 underlying cells. I think there’s not a huge amount of point in getting the player to design 100 different cells to go into the liver, for example, it will just take too long and get boring. I guess it depends how many mutation points you get each editing session but I don’t think people will want to be in the multicellular for “that long”. If you can only partially edit 1 cell each time you go to the editor then you have to go 10 times just to edit each cell once. If there are 50 underlying cells then you have to go 50 times to edit each one once.

1 Like

Yeah, I think you’re right on the designing less than 10 cells. We don’t want more people to have this mindset (taken from one of the 3 playthroughs for 0.3.2)

[The cells] evolve, but u pick the chemical processing body parts during the evolution process, this game is too rigid for having fun, its more for like schools and training on biology.

Then, from the 10 cells you design various tissue for late multicellular, which can further be tweaked with sliders using the grid system we are using for organelle updates (to provide a sense of flow by using the same similar editor UI).

2 Likes

Brainstorming off the top of my head. I guess in terms of trade offs (pick 2 and oppose them or put them on a grid like threecubed / the creator suggest) for these categories there could be things like these. I think it’s easiest to only derive these properties from which organelles you have and not from placement and shape of the cell. That makes things a lot easier and I’m not sure how much we lose.

muscle: speed, strength, energy use, number of reps before exhaustion, rate of repair when damaged

fat: amount of storage, rate of release / storage, insulation / heat trapping, heat generation (like brown fat),

connective tissue: strength, brittleness, flexibility, rate of repair when damaged, weight

bone: strength, weight, rate of repair, production of immune cells?, flexibility,

I think skin is a bit different. Like you need to choose whether to produce hair/fur, feathers or nothing. Then when that is chosen you could have thermal properties (sweat glands and insulation), toughness, rate of repair, flexibility, colour (including the ability to change colour).

Neurons: ability to repair / rate of repair, energy use, speed : Neurons are an odd one and need some thought about how brains will work. Like can there be a processing speed for different parts of the brain? How would that affect things? I really like the model of needing to add brain sections for each part of the body you want to control, I think that sounds really cool, I don’t quite know how that would affect things at a cellular level.

2 Likes

The only issue I can think of with this system is how will we manage unique things such as liquid dispersal or other unique parts of a creature (like how a stink beetle or skunk release their smell), will that be in one general type of cell or will that be in a special “Unique” carafory of tissue?