Revolutionary-Games / Thrive

The main repository for the development of the evolution game Thrive.
https://revolutionarygamesstudio.com/
Other
2.82k stars 500 forks source link

Bacteria #293

Closed Moopli closed 6 years ago

Moopli commented 9 years ago

Small entities that serve as compound bags and simple processors. This issue serves mostly to get basic ones into the game, so here are a bunch of features of these bacteria which could be done later:

jjonj commented 9 years ago

So two questions:

Lepticidio commented 9 years ago

Bacteria don't have organelles, for example, and are the size of an hexe or two at most, although they make chemical reactions. For example, some make photosynthesis, others have aerobic respiration... Perhaps they won't evolve as the microbes. Mitochondria and chloroplasts shouldn't be available until you absorb certain bacteria, perhaps with a 1/10 chance of assimilate them.

Moopli commented 9 years ago

@jjonj Bacteria are tiny, generally around the size of emitted compound particles. They're much more simple than microbes: no organelles, just a compound container, one process that runs over contained compounds, compound emission/absorption, tiny mesh, and movement. Tumbling doesn't involve any fluid dynamics stuff, as all we'd see is the bacterium pivoting around a bit while position stays constant, before doing another short dash. So, the bacterium has two states: one at constant orientation (and constant velocity), the other at constant position; and switches state in short intervals.

Untrustedlife commented 9 years ago

looks to me like a, e-coli bacteria is about 1/5th the size of a red blood cell http://www.microbiologyonline.org.uk/about-microbiology/introducing-microbes/overview It is also 1/100th the size of a paramecium. But we have some creative freedom here. Especially since we really don't have the whole "endocytosis" concept planned out.And microbes can vary in size, ALOT. (and our microbes are still single celled organisms)

also check out: http://www.cellsalive.com/howbig.htm yeast bacteria are even bigger. little over half the size of a red blood cell.

Moopli commented 9 years ago
  1. Bacteria come in all sorts of sizes, from tenths to rare hundreds of microns. Though the ones we'll be dealing with will likely all be in the 0.5-5µm range.
  2. Red blood cells are small -- note the paramecium on that scale, that's the general size range we're in. So I stand by my point, all but the biggest bacteria will essentially be dots several pixels large at default zoom. That's why an important way to differentiate them in-game will be by their self-organization: one species you might find forming thin, straight threads, another forming heavily intermeshed networks of filaments, others free-swimming, etc.
Untrustedlife commented 9 years ago

https://www.uoguelph.ca/foodscience/book-page/microorganisms heres another source.

Untrustedlife commented 9 years ago

Woah, I seem to have found that Mitochondria are about 1 upm in size, same size as a bacteria. http://book.bionumbers.org/how-big-are-mitochondria/ neat. What scale will we use for them? (moving to kato)

NickTheNick-zz commented 9 years ago

Actually, for mitochondria, some cells have over a thousand, whereas with our system it would be impossible for a cell to even be 1000 hexes big, let alone 1000 hexes of mitochondria. That will be something we will have to revisit when we switch to a dynamic membrane system. With no discrete minimum size for organelles, we can make mitochondria smaller and thus allow for more in a cell (I'm thinking tjwhale's system of membrane generation would work really well for this).

On Fri, Feb 20, 2015 at 5:27 PM, Untrustedlife notifications@github.com wrote:

Woah, I seem to have found that Mitochondria are about 1 upm in size, same size as a bacteria. http://book.bionumbers.org/how-big-are-mitochondria/ neat. What scale will we sue for them?

— Reply to this email directly or view it on GitHub https://github.com/Revolutionary-Games/Thrive/issues/293#issuecomment-75348327 .

Lepticidio commented 9 years ago

Sorry for huge post

First things first, yeast is an eukaryotic cell, in fact, is fungi : http://en.wikipedia.org/wiki/Yeast Mitochondrion are 4 upm long and 1 upm wide (diameter). http://htwins.net/scale2/ http://en.wikipedia.org/wiki/Mitochondrion

