Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Microbe Stage GDD Fri Aug 02, 2013 8:47 pm
So, I will be leaving soon for a lengthy trip, and afterwards school will be starting again for many of us, so I want to try and get this done before then, so come school, we can focus more on modelling, texturing, animation, coding, outreach, and all the other steps to completing the microbe stage. Here is the Game Design Document for the Microbe Stage.
As many of your may notice, it is basically a reformatted version of Nimbal's game specification for the microbe stage. The point of this is to put it into a word document and format it. It can, ultimately, be tweaked to become the game manual for the first stage. It is very important that we finish up this document to a sufficient degree, because that will mark the end of the conceptualization of the Microbe Stage. It will leave us to work on the other tasks I mentioned above. So, to get started on working on this, check out the instructions below.
Feel free to update and make edits to the GDD. You can add comments (a tool Word has under "Review"), to suggest changes. Please also use this thread to discuss the GDD and its contents.
Be sure to track all the changes you make, an option Word should have under "Review" (if you're on Windows). Be sure to leave comments where necessary, and respond to comments left by others.
Once you have made all the changes you want, post a download link to it here. Please save it with a new version name. If your changes were minor, please increase the last digit in the version number by 1.
1.0.0 --> 1.0.1
There is no limit to how high the last digit can reach. If it is a moderate change, increase the middle digit by 1. The limit for the middle digit is 9. Any moderate changes past 9 instead increase the first digit by 1 and reset the middle and last digits to 0. Whenever a middle digit increases, reset the last digit to 0. Your change can only count as a moderate or minor change.
The version naming may seem tricky, but once you get the hang of it it'll be fine.
Also, be sure to sign your comments with your forum username, something I forgot to do.
Last edited by NickTheNick on Mon Jul 14, 2014 10:26 pm; edited 3 times in total
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
I'd like to point out that this is a file that should be read by EVERYONE. Anyone who considers themselves a contributor to microbe stage should know this front to back.
Oliveriver Music Team Co-Lead
Posts : 579 Reputation : 59 Join date : 2013-01-21 Age : 26 Location : England, United Kingdom, Europe, Earth, Solar System, Milky Way, Virgo Supercluster, The Universe
Subject: Re: Microbe Stage GDD Wed Aug 07, 2013 4:39 am
Does the GDD need a music section (possibly under gameplay) to describe how the gameplay, editor and loading screen themes should function, or is that basically self-explanatory?
Also, under the reproduction and mutation section, it says that decreasing the size of the cell, moving or removing an organelle all give back MP. Surely if Mutation Points are the measure of how much a cell can change in a generation, they should also be used up in these circumstances? Since gaining and upgrading an efficient organelle or functional edge would take several generations, wouldn't it also take several more to lose it? This is, after all, what happens in actual evolution - the ancestors of humans didn't lose their tail overnight, as it would have required mutations in our ancestors' DNA to get rid of it.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Microbe Stage GDD Wed Aug 07, 2013 10:58 am
Oliveriver wrote:
Does the GDD need a music section (possibly under gameplay) to describe how the gameplay, editor and loading screen themes should function, or is that basically self-explanatory?
Also, under the reproduction and mutation section, it says that decreasing the size of the cell, moving or removing an organelle all give back MP. Surely if Mutation Points are the measure of how much a cell can change in a generation, they should also be used up in these circumstances? Since gaining and upgrading an efficient organelle or functional edge would take several generations, wouldn't it also take several more to lose it? This is, after all, what happens in actual evolution - the ancestors of humans didn't lose their tail overnight, as it would have required mutations in our ancestors' DNA to get rid of it.
This is a good point. I support all mutations having some cost.
GDD wrote:
Every time there are bullet points like this, please convert them to paragraphs without changing the meaning or leaving out any important info. At the same time, however, try to keep it clear and concise.
I'd actually prefer we keep bullet points. It's easier to read and more concise.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Okay, I'll make both of those changes. The OP will be updated to contain only the most recent release of the GDD.
---
Here is the new copy, v1.0.1 http://www.mediafire.com/download/8zmwhit67ffv8fi/Game_Design_Document_-_Microbe_Stage_v1.0.1.docx
Nimbal Programming Team lead
Posts : 258 Reputation : 24 Join date : 2013-03-17 Age : 40 Location : Ratingen, Germany
Subject: Re: Microbe Stage GDD Thu Aug 08, 2013 2:54 am
I have to say, I'm scratching my head here a little. Why have a file like this when we already have the wiki page? The only "advantage" I see is that anyone can download and edit it, as opposed to the wiki page that requires appropriate permissions to be edited. This advantage also means that we potentially end up with many different documents, each containing small changes, not all of them compatible. This can quickly become a nightmare to merge and maintain. With the wiki page, we at least have proper synchronization between edits (no two people can edit the page at the same time), a complete history and a format that doesn't require an additional program (besides a web browser) to read and edit.
About mutation costs, see my post in the Building Microbe Stage thread. The negative side of having simple shape changes cost MP comes apparent when the player just acquired a new type of organelle. If there are enough free cells in the current shape, but a small rearrangement is necessary to accomodate the organelle, it can potentially prevent the player from using the new organelle altogether, at least until the next mutation with more mutation points.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
I think the advantage of the doc is mainly that we can edit it offline and it's backed up in multiple places. Also, not everyone can edit the Wiki (for good reason).
On the subject of mutation costs, there are two separate cases here that we're discussing (or at least i think we're discussing both). -Permanently removing a hex -Removing a hex and then adding the same volume on somewhere else
Obviously, because permanently removing a hex boosts the speed at which you can reproduce, I want the player to pay for it- they trade MP for faster reproduction. If the player just wants to change the shape and not the volume of the cell, I think that should be neutral, meaning it has no cost.
The problem is differentiating between the two. How do we know when a player wants to permanently remove a hex and when they're simply reshaping the cell?
Continue this on the Building microbe stage thread.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sat Aug 10, 2013 1:03 am
Also, the wiki page should have everything split into different pages, whereas this puts it all together. Word also makes it easier to post tables, and has a more convenient (I find) way of leaving comments and tracking changes.
Dalroc Newcomer
Posts : 27 Reputation : 0 Join date : 2013-08-12 Age : 33 Location : Sweden
Possible mutations with illustrative costs are: o Moving an organelle: 1 MP
followed by
Quote :
• Mutation costs are calculated as a whole, i.e. removing an organelle, then placing that same organelle back in (even at a different place) during the same mutation will incur no cost of mutation points
That means you can work around the cost of moving an organelle, by removing it and placing it back in at a different place for no cost.
Oliveriver Music Team Co-Lead
Posts : 579 Reputation : 59 Join date : 2013-01-21 Age : 26 Location : England, United Kingdom, Europe, Earth, Solar System, Milky Way, Virgo Supercluster, The Universe
Possible mutations with illustrative costs are: o Moving an organelle: 1 MP
followed by
Quote :
• Mutation costs are calculated as a whole, i.e. removing an organelle, then placing that same organelle back in (even at a different place) during the same mutation will incur no cost of mutation points
That means you can work around the cost of moving an organelle, by removing it and placing it back in at a different place for no cost.
That will need to be changed - removing and replacing an organelle should have the same MP cost as moving it. However, just removing it will also have a MP cost, so in essence you'd have to get MP back if you choose to add the same organelle that you just took out.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
I'd just like to refresh this thread. With the current work being done on the Microbe Stage, this document will be the focal point of what gets into the game. All developers make sure to read this through, and we need to translate concept from here into mechanics the coders (Crovea, at the moment) can put into the game engine.
crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
I figured that since I (and hopefully other programmers) would probably be responsible for implementing the stuff in the GDD, it would be a good idea to look through it and figure out what I need clarified. So here is some things that can be addressed by anyone with some spare time:
The open questions at the end of the document:
Elaborate on compounds in the environment, they spawn in clouds right? How long do they last and how rare are they?
Elaborate how agents are produced and released. Do they really get released as soon as they are produced or do the player use a hotkey?
Elaborate how agent resistance works
Organelle functions mention: "Increase maximum ATP capacity" Which I believe should be: "Increase maximum compound capacity"
Elaborate how saving works. Can you have multiple saves of different iterations of your microbe? Can you always load a save (For quickly saving and loading to generate a new environment and escape a predator)?
Question: Are microbes supposed to have hitpoints or does ATP fill that role? The stab or not to stab thread talks about membrane integrity (I have a preference for having hitpoints).
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sun May 18, 2014 8:24 pm
With my exams done I'll post my updates to the GDD and answers to your questions sometime tomorrow. The GDD will have to be revised to be more clear on implementation of game features.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sat May 24, 2014 5:02 am
So I'm going to address these questions on the forum before I post them on the GDD, because some of the answers are incomplete or even absent, which means we require some discussion to settle some concepts and features.
Microbe Stage GDD wrote:
How are new organelles unlocked? Options so far: o Organelles can be found in the environment and are unlocked by gathering them up o Organelles are unlocked automatically as the player progresses. Each organelle has a specific number of reproductions the player must go through before it is unlocked. o Variant on the above: every N reproductions, the player gets to choose between multiple organelles to unlock. The options may depend on previous choices, like an "organelle tree" o The player has to upgrade one of his mandatory organelles to unlock new ones
Here is the list. We need to put in a list of organelles and their functions to the GDD.
Basically, some organelles can be evolved from reproduction, others need to be acquired through endocytosis. This just means absorbing a free-floating version of it and hoping it remains intact. There is no "organelle tree" or the like. Also, the player spends Mutation Points (MP) on adding or taking away new organelles.
Acquiring a new organelle through endocytosis not only places a copy of it in your cell, it also unlocks it for future adding and taking away.
Evolution Only Flagellum – Evolves from cilia or vice versa Cilia – Evolves from flagellum or vice versa Predatory Pilus – Injects toxic materials into a cell Cell Wall – Provides structure and protection, but prevents motility.
Endocytosis Only Communal Membrane Proteins – Allows bonding with other cells Conjugal Nuclei – Allow sexual reproduction Mitochondria – Allow cellular respiration Bioluminescent Dot – Lights up the area around the cell Chloroplast – Allows photosynthesis Thermoplast – Allows thermosynthesis Chemoplast – Allows chemosynthesis Vacuole – Allows for efficient storage inside the cell. Lysosome – Digests contents inside the cell.
Microbe Stage GDD wrote:
How detailed should the movement model be? o Just add together the accelerations of movement organelles. During movement, apply repeated impulses to the microbe's center of mass. o Apply impulses at the points of attachment for each movement organelle, requiring the player to place them in sensible positions for good control. Could be challenging for the physics engine when many microbes are on the screen.
This question is open to discussion, because I can't think of an answer for it.
crovea wrote:
Elaborate on compounds in the environment, they spawn in clouds right? How long do they last and how rare are they?
Yes, they spawn in clouds, like ink in water. I would think that compounds should last eternally, and I don't think it would lead to accumulation of waste products, because all the compounds will be used up by something else anyways.
In addition, we do need to start considering the abundances of the compounds. What I have so far is:
Water, Oxygen, Nitrogen, Hydrogen, Carbon Dioxide: They exist in such abundant quantities in the oceans it's assumed they are infinite. Glucose, Proteins, Amino Acids, Lactic Acids, Fats, Ammonia, Urea: Found in small clouds scattered around the tidepool. Some of these are necessary, like glucose and protein, while other's are useless, like ammonia and urea. There's also some compounds for this stage which I have no functions for: Carbon, Phosphorus, Calcium, Sodium
crovea wrote:
Elaborate how agents are produced and released. Do they really get released as soon as they are produced or do the player use a hotkey?
I think the player should assign hotkeys to each agent vacuole, and then control the release of built up agents. The vacuoles would both produce and store agents. However, what is agent resistance?
crovea wrote:
Organelle functions mention: "Increase maximum ATP capacity" Which I believe should be: "Increase maximum compound capacity"
In fact I think that it did mean to say ATP, because ATP will be stored and expended like an energy bar. However, assuming ATP as a compound, I guess it's more accurate to say compounds in general and not just ATP.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Subject: Re: Microbe Stage GDD Sat May 24, 2014 11:46 am
Be warned, here comes a megapost, which flirts with OT every now and then:
--- ---
crovea wrote:
Are microbes supposed to have hitpoints or does ATP fill that role? The stab or not to stab thread talks about membrane integrity
I forgot to mention this a while ago (and it isn't quite as relevant in the stabby thread as it is here now), but here's a mini-science lesson
Cells, in general, have much higher internal concentrations of solutes than the environment does. Thus, due to the corresponding lower concentration of water inside, water continuously flows down the concentration gradient, into the cell, by osmosis. Of course, the increase in osmotic pressure would burst the cell if it didn't do anything to prevent it. Since we don't see all cells bursting willy-nilly, there must be some way to prevent it -- and indeed, there are three. One is what plants and many bacteria and others do -- they have cell walls, with very high tensile strength, so the osmotic pressure is contained. This pressure, called turgor pressure, is what keeps fresh veggies crisp. Another approach what many protists use, is the growing of contractile vaculoes. These take in water from within the cell, then expel it outside the cell, doing some large-scale pumping to keep water out. The third way is what many other protists and animal cells do -- they use ion pumps to lower the concentration of certain ions in the cell and raise the concentration outside, to keep osmosis in check.
Now, we certainly don't need to model any of this explicitly -- however, the two active methods of osmoregulation have very high ATP costs (about 30% of the ATP of an average animal cell goes to the NA+/K+ ATPase, if I recall correctly). So, when ATP drops to zero, the cell can't osmoregulate any more, and swells, and bursts. Since I'll probably be doing a lot of the soft-body physics anyway, it's no trouble at all for me to work this in. Then, we wouldn't need to display HP, as you could just watch your cell swell. This also gives the cell wall organelle another use, as a walled cell doesn't have to worry about osmolysis.
What's more, predatory pila, and the immune complement, and most other methods of killing a cell (but not apoptosis if memory serves) do so by blocking the osmoregulatory system somehow, leading to cell bursting. So osmoregulation can be our analogue of HP.
--- ---
NicktheNick wrote:
Basically, some organelles can be evolved from reproduction, others need to be acquired through endocytosis. This just means absorbing a free-floating version of it and hoping it remains intact.
Since mitochondria are derived from free-swimming proteobacteria, and chloroplasts from cyanobacteria, we could have those in particular do more than just float around. Ur-mitochondria could swim (very simplistically, just some FBM), and ur-chloroplasts could be found in large chains. But that is a discussion for another day.
NicktheNick wrote:
Endocytosis Only: Communal Membrane Proteins – Allows bonding with other cells ... Vacuole – Allows for efficient storage inside the cell. Lysosome – Digests contents inside the cell.
From what I know about eukaryogenesis and the endomembrane system, lysosomes and vacuoles don't seem to have been absorbed, but generated from vesicles pinched off the plasma membrane or some such. However generating them spontaneously is probably less fun, and this has already been decided, so it has my blessing and I'll shut up about it now.
--- ---
NicoElNico wrote:
[The movement] question is open to discussion, because I can't think of an answer for it.
Here's a way we could get great movement realism -- precomputation: Whenever a new microbe is created, we calculate the torque and radial force of every movement organelle on it, and then for each of about 8 or so directions around it, we calculate max speed (well, if we're gonna let cells strafe, otherwise this is unnecessary), and we also calculate turn speed. Then, when we swim, we just read off numbers, and if we want microbes to move in any direction, we'd just lerp between precomputed speeds.
However, with realism in mind, we need to remember that cells are tiny -- with water so viscous at that scale, there is no inertia. So, we model drag -- very simple drag, since a cell is either moving under power, or not moving at all relative to the surrounding water.
And another thing: I don't think this has been touched upon yet, but in the real world, ciliate protozoans move by moving water across their ciliated surfaces -- that is, to move forward, the cilia on their sides beat. This would be a great way to distinguish cilia and flagella -- flagella apply very large radial forces, but much smaller tangential forces, whereas cilia are the reverse. then, what people have said before about flagella being worse for maneuvering, but faster, would come naturally.
--- ---
NicktheNick wrote:
Yes, they spawn in clouds, like ink in water. I would think that compounds should last eternally
This ties into the discussion I started up recently about pathfinding. At work, I've been working recently on smoke simulation, and we sim smoke using an Eulerian method (basically a voxel grid of compound densities). We could repurpose a simple version of that to do compound diffusion in the area around the player, with trails of waste left by passing microbes, patches of food where something recently died, etc. But more elaboration probably belongs on that thread.
NicktheNick wrote:
There's also some compounds for this stage which I have no functions for: Carbon, Phosphorus, Calcium, Sodium
finding elemental carbon in a tidepool would be very unlikely, so we can strike that off the list. Phosphorus, in the form of phosphate, would be needed to synthesize ATP and a bunch of other things, but since it more or less gets recycled in a cell, I'm not sure how much needs to be absorbed. Calcuim and Sodium concentrations would contribute most to osmoregulation, but otherwise I'm not too sure. Perhaps when you enter hypertonic areas you crenate, and when you enter hypotonic solutions you swell, and possibly burst, which would be super-realistic, but would probably be in a later version of Microbe stage.
--- --- tl;dr: Osmoregulation should totally be a game mechanic, replacing HP. instead of a health bar, you see your cell swell or shrink past healthy bounds. Oh, and also, cilia push sideways.
Last edited by moopli on Sat May 24, 2014 4:12 pm; edited 1 time in total (Reason for editing : ugly sentence fixing)
Tritium Newcomer
Posts : 90 Reputation : 15 Join date : 2013-03-18 Age : 34
Subject: Re: Microbe Stage GDD Sat May 24, 2014 1:52 pm
Awesome post moopli great knowledge of microbiology, i would just like to ask how osmosis is balanced in a protist with ATP pumps, in an organism the extracellular fluid can be regulated but for a protist the Na+ released would just disperse and the high concentration of intracellular K+ will still kill it. I don't think so many organelles should be acquired with endocytosis it's not fun gameplay as seen in "that other game we do not talk about" Agent resistance was discussed at one point but i don't remember if anything was decided, still tough antidote agents are a good idea, cells have large arsenal of enzymes to protect them from viruses, toxins, reactive molecules and such. Another question - what is the benefit of sexual reproduction in the game?
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Subject: Re: Microbe Stage GDD Sat May 24, 2014 2:59 pm
Hmm, I didn't consider that -- that may be why most (or all? probably almost all) protists use a contractile vacuole. Which, btw, looks totally cool:
Tritium wrote:
I don't think so many organelles should be acquired with endocytosis it's not fun gameplay as seen in "that other game we do not talk about"
I agree with you there, personally I'd prefer you start with a simple endomembrane system (ER and some vesicles), that then slowly (possibly even just for show) differentiates into different organelles as your cytoskeleton improves (vesicles forming vacuoles, endosomes budding off the surface and eventually becoming lysosomes, cisternae forming and eventually gathering into stacks, etc). But this isn't concrete or anything yet, and it looks like the organelle thread is long past the figuring-out-organelles stage.
Nick, is it cool if I start a new thread on the Endomembrane system? It's been neglected so far and I have implementation ideas but yeah, it'll make me an ideas guy, and those are baaad Oh, and while I'm at it, what about another on osmoregulation instead of HP? *squirm* I just don't want to become a just-ideas guy...
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sat May 24, 2014 3:35 pm
Tritium wrote:
Awesome post moopli great knowledge of microbiology, i would just like to ask how osmosis is balanced in a protist with ATP pumps, in an organism the extracellular fluid can be regulated but for a protist the Na+ released would just disperse and the high concentration of intracellular K+ will still kill it. I don't think so many organelles should be acquired with endocytosis it's not fun gameplay as seen in "that other game we do not talk about" Agent resistance was discussed at one point but i don't remember if anything was decided, still tough antidote agents are a good idea, cells have large arsenal of enzymes to protect them from viruses, toxins, reactive molecules and such. Another question - what is the benefit of sexual reproduction in the game?
Well, the idea of having those organelles as requiring endocytosis to acquire is to make it so that the player can't just get the organelles he desires from reproduction, but rather from exploring the tidepool to find new proto-cells which he can absorb. So basically, it's to stretch out the stage and make it a bit more challenging, but it's not necessary and it's open to discussion whether we will have them require evolution or endocytosis.
However, there are some organelles that I think need to be obtained from endocytosis, particularly conjugal nuclei and communal membrane proteins (CMP), because sexual reproduction and multicellularity need to not be available straight from the get-go. The idea is to have conjugal nuclei and CMP spawn in the tidepool starting at the 100th generation, and increase in abundance each generation until by the 1000th generation you are basically guaranteed to find them.
Well I discussed it with ~scio and he said that sexual reproduction would lead to increased evolutionary flexibility and diversity. It is also required if, down the line, you want your organism to reproduce sexually. However, I do not have any ideas on how this will present itself in terms of actual game features.
moopli wrote:
I agree with you there, personally I'd prefer you start with a simple endomembrane system (ER and some vesicles), that then slowly (possibly even just for show) differentiates into different organelles as your cytoskeleton improves (vesicles forming vacuoles, endosomes budding off the surface and eventually becoming lysosomes, cisternae forming and eventually gathering into stacks, etc). But this isn't concrete or anything yet, and it looks like the organelle thread is long past the figuring-out-organelles stage.
Nick, is it cool if I start a new thread on the Endomembrane system? It's been neglected so far and I have implementation ideas but yeah, it'll make me an ideas guy, and those are baaad Oh, and while I'm at it, what about another on osmoregulation instead of HP? *squirm* I just don't want to become a just-ideas guy...
Well, I don't think the topic for that discussion should be tabled. If we want to make vacuoles and lysosomes evolve instead of be absorbed, we could change to that.
It's completely cool to start a new thread on that. I think both those ideas sound awesome, much better than a cell HP bar. It also correlates much more with scientific accuracy.
NOTE: I haven't forgotten the rest of crovea's post and your big-post, I'm drafting up my responses to them now.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Subject: Re: Microbe Stage GDD Sat May 24, 2014 5:18 pm
Has anyone raised the idea of using free-floating plasmids to serve as an analogue for the organelles we currently have listed as free-floating that make no sense? Small change, makes for better science -- so, for example, a plasmid carrying the instructions for a cytoskeletal molecule, giving you an improved cytoskeleton. Or a plasmid that carries instructions for a secretory protease, giving you an agent that dissociates attached cells (since cell-cell adhesion is usually mediated by proteins, and some methods leave enough space for other proteins to float between) and damages cells with protein coats. Or, to keep things both interesting and realistic, a plasmid that replicates like mad and bursts you to spread. But that could all come later (I'll implement it :P), the only GDD change would be saying some organelles are found as floating sacs and then phagocytosed, and some are found in the instructions on some free-floating plasmids.
To round out my proposal, here's a quick listing of the organelles plasmids would work reasonably for:
Communal Membrane Proteins – needs just one protein
Conjugal Nuclei – if done with some fusion protein (the simpler way)
Bioluminescent Dot – all a bioluminescent dot needs is one protein
Vacuole – Admittedly I'm not too sure what mechanism, but a plasmid makes more sense than finding random vacuoles lying around
Lysosome – a protease/lipase/nuclease/etc that collects in vesicles
And the ones it wouldn't:
Conjugal Nuclei – possibly done by absorbing a large virus (the crazy way)
Mitochondria – Endosymbiotic hypothesis
Chloroplast – Endosymbiotic hypothesis
Thermoplast – Endosymbiotic hypothesis
Chemoplast – Endosymbiotic hypothesis
Last edited by moopli on Sun May 25, 2014 1:16 pm; edited 1 time in total (Reason for editing : made cytoskeletal comment more correct)
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Mon May 26, 2014 4:17 am
Another big post to add to this thread. Here I will try to reply to the remaining open question I am aware of on this thread.
The different ways one can attack another cell are as follows:
Engulfment, where the larger cell basically moves into and absorbs the smaller cell. This process requires that you be larger than the target cell, and also has a small chance of giving you one of the organelles (except a nucleus) in the target cell (provided you have the space to hold it). This requires the cells to be converted to soft-body entities, because it would just look weird for cells to be completely rigid in this process.
Damaging agents penetrate an AI cell, which causes the cell to burst for whatever reason if too much of the agent enters the cell. When the cell bursts it has a small chance of leaving an intact organelle remaining (even a nucleus). These organelles float around and can be absorbed by the cell for a small chance of having them remain intact inside the cell and become a part of their cell. Absorbing the remaining nucleus gives a boost to reproductase, which reduces the amount of time until you can next reproduce.
Using a predatory pilus on your cell, you latch on to another cell to inject poisonous agents into the cell. I'm not sure whether the idea is that you inject and leave, and wait for it to die, or you must stay attached until the cell bursts.
crovea wrote:
Elaborate on how behavior evolves. Such as: "Microbes can also assist each other, possibly building cooperative colonies"
However, there are some new details I need to add to that that have been raised by ~sciocont recently.
In terms of how to actually code the microbe AI, I think that's something moopli is working on.
crovea wrote:
Elaborate how saving works. Can you have multiple saves of different iterations of your microbe? Can you always load a save (For quickly saving and loading to generate a new environment and escape a predator)?
I think this is a very good question which finally deserves its own topic. Here it is.
moopli wrote:
Since mitochondria are derived from free-swimming proteobacteria, and chloroplasts from cyanobacteria, we could have those in particular do more than just float around. Ur-mitochondria could swim (very simplistically, just some FBM), and ur-chloroplasts could be found in large chains. But that is a discussion for another day.
Actually I think the original idea was what you were suggesting, but my description of it was very vague. We should have them swim around with some degree of autonomy, it would add some life to the tidepool, and I think would be pretty cool.
moopli wrote:
Here's a way we could get great movement realism -- precomputation: Whenever a new microbe is created, we calculate the torque and radial force of every movement organelle on it, and then for each of about 8 or so directions around it, we calculate max speed (well, if we're gonna let cells strafe, otherwise this is unnecessary), and we also calculate turn speed. Then, when we swim, we just read off numbers, and if we want microbes to move in any direction, we'd just lerp between precomputed speeds.
However, with realism in mind, we need to remember that cells are tiny -- with water so viscous at that scale, there is no inertia. So, we model drag -- very simple drag, since a cell is either moving under power, or not moving at all relative to the surrounding water.
And another thing: I don't think this has been touched upon yet, but in the real world, ciliate protozoans move by moving water across their ciliated surfaces -- that is, to move forward, the cilia on their sides beat. This would be a great way to distinguish cilia and flagella -- flagella apply very large radial forces, but much smaller tangential forces, whereas cilia are the reverse. then, what people have said before about flagella being worse for maneuvering, but faster, would come naturally.
That all sounds great, and I think thats a good distinction to make between cilia and flagella.
moopli wrote:
finding elemental carbon in a tidepool would be very unlikely, so we can strike that off the list. Phosphorus, in the form of phosphate, would be needed to synthesize ATP and a bunch of other things, but since it more or less gets recycled in a cell, I'm not sure how much needs to be absorbed. Calcuim and Sodium concentrations would contribute most to osmoregulation, but otherwise I'm not too sure. Perhaps when you enter hypertonic areas you crenate, and when you enter hypotonic solutions you swell, and possibly burst, which would be super-realistic, but would probably be in a later version of Microbe stage.
Would phosphorous just be assumed to be infinitely present like water and oxygen?
Tritium wrote:
Another question - what is the benefit of sexual reproduction in the game?
So I talked this over with ~scio, and we got an answer. Basically, there is a certain list of organelles that have a chance of being unlocked when you reproduce. Becoming unlocked makes them visible and available to add to your cell in the editor. Once you achieve sexual reproduction, you increase your chances of unlocking organelles every time you reproduce. Since communal membrane proteins can be evolved, sexual reproduction can help to becoming a multicellular organism.
moopli wrote:
Has anyone raised the idea of using free-floating plasmids to serve as an analogue for the organelles we currently have listed as free-floating that make no sense? Small change, makes for better science -- so, for example, a plasmid carrying the instructions for a cytoskeletal molecule, giving you an improved cytoskeleton. Or a plasmid that carries instructions for a secretory protease, giving you an agent that dissociates attached cells (since cell-cell adhesion is usually mediated by proteins, and some methods leave enough space for other proteins to float between) and damages cells with protein coats. Or, to keep things both interesting and realistic, a plasmid that replicates like mad and bursts you to spread. But that could all come later (I'll implement it :P), the only GDD change would be saying some organelles are found as floating sacs and then phagocytosed, and some are found in the instructions on some free-floating plasmids.
I think the idea for plasmids sounds very good. It adds a new dynamic for the game, and it also gives a way by which to find vacuoles, bioluminescent dots, and lysosomes in the environment without them just floating around.
Last edited by NickTheNick on Mon May 26, 2014 4:30 am; edited 1 time in total (Reason for editing : Additional responses)
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
In terms of how to actually code the microbe AI, I think that's something moopli is working on.
Heh yeah if I can ever get it running...
NickTheNick wrote:
Would phosphorous just be assumed to be infinitely present like water and oxygen?
Definitely not -- we (the cells) need phosphate to make ATP, we just don't need a large, continuous intake to sustain ourselves, since it's mostly recycled. Perhaps what would be best is for small amounts of phosphate to be everywhere, and for cells to start off with a small store of phosphate (including the phosphate locked up in ATP). Maybe we could make a little phosphate necessary to grow, though I'm not so sure on this point. It could also be used for a bunch of agents, same as all the other compounds (okay, probably not CO2). So, gameplay-wise, it would usually be a minor factor, serving more or less as a cap on your ATP production.
Edit -- some additional notes: Even if you just sat there all day long photosynthesizing, you'd have to be able to absorb enough phosphate floating by to not slowly run out; so there's our lower bound on environmental phosphate levels. However, if you want to use phosphate for crazy things like agent-spamming, then you should have to hunt for it, or your max ATP (limited by how much phosphate you can spare, obviously) will plummet and you will die; which gives us an upper bound.
Last edited by moopli on Mon May 26, 2014 9:59 pm; edited 1 time in total (Reason for editing : bounds on base phosphate levels)
Psych0Ch3f Newcomer
Posts : 55 Reputation : 10 Join date : 2013-09-20 Age : 29 Location : Montréal
Realistically speaking, everything there makes sense, to create the essential Fructose 1,6 biphosphate, you would need some phosphorus from the environment. But, for simplicity's sake, if ATP production is already being regulated by Glucose and Oxygen, why not just stick with the Glucose levels because you will probably never been in an environment that would be saturated with so much glucose that you would run out of phosphorus. This way we can keep it simpler for the programmers and keep it real. If you realllllly wanted to include the phosphorus levels for some reason, couldnt you just create an environmental Glucose/Phosphorus ratio or something along the lines of that? 2 birds with one stone.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
You say it better than me -- I was working under the assumption we'd decided to include phosphate, and was trying to rationalize it after the fact. Of course, that's a pretty foolish thing to do, thanks for catching that.
Now for another question, which kinda affects AI -- ideally, how would we represent environmental compounds? I know we're currently using a particle system to represent them, which is good for very non-uniform distributions, and I believe also for the rendering (using models, anyway). I know that there was a decision some time ago (years, I think) to not use grids but use particles, but since I'm the guy championing Eulerian methods (ie grids, I say Eulerian cuz that might give better google results) right now, I have to wonder if it might be possible to switch microbe-stage environmental compounds over to those. This might be too much of a tangent for this thread though...
Edit: We could even do a mixed method
Psych0Ch3f Newcomer
Posts : 55 Reputation : 10 Join date : 2013-09-20 Age : 29 Location : Montréal
Subject: Re: Microbe Stage GDD Thu May 29, 2014 1:13 am
I get how particle system can be super cool, especially in the early game where every particle makes a difference. But later on a more or less gradient/grid system could be useful I guess, to avoid clutter of hundreds of particles everywhere. (I dont really understand Eulerian methods, I do know what Eulerian paths are though, so it kiiinda makes sense) It would definitely need further discussion on another thread if you have a good idea of what to do.
As far as mixed, my understanding would be to represent grids/gradients of particles with models, so you "see" 1 particle but there's actually many more, defined by the grid. Also, I'm not sure if anybody's thought of it, but when games need to display lots of information on one map/screen they just use different filter buttons. So by clicking the filter it will show you "x property" or "Y gradient" etc... Your thoughts? I'm thinking if we find a good system for mixed method that would be ideal. (Maybe one that keeps on changing the weight of the particles as the cell gets larger [since it will be needing more particles] )
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
I dont really understand Eulerian methods, I do know what Eulerian paths are though, so it kiiinda makes sense
Hmm I should probably drop the "Eulerian" terminology then -- since there are so many things named after Euler, it gets nontrivial to figure out which one I mean. In the case of fluid simulation, Eulerian means grids and Lagrangian means particles -- a fact I only discovered a couple days ago (and thus had an urge to share), so don't feel bad :3
Quote :
As far as mixed, my understanding would be to represent grids/gradients of particles with models, so you "see" 1 particle but there's actually many more, defined by the grid.
I like this. A lot. The main issue of the grid method is resolution -- too low and it's useless, too high and it's slow. However, if you have some particles in every cell, then you can use those for any higher-resolution compound distribution information you need. Thus, we can use a grid with a nice, cheap, medium-low resolution.
As for seeing only one particle, however, I'm very wary -- we want to represent compounds like droplets of ink in water -- diffusing, spreading, and so on. Our current direction is more towards drawing single models for dense packets of compound, but that's just temporary. So hopefully, the particles will eventually be rendered as small clouds. Perhaps, these clouds would disperse and form up from a much less dense background of compound models floating about. I started writing loads more about the way this background could work, but it quickly got too complicated to be feasible. So I'm still not sure how to make it look good.
Quote :
Also, I'm not sure if anybody's thought of it, but when games need to display lots of information on one map/screen they just use different filter buttons. So by clicking the filter it will show you "x property" or "Y gradient" etc...
I like this too, especially because it would give you a look into the workings of the AI (if realistic). Another idea: purely realistically, a microbe would only see the concentrations just around it, and thus we'd only need to draw a few vectors -- a compass with a few arrows maybe?.
Quote :
Your thoughts? I'm thinking if we find a good system for mixed method that would be ideal. (Maybe one that keeps on changing the weight of the particles as the cell gets larger [since it will be needing more particles] )
That's a good way to deal with scaling up -- smaller concentrations of compounds stop mattering, which fits well with one facet of progression, not having to worry about the little things any more.
Last edited by moopli on Thu May 29, 2014 7:32 pm; edited 1 time in total (Reason for editing : improved clarity)