Cell membrane and extracellular structure

Currently, we have a simple Membrane editor that allows us to adjust the Membrane Type and Fluid/Validity.At present, the cell wall is not an independent edito.

What puzzles me is that there are Double Membrane Types in the game now. Does it have any exact biological basis in reality?

The complex membrane types in the game bring a proportional reduction in Osmorelation Cost. One question is: Osmorelation Cost is the cost of maintaining a stable intracellular environment. Should a more complex membrane structure not result in higher energy consumption for material transport?

In the current game, we can do this. An extracellular structure is placed inside the cell.
Do extracellular structures require an independent placement to interact with the cell membrane rather than being stacked together with intracellular structures?


Different membrane types actually have different compound cloud absorption rates in the game.

The reason why external organelles can be placed wherever is that if that was not the case, then placing new organelles could be a major hassle. If you placed flagella early and still wanted to increase your cell size, you’d need to move the flagella around each editor cycle. It would be a major pain in terms of UX.

Fewer Osmorelation Costs are strange enough, as there are no additional maintenance costs involved.
For obsessive-compulsive disorder, I prefer to move the position of the flagella rather than wrap it in. This looks too strange.
One idea is to place the extracellular and intracellular structures in two different windows. When the intracellular structure changes, the position of the extracellular structure is repositioned based on the relative cell position of the previous position

The double membrane cells have been found, and some archaea that survive in extreme environments have such structures.
The membrane composition of archaea is different from that of bacteria. Is there a plan to reflect this? It may be related to adaptability in extreme environments.

A theorist would be needed to answer those questions. Sadly theorists are not very active on the community forums.

One idea is to still place the intracellular structure in a hexagonal grid; For extracellular structures, we directly adjust the membrane (limited by intracellular structure) and place the structure on the membrane surface, just like spores place organs.


I was wondering if it could do this:

inside and outside

Place the external organelles separately in the “External” area. “Internal” and “External” are two relatively independent placement areas.

The ‘Internal’ placement area uses the coordinates of the current hexagonal grid to place organelles. The placement of internal organelles will form cell contours, which is a closed curve. And considering the cavity, it may not be entirely the outline of internal organelles. You can choose to hide the display of external organelles in the ‘Internal’ placement area.

The external organelles placed inside the ‘External’ may take angle coordinates and map them to the coordinates of the hexagonal grid. External organelles can only be placed outside the contour range generated by the shape of internal organelles. The ‘External’ placement area should display internal organelles and cell contours.

It may work like this:

For a cell with external organelles, each internal and external organelle is stored in hexagonal grid coordinates, while angle coordinates are only used for calculations within the editor.

When entering the editor, generate a contour based on the placement shape of its internal organelles and obtain its centroid. Calculate the initial angle coordinates of each external organelle with the centroid as the origin of the angle coordinates.

Modify the internal organelles in the “Internal” area, move the centroid and change the cell contour, while maintaining the angle coordinates of the external organelles. Calculate the new hexagonal grid coordinates of the external organelles based on the new cell contour using the new centroid through the angle coordinates of the external organelles. (The angle coordinates of the external organelles remain unchanged, while the coordinates of the hexagonal grid change)

In the “External” section, modify the placement of the external organelles within the hexagonal grid, and determine the new angle coordinates based on the placement position and the centroid at this time. (The angle coordinates of external organelles and hexagonal grid coordinates change simultaneously)

Possible issues:

  1. The centroid may not be the most suitable angle origin. The angle origin should be within the cell contour, and each angle coordinate should be mapped to a point on the changing cell contour, from which the nearest hexagonal grid coordinate can be found.
    (Map the closed curve of the contour onto a circle.)
  2. Possible overlap of external organelles.

What about removing the mp cost for moving the organelles?

The placement of the internal organs don’t change the functionality of the cell, only the external ones do[1], it doesn’t matter if we can move them or not. Also the positions[2] and even number[3] of the organelles can change, so its not a fixed thing. Why should evolution care enough to make the cytoskeleton keep the mitochondria on the left side of the chloroplast or something like that.

Angle coordinates and centroids are already measured in the game and they effect the gameplay,

its just that we can’t directly use them to place organelles. Your suggestion should be a relatively easy thing to code, it just requires some visual designs.