Early microbe cells should be smaller than later microbe cells. So, by the end of microbe stage, you cell can be as big as a big eukaryotic cell (paramecium can be 200 upm and amoeba 350 upm) and in the beginning of the microbe stage, as small as yeast (4 upm) or red cells (7 upm). So, if 1 hexe is 1 upm, cell at the end of microbe stage would be like 200 hexes long, which is too big. However, cells in multicellular organisms tend to be smaller than 100 upm (largest cell in the human body, the Ovum, is 120 upm, skin cell 35 upm. As the ultimate objective of your microbe is to be part of a multicellular organism, the final size of your microbe would be something like 50 upm. Perhaps the best thing would be to make an hexe 4 upm long.

E Coli would be 0.5 hexe long (2 upm) A mitochondrion would be 1 hexe long (4 upm) Yeast 1 hexe long (4 upm) Cell nucleus 2 hexe long (7 upm) Red blood cell 2 hexe long (7 upm) Chloroplast 2 hexe long (8 upm) White blood cell 2.5 hexe long (10 upm) Skin cell 9 hexe long (35 upm) Human ovum 15 hexe long (120 upm) Paramecium 50 hexe long (200 upm) Amoeba 87 hexe long (350 upm)

http://htwins.net/scale2/

Moopli commented 9 years ago

Nice numbers! Adding on to that, the choanoflagellates (our closest non-animal relatives) are about 3-10µm in size, so that's likely about how big the earliest animal cells were. Note though, about mitochondria: I found a paper once (sadly I can't find it now) that demonstrated that mitochondria are not small pill-shaped things, but are actually larger networks, and pill-shaped appearance in electron micrographs is due to the microscope getting a cross-section of a particular branch of a mitochondrion. The strange shapes likely arose through a long history of living within a host that provides scaffolding (cytoskeleton), so I guess the early ones would likely still be pill-shaped.

ghost commented 9 years ago

I see bacteria as filling a few separate roles, in terms of filling out the microbe stage gameplay:

There are two basic ways we can represent bacteria, as small agents (possibly even particles), or as clouds. I don't think having them as agents adds much, as they'll just be smaller, less capable, AI cells. They would add a sense of more life to the game (as there could be more of them), as well as some more diversity, but I'm not convinced this makes them a worthwhile addition.

Representing them as clouds (which is somewhat reasonable as they can be vastly smaller and more numerous than eukaryotic cells) would add a more novel factor to game play, and one which would need to be dealt with entirely differently by the player. This has several more possible advantages:

All of this is speculation though, and I know from previous experience that diffuse clouds can be somewhat finicky to work with, at least aesthetically. So I've created a prototype (here) of interacting bacterial clouds, compound clouds, and microbe agents, to test if and how this might be fun. It's very much WIP (and right now, if anything, suggests this is a terrible idea), so any feedback is very welcome.

TritiumH commented 9 years ago

On that scale bacteria are clearly visible as different entities tough, https://www.youtube.com/watch?v=TwqBsRtciX8 I would say that displaying them as clouds would be worse as there would be less organisms in the environment to interact with, as you said Seregon bacteria could be a source of compounds, competition, or be real danger to the player (for instance oxygen is very reactive and is toxic for anaerobic organisms, that means that cyanobacteria are a thread if you still don't have mitochondria) Another thing we should look into is that glucose and amino acids don't just appear into the water, they are however in good quantity in bacteria( that are primary food for protozoan cells). So i would say that prokaryotic fauna deserves to be looked into not just for realism but more interesting gameplay.

Lepticidio commented 9 years ago

I agree with Tritium, to treat bacteria as clouds in this stage is unrealistic. As we discussed before, your cell could be as small as 10 upm, which is only 5 times bigger than average bacteria. Perhaps when multicellular is reached and you achieve certain size we could replace the bacteria agents with bacteria clouds.

Untrustedlife commented 9 years ago

I agree with both tritium and Lepticidio

(and what seregon said about endosymbiosis as I believe that mechanic to be very important)

