Intermediary Species Editor

Idea Pitch:

I recently saw some developer discussion about the limitations of the current multicellular prototype and the way it affects how the player must transfer to the full 3d editor. Currently, the creature’s body is made up of individual cells, and therefore dozens of entities that must be calculated by the game. this puts a hard limit on how many cells a creature can have using the current system, which means that the jump from individual cells to a 3d model body is unusually early; Probably from 100 cells to 1000s, which is hard to make look realistic.

What if, to solve this issue, an intermediary editor is added to the multicellular stage that exists between 100 cells and 1000 cells? To do this we would ‘scale up’ the hexes from containing a single cell to containing seven in a hexagonal arrangement. These groupings of cells would be named clusters, and would allow for the best of both worlds between cell editing and 3d model bodies. The way it’d work is that in the game world, each hex containing seven cells would be treated like a cytoplasm hex in the cell stage, forming a large 3d model made out of these smaller cluster-based hexes.

At the same time, inside of the editor, each individual cell in the creature can be added or removed, with the cell cluster hex grid overlaid on top of the regular individual cell hex grid - The middle cluster hex would line up with the starting cell, so that it’s directly in the center of that cluster hex. The way that the cell clusters would work is that they each have a hitbox attached to their location in the 3d mesh, so that collisions and damage can affect that cluster, and even remove it from the creature if too much damage is taken. Each cluster would represent the combined statistics of the seven cells within, combined into one set of variables.

Possibly also, six hitboxes would be added to the edges of the clusters that allow individual cell interactions to occur, but i don’t know how expensive this would be. However the benefit would be that specific arrangements of cells would allow for chemical diffusion, spawning of projectiles/chemicals, and other interactions on a single cell’s scale, including digestion. Players would not technically need to fill a cluster, it is simply there as a grid-based outline so that the cells within are transferred into the game world whilst remaining performant. So a player could make their organism spiky with single cells on the external edge.

Cluster Grid:
krita tissue suggestion 2
(The players would be able to click on the individual circles to place cells. Areas they leave blank would result in those parts of the 3d model being empty)

Editor Example:
krita suggestion 3 v2
(On the left is an example of the creature made out of stem cells, to show how the shaping of the organism works. Next to it in the middle is an example of the player placing specialized cells in the desired area to create their species. The image on the right shows how the cluster’s hexes translate into a 3d model, similarly to how the hexes in a ‘cell stage’ creature translate into a 3d model. It basically uses the same tech but treats the cell cluster as an organelle, except with it’s own hitbox.)

More Info:

Due to the fact that in the game world, the creature is a single mesh with hitboxes equal in number to cell clusters, players would probably be able to place hundreds of clusters whilst keeping the creature as performant in not more performant than the existing multicellular prototype. If the extra six external hitboxes are added to every hex, it might reduce performance heavily but in return allow the potential for complex processes such as primitive digestion and circulatory systems. Additionally, it might be possible to select clusters and turn them into internal voids in the creature, allowing players to create stomachs and chemicals storage chambers for various purposes.

Due to the fact that there are seven cells within every cluster, and that ‘many hitboxes within a single mesh’ should be more performant than having an equal number of game entities, the player would at least have access to 700 cells in their creature assuming the maximum entity limit per creature is 100. But much more likely is the chance for the maximum hitbox amount being greater than 100 before the performance demands are the same as the prototype editor, so the player should easily be able to use a thousand or several thousand cells. The way the player would access the new cluster-based editor is that, after reaching 100 cells, the player would upgrade to the new editor and the cluster-based hex grid would overlay their existing creature, with the middle cluster hex sitting atop the starting cell.

The editor would then record the cells within each cluster and transfer the stats/variables of each cell to the game entity that possesses the 3d model, as a simplified representation of what each cluster does. In game, the corresponding hitbox of each cluster would access the stored stats/variables of the relevant cluster, allowing the status of each part of the creature’s body to be managed in game, in the same way the current multicellular creature prototype does, but without needing as many entities.

in the example image there are about 60 cell clusters meaning about 500 or so cells, and each cluster is constructed to contain things such as storage cells, sensory cells, movement cells, transfer cells, chemicals absorption cells, acid release cells, neural cells etc. The cells which are on the outside of the creature might interact with the world via specific individual hiboxes, whereas internal cells might have hitboxes disabled and instead use their cluster-based blueprint to affect the performance of the creature.