I don’t think they would overlap. Since we have hexes, the placement would necessarily be discrete, not continuous, so the minimum angle for placing two organelles next to each other can be low in some places and higher in others. If the cell had a really weird shape where a straight line emerging from the centroid exits the cell, enters it again and exits again, the latest exit spot can be where the hex of the external organelle is placed.

  1. like how a spike can be defensive when it is placed on the back and offensive when it is placed on the front, the front being the direction you can go faster, a front may not exist functionally ↩︎

  2. during ameboid movement ↩︎

  3. during replication ↩︎

1 Like

Doesn’t remove the hassle if you need to move 3 extra organelles each editor cycle. Really bogs down the editing process by making it multiple times slower (when the player pretty quickly knows what organelle they want to place next).

It’s already been an open issue since 2022:

Again our bottleneck is not enough programmers to do stuff. I just renamed that issue a tiny bit to make it a bit more general.

1 Like

If the cell had flagellas all around it, yes, expending the cell would require you to move the flagellas in order to keep them on the outside. But how does letting the player surround the flagella solve anything? Is that what we want for this scientificly accurate game?

If there was no mp cost, there would be no problem keeping the flagellas outside[1]. 3 extra organelles isn’t that much, I tend to spend a long time in the editor, but its just me.

In Lan’s suggestion, there won’t even be any hassle, external organelles wouldn’t be shown while adding the internal organells and increasing the cells size. The external hexes would be repositioned on top of the newly added internal hexes.

And what if the player decides to shrink the cell and the external organells have nowhere to move? Well, they can be shown on top of each other, colored red, and the player may be forced to remove one of them to exit the editor.

I did quote your post in a thread about a flagella glitch, but this isn’t about that. Just read the whole thing please.

  1. thats not the only reason to remove the mp cost ↩︎

It means the player can just make their blob bigger without needing to move all of their flagella back to the outside each time.

I have the opposite experience, my average editor time would at least double if I had to move 3 flagella each time…

Okay then what is a “centroid”? I assumed you just used a weird word to describe the organelle position and rotation.

That’s exactly what I linked that issue about, by taking the editor rotation into account that is set by the player, the angles of the external organelles would impact things.

i assume it means the average between the positions of all the internal organelles


I assumed centroid is another word for the center of the cell.

I don’t know what editor rotation is, and angle coordinates are about where on the surface of the cell the external organelles are placed. It isn’t about the angle of the external organelles with respect to their own centers, such as a flagella pointing backwards or forwards.

Polar coordinates are placed on the cell, the center is at the center of the cell. This is used instead of the hexagonal grid.

How is this different than just using hexes, as we can already only put new hexes on the outside of the already existing hexes[1]?

There are 2 ways to do that.

  1. It may not be very different than that. This is a 2 tiered organelle adding system. You add the internal organelles, and then add the external organelles. The next time you enter the editor, the external organelles are removed, you edit the internal organelles, the external organelles are added back[2], and you edit the external organs.

  2. After designing the cell with the internal organelles, you are shown what the cell would look like in the game. Then you add the external organelles like adding a part in spore. After they are added, the shape of the cell can change once again or it may not.

  1. for a roughly spherical cell with no holes ↩︎

  2. the ones on the right are still on the right, etc. ↩︎

It’s not, I’ve never head that so it is confusing. Please call it the center of the cell or axial coordinates 0, 0.

I think you are confusing me because you don’t know enough about the internal details of the game. The editor uses axial coordinates, q and r to specify the organelle positions. Additionally each organelle has a rotation value from 0-5 specifying which way the organelle is pointing to. So when the organelle position is applied it is first rotated around the Y-axis with the rotation value, and then it is translated according to the q and r values after converting them from axial coordinates to cartesian x and z values.

I am only thinking about how to maintain the external organelles always at the periphery of the cell, rather than allowing them to be surrounded by internal organelles and only run to the membrane during generation.

In my opinion, there are only three effective directions for the rotation of external organelles: perpendicular to the surface of the membrane (internal organelle contour), offset to the left, and offset to the right. Set perpendicular to the membrane surface as the initial direction for external cells, with both left and right being relative directions to avoid problems caused by the six absolute directions.

For particles, I am thinking about how to establish a mapping relationship between the contour of internal organelles and the unit circle (in radians). This particle is not the central point of the current editor (0,0), it will change in real-time due to the placement of internal organelles.

Because the current method of cell membrane generation is still uncertain, I find it difficult to consider how to handle the concave convex membrane and cavity.

Let’s assume that the formation of the membrane is relatively smooth. Extract the main part of the contour and perform elliptical fitting on it (requiring the axis of the ellipse to be parallel to the x and y axes), map the contour onto the ellipse, and then map the ellipse to a unit circle (in radians).

1 Like