Moopli commented 9 years ago

I do like the idea of bacteria providing colour and interest to the environment, but I think seregon is mistaken to suggest that bacteria can only be environmental if they are clouds. What I've suggested several times before (which nobody yet has argued against) is that a lot of (maybe even most) bacteria could be found in colonies of various forms, whether the long networked strands of cyanobacteria or small floating staphylococcus-like lumps that grow around dead eukaryotes, they won't be swimming around, just floating there, and will range from small environmental features to large-scale terrain. Large microbial mats (stromatolites, or the microbial mats that covered much of the bottom of shallow tropical seas before the Cambrian Substrate Revolution) form important biomes for early eukaryotes, so it isn't at all unreasonable to spend a lot of your time swimming through huge jungles of cyanobacteria. Obviously, microbes-as-clouds wouldn't give you that, but that's okay, because the important point of wanting a more interesting environment is fulfilled.

TjWhale commented 9 years ago

From a gameplay perspective being able to have terrain would be awesome. It allows so much more depth.

tjblazer85 commented 9 years ago

Hey Guys, I'll try to make a few bacteria models

tjblazer85 commented 9 years ago

I've searched for pictures of Bacteria and I've made a few models today!

Here is the Spore-Forming Bacteria: spore-forming bacteria

And here is the Bacillus Anthracis: bacillus anthracis

The files for the models are in this link: https://dl.dropboxusercontent.com/u/137682043/Bacteria.rar

Edit: New download link lower into the thread.

If animations are needed, I can make some. just tell me what are the needed animations.

I'll make some more tomorrow!

tjblazer85 commented 9 years ago

Oh, I forgot to mention in the last post. I didn't subdivide the model that much because based on the other posts here, it's gonna be sized down a lot, so I thought that if it was just small the people playing it wouldn't notice that it's no that rounded. It would also help the engine run better since it's not rendering that many vertices and tris.

tjblazer85 commented 9 years ago

Alright! I've made three more models! Diplococci, Cocci Tetrad, and Sarcina.

Here they are: diplococci cocci tetrad sarcina

Here is the download link: https://dl.dropboxusercontent.com/u/137682043/Bacteria.rar

Edit: New download link lower into the thread.

By the way, I've been using this as a reference image to make the models: bacteria picture

Can anyone give me the file for the flagelum model? I need it to make the ones on the right of the image above and also for the one in the very center of the image. However if the Flagellum can just be attached by the game to the model then I won't need it.

jjonj commented 9 years ago

This isn't the most up to date version but might be good enough: https://www.dropbox.com/s/eip0xe9gzb1pf0y/FlagellaTest3.blend

tjblazer85 commented 9 years ago

Hey Guys, I've been looking at the other models and I wanted to make my models much better, and I figured out how to use the texture tab in blender! Hopefully my models are now up to par. I've redone the Bacteria models I've made and here's how they look like now.

The New and Improved Bacteria Models: spore-forming bacteria new bacillus anthracis new diplococci new cocci tetrad new sarcina new

New download link here: https://dl.dropboxusercontent.com/u/137682043/New%20Bacteria.rar

Edit: New New Download Link farther down the thread.

Moopli commented 9 years ago

Is the anthracis model a chain of bacteria, or did you just set up several copies for the render? I'd prefer to have them separate (or at least, in short chains) so we can make them form long, flexible chains and networks. The diplococci, tetrad, and sarcina will work without being split, since those types of bacteria naturally float around in groups of that exact shape and size (note though, that those ones shouldn't look like spheres, but look more fused together). Can you also produce a monococcus which we can use for strepto- or staphylo- cocci?

About their textures: do you think you could work in a shader that scales opacity to be highest edge-on and lowest head-on? If that's beyond your Cycles knowledge that's fine, I'm just interested in seeing if we can get a microscope sort of look. Of course, part of that microscope look would be tweaking the textures and bump maps, so you could play with those too.

tjblazer85 commented 9 years ago

Thanks for the feedback! I'll get to work on what you've posted, but before I start, I need some clarification. Do you want the cocci models to be just one model that the game will fuse together by itself or do you want the 3 models right now but I'll fuse them together more rather than have them be just fused next to eachother like it is now? Also can you elaborate more on how you want the models to be shaded or textured? Currently their shaded like that because I keep the light directly above the models or beside them when I render the inages.

TheCreator-- commented 9 years ago

@tjblazer85, all you need to do is use a frenel shader. That way it will be fairly transparent when you look at it directly, but colorful on the sides.

@Moopli, If you guys want, I can send you a .blend file that I did for thrive a while ago.

Here is the link of it in action: http://youtu.be/_kBdRXBu1MY

Moopli commented 9 years ago

@tjblazer85 We'll be using the models quite a bit, so I think it would be great to have the diplococci, tetrad, and sarcina meshes look like fused pairs/quartets/octets of spheres (ie, you make them fused, so we don't have to do it in code).

One thing I'm not sure about is whether you should keep the interior meshes once you've made fused models. On one hand, the models are more lightweight if all the interior surfaces (the membranes between the bacteria) are gone, but on the other, the interior membranes would be visible using a transparency fresnel shader.

@TheCreator-- Thanks, I'd forgotten what that kind of shader is called. I thnk tjblazer might find that blend file really useful. Good reference -- I think we might want transparency to scale even stronger, so only the very edge is visible, so if you have some time to fiddle with the shader that would be awesome.

TheCreator-- commented 9 years ago

@Moopli, fixing the shader to make it even more transparent should be extremely easy, I'll put a few tests onto here when I get home.

@tjblazer85, if you use metaballs it should be easy to make the cells fused.

TheCreator-- commented 9 years ago

How is this? https://youtu.be/rMO7ZI-iPpo

tjblazer85 commented 9 years ago

@Moopli, @TheCreator-- , I'll try out the metaballs and the fresnel shader, I'll upload the models a little later if possible, if not then maybe by tomorrow.

tjblazer85 commented 9 years ago

@Moopli, @TheCreator-- , I've made a quick test to see if I'm using the Fresnel Shader correctly. Should there still be color inside, none at all, or maybe somewhere in between? fresnel bacteria test 2 fresnel bacteria test

tjblazer85 commented 9 years ago

Here's a test with the Diplococci: diplococci metaballs diplococci metaballs 2 I'll put up a download link once we decide on how the textures should be like.

TheCreator-- commented 9 years ago

Great job, that looks a whole of a lot better. Just don't forget to convert the metaballs back to meshes when you're done.

Personally I prefer the one on the top. Also, if you want you could try using a colorramp to give it a light edge. Want me to send you my .blend file?

One more thing, is the bumpy look part of the actual geometry or did you use a bump map?

tjblazer85 commented 9 years ago

Thanks!

It would help if you could send me the file.

The Bumpiness is actually just a texture with a 0.700 normal applied on it. I like to keep my models for this game as simple as possible without comprimising how it looks, that way the game doesn't need that much ram to run.

I was busy yesterday so I was only able to reply today. I'm gonna upload the new models in a little while.

TheCreator-- commented 9 years ago

@tjblazer85, could you give me your email address because I am having trouble putting my file on dropbox.

tjblazer85 commented 9 years ago

Sorry I wasn't able to post the models sooner but I've been busy and it was Holy Week last week, and Easter Sunday. However, without further delay, here are the new models!

baccili spore-forming baccili diplococci cocci tetrad sarcina

Download Link here: https://dl.dropboxusercontent.com/u/137682043/Bacteria%20(Fresnel%20Shaded).rar

P.S. The models look more rounded when they were metaballs. Speaking of which, I also have the metaball versions of the models in the rar. file just in case we need them. There are also metaballs for the Baccili but not the Spore-Forming Baccili because they don't combine into Baccilus Arthracis (Unless I'm wrong about that.).

@TheCreator-- My e-mail is tjtomenes@yahoo.com. Also I've tried a color ramp with the models.