Using this intermediary editor system, players would have access to a more fun, complex, factorio based species editor before they have to abandon individual cells, and it lets them experience the full potential of individual cell editing before they lose access to them.

13 Likes

How would this actually be fundamentally different than individual cells being converted directly to tissue blobs? To me it doesn’t seem different in any other way than each “thing” you place just happens to be a group of 7 cells, which doesn’t seem like a very useful intermediate step to me.

The hitboxes would be larger so you would need less of them whilst conveying the information of the individual cells. Essentially it’s to make the system more performant whilst still allowing for individual cells to be placed, in order to allow for 1000+ cells to be managed by the player.

It’s so that you can have the 2d cell control of the early multicellular stage, whilst having the size and cell number of the tissue blob setup. The hitboxes of the cell clusters bridge the gap between the two.

If you place groups of 7 cells, you could still get the same kind of benefits anyway. Placing bigger blobs doesn’t give you any more precision in editing.

I don’t get it. In terms of blobs, what precisely do you refer to?

The groups of 7 cells. I don’t see what we’d gain from specifically making the code for drawing each placed hex as 7 cells instead of one.

Ah. basically i was thinking that if you wanted to make the cell interactions realistic, you’d need either lots of very small circular hitboxes, or have the cells be actual entities like they are in the current prototype. But I think that both of those options would be very expensive performance-wise, considering that the 3d mesh transition was proposed to happen after 100 cells added.

I agree with a comment i saw where it said a sudden transition to a larger 3d mesh would seem unrealistically sudden. It’d also lose the precise control over cell placement that makes early multicellular so fun.

So scaling up the ‘pieces’ the creature is made up of at run time from individual cells (that could end up being thousands in number and thus not very performant if you want to simulate their individual interactions with the environment) to groups of 7 cells would increase the level of complexity the game could handle sevenfold. And it’d result in a smoother transition from individual cells to a 3d mesh that’s sculpted.

I think I see now, so your suggestion is that the intermediate step is basically multiplying the player size by 7 so that they can still be in the microbial world before becoming macroscopic?

Yeah.

And they would be able to use much more cells than they otherwise would be able to without impacting performance as much, at the cost of slightly less precise damage/cell interaction calculations cause it’s based on the cluster instead of the individual cell.

But since the cluster stuff is applied only in game rather than in the editor, the player would be free to control the placement of all 1000+ cells before they enter late stage multicellular.

Idk if the cost/benefit of accuracy vs cell number is worth it tbh. But it might be worth looking at to help ease the transition. it might also be a distraction vs implementing both the chosen early and late stage multicellular approaches.

2 Likes

Wait. How are you going to suggest that happens? This sounds very complicated to me, what if the player places most of their cells leaving a bunch of big holes? What then?

Good question.

the large grid (7 cell scale) would only be there to add hitboxes to the creature during gameplay. So other than that, the creature’s actual appearance would be based on the smaller cell grid turned into a mesh. It’d be similar to a much larger and scaled up version of the single celled editor, where a gap will translate into a gap in the gameplay mesh.

Earlier i was thinking about whether the 7 cell hex grid or the individual cell hex grid should be what the 3d mesh is aligned to, and i think the latter would be better for shaping the organism’s mesh. This is because it’d be able to manage the gaps where no cells were placed, or complex cell arrangements on the external or internal of the creature.

i’ll draw up a quick example here:

Visually it’d look like how the cell stage organism mesh will look, but as though the player has added 1000 organelles.

This allows it to conform perfectly to the shape of the cell arrangement in the editor with gaps included, but it’d also benefit from the large chunky hitboxes that remove parts of the creature if destroyed, allowing it to remain performant at large cell counts.

Every time a new cell is added to the exterior of a creature, if alone inside of a hitbox hex, it’d have a new hitbox that represents only that single cell. The player can then fill in the rest of that large hex in later sessions and the hitbox size/placement would remain the same.

If a hitbox is damaged enough, it and all cells within the large hex are removed.

3 Likes

these “clusters” could be the bases for organs

3 Likes

I think that’s a great idea gameplay-wise, but actually implementing it seems like it’d be a big pain.