~the cilia project~

Ok, so I the title is probably a bit dramatic, but I would like to discuss how implementing cilia would happen. I’ve been discussing different ideas in the discord, but we need to get a solid visual of what we want before we move on.

Here’s what I’m thinking.

You know how you can add different membranes to boost your cell? What if it was like that, but somehow external? The shader would put little hairs all around your cell, making it go twice as fast, and more moveable overall.

The two issues then are:
1: how do we make a shader that goes oUtside the cell
2: how do we implement this with 3d cells, or multiple cells?

That would make making cilia a part easier, because most of these issues would be solved, but then there’s the issue of wanting to surround yourself in cilia. It would increase your cell’s size by alot… Personally I feel like cilia as a part would be easier, especially in our transition into 3D… but idk. What are your guy’s thoughts? What should the gameplan be?

1 Like

I’ll link some previous threads:

I’m not going to merge this thread into those as I guess this serves as a better overall “let’s get cilia actually done” kind of thread.

Yeah exactly- I’m going to do a few different sketchups of ideas I have for cilia (there are 2 lol)
Basically to get my ideas out there… So gimme like- 15-20 minutes and I’ll make some concept ideas.

that is a fairly basic shader to make but as anyone who has played The Witcher 3 (with Nvidia HairFX) knows, that is an excellent way to violate people’s graphics cards.

what lots of games do who absolutely need volumetric hair do is they make really fine models no more than a few tris in complexity and write something to distribute them like particles over a surface. Modern graphics cards are extremely good at drawing triangles in a properly written engine.

Both of the above however would require a programmer to do extra work vs a normal part however, so it’s likely neither method would be used

short term, making something simple like the spore cillia is probably best, but the ideal more modern way would be the latter thing I pointed out above.

3 Likes

In terms of what is easier to implement, definitely the cilia as placeable hex is a much easier thing. We can just repurpose the flagellum code to visually place a model on the edge of the membrane and change the logic to instead increase turning rate rather than give a movement force bonus.

1 Like

Yeah… and though it might be cumbersome to put them around, symmetry can easily fix that- and they could be a really cheap part, but weak with just one, to amplify it’s use as multiple parts-

Also it would be better for multicellular if you only want cilia on one part of the cell

Overall I’m team cell part

My only concern is that implementing it as a part might result in alot of unwanted size and weight.

If your organism is 2 mitochondria and a nucleus (12 hexes); Completely covering that with cilia would require about 16 additional hexes, which effectively doubles the size of your organism.

Still, it’s worth trying out.

Ooooon the other hand, it opens the way to specialization and upgrades, such as vortex feeding cilia or perhaps even a pathway to the olfactory cilia if we want that (But then prokaryotes would be locked out)

yeeyeee—there are definite drawbacks to making it a part, but also a ton of upsides-

I’d say we go for it-

Why does something need to be entirely covered in cilia?
The idea of it being a turning speed boosting organelle (at least initially), works just fine with just adding like 3 or 4 of them even for a big cell.

Yeah that’s what I was kinda thinking—it also gives people more control on where they want cilia

There are very few species in reality that have limited concentrations of cilia. Most ciliates will have a pretty even coverage across their membrane, rather than concentrated in specific spots. Plus it just looks nice!

Also, I am not against this idea, mind you. Just bringing up a potential issue I see

As far as downsides go, it’s not very critical at all

that’s just something the community mostly expects because of irl ciliates. In the short term where we are still trying to flesh out the game, I don’t think it matters that much.

1 Like

I’d probably go for super simple models that we can just coat the cell. I don’t think it makes sense mechanically to have a hex made for cilia, and it would be better to just have cilia coat the membrane completely. Since the flagella is basically a giant cilium, I think it would be good if the player started out with cilia, and then could add the flagella as it mutates. In fact, it might make more sense to just always give the lipid membrane microbes cilia, since they wouldn’t really be able to travel any decent distance without propulsion.

i mentioned that in my earlier reply, it’s actually how most games do hair and grass nowadays. Problem is a programmer has to be willing to do it instead of reuse current organelle code. You may have to use Multimesh (a class/node in godot) for performance if you want to try. No graphics programming (opengl) should be needed outside of getting membrane coordinates from the respective ArrayMesh which even that is done in C#.

1 Like

In reality, the flagellum was evolved first, or perhaps independently on numerous occasions by prokaryotes. Cilia however, are only present in eukaryotic species known as ciliates.

So cilia will be a eukaryotic part, and not available without a nucleus.

This is an interesting point, and I think someone even brought it up before that cilia could be just an upgrade to the flagellum. So you’d first place flagella and then modify them to make them into cilia.

I sent the cilia model over to nunz, so it should be textured and ready for coding soon! :>

Honestly, we have an organelle editor, but it seems we need a membrane editor too. We currently have a bunch of buttons for adding cell walls and the like as well as changing color, but it seems we should have something more complex as we add cilia and other things that are membrane-based irl (Eg. the spikes that I forgot the name of )

hm?—well if we wanna do smth like that, ig we’ll have to wait for 3d membranes to happen…Which we coullld do-

Why would we have to wait?