@Moopli What other types of Bacteria do we need?

apinanaivot commented 9 years ago

Hello. I modeled some particles/bacteria in blender paricles Download the blend file here: https://drive.google.com/file/d/0BwiCSjcuG4RiQXBJMzkxU1V0VjQ/view?usp=sharing By the way, how high quality should the models be? The models above that are made by tjblazer85 are quite low-polygon and my models have a lot bigger polygon quality.

TheCreator-- commented 9 years ago

@apinanaivot Wow! That shader is amazing.

jjonj commented 9 years ago

By the way, how high quality should the models be?

I have very little experience in pushing polys myself, all I know is that we haven't run into any issues yet. Did you use anything fancy for that model? Our exporter doesn't support many of the more advanced features. You can find more here http://thrivegame.canadaboard.net/t1402-basic-blender-modeling-animation-and-exporting-to-ogre-tutorial

TheCreator-- commented 9 years ago

Just wodering, would it make sense for all the bacteria to be procedurally generated? Because even if we have a lot of different models, we will probably always have more bacteria on the screen at any given point in time.

Moopli commented 9 years ago

That's a good idea, but I think it's just much easier to keep them looking bacteria-like when they're all artist-made, and there are few enough basic shapes that we can afford to do so.

Most bacteria on the screen would appear in large clouds -- all with the same model, etc. There would probably be no more than 10 distinct bacteria species on-screen at a time (and usually a lot less), so I think we could get by without too many. Much like compounds currently, you'll probably want to easily recognize the various bacterial shapes, so that probably precludes having too many different models anyway.

@apinanaivot: sorry for forgetting to respond -- we might have tons of them (low hundreds, even) on-screen at a time, and the most numerous would be tiny, but the biggest and least numerous would be on the scale of a hex, so we have a pretty wide poly-count range.

TheCreator-- commented 9 years ago

Okay, and I assume we currently plan for them to have the swarming behavior prototyped by tjwhale?

Moopli commented 9 years ago

For the true swarms of bacteria, something even simpler would work perfectly fine. I wouldn't really consider it worth the developer effort to get the swarmiest bacteria pathing around intelligently, and if bacteria pathing ends up being the heaviest part of the game loop, then it wouldn't be worth anyway.

ghost commented 8 years ago

Is this still open? For which version is scheduled?

jjonj commented 8 years ago

It was scheduled for 0.2.5, but we're past that already so it'll just come in whenever it is ready.
I expect @moopli will finish it when he has the time!

TheCreator-- commented 8 years ago

Here are the current release plans if you're interested: http://forum.revolutionarygamesstudio.com/t/future-release-plans/129

Untrustedlife commented 6 years ago

We have some new ideas for re-implementing bacteria. At this point

Untrustedlife commented 6 years ago

They will perhaps be simply microbes without a nucleus that can be 1, or two hexes long, (which is in line with numbers, chloroplast being 2 hexes as stated earlier (in thrive they are 1 hex) mitochondria are 1 hex. have a chance of having flagella, and when absorbed would grant you something, eg a mitochondria, a chloroplast, a vaculoe etc. They will probably have their own membrane material (so they dont look like normal microbes). They will be subject to auto evo, which means they can change colors occassionally and could have cilia or flagella randomly given to them. They could emit a cloud.(toxin vaculoe bacteria emitting their poisonous agent cloud) They will likely not be given AI and if they are given AI it will be very simple so we can still have many on the screen at a time, at this point im thinking spawning them in colonies of 2-4 would be good for our purposes.

They will act as goody bags/competitors/terrain. Maybe we could occasionally give them scaled-down pilus aswell.

Anybody disagree, or can this be our plan for now? (this is probably the simplest way to implement them, and will perhaps allow for further developing them so we can add prokaryote gameplay , as has been discussed)

Untrustedlife commented 6 years ago

I started implementing this last night, its going rather swimmingly.

Untrustedlife commented 6 years ago

image

here is the state of the new implementation

Untrustedlife commented 6 years ago

status after tonight: image