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)
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 31, 2014 1:46 am
To summarize what we've discussed so far:
Microbe health replaced with membrane and osmoregulation
Some changes to how organelles are obtained
Plasmids
Fancy motility maths by moopli
Sexual reproduction
Changes to compound generation
Saves will not all take place in the same galaxy, and other than that can be saved or loaded at any time during gameplay.
If there is something I missed, please let me now, otherwise I will update this and some other content into the Microbe Stage GDD for v1.1
Last edited by NickTheNick on Wed Jun 18, 2014 3:14 am; edited 1 time in total
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 Sun Jun 01, 2014 6:57 am
Just a couple of small nitpicky things which may or may not all be applicable to the GDD. Most of these were thought of while playing the current build as ways to improve:
Currents - Untrustedlife's prototype included fluid dynamics as a method for moving cells which hadn't yet evolved flagella, and even those with their own means of locomotion found it difficult to swim against the current. Is a similar system planned for the near future of the current build? A related point is . . .
Movement speed - I feel like the movement speed of all cells is too fast. Even with so many flagella on your starting cell, it feels unnatural to be moving so fast. Fluid dynamics as mentioned above would help to temper this, but it may still prove a problem. At the moment, moving as fast as is possible in a given direction leads to the game stuttering as it struggles to load the environment fast enough to keep up, at least with my fairly slow processor and graphics capabilities.
Rotation and ATP - While even the slightest directional movement does require ATP, you are able to rotate all you like without using any. The flagella are obviously working to achieve this, so logically it should require it. I'm not sure how it looks in terms of gameplay balance though.
Zoom - Although probably an easy thing to add at any point, the ability to zoom would be useful and I have seen it requested by a few people on YouTube, etc. Obviously there will have to be arbitrary constraints anyway.
AI - Is it just me or do all the AI cells currently in the game move towards a single point? I've found that playing for a while results in a cluster of cells swimming around a seemingly ordinary set of compound emitters with no particular significance. I have a few suspicions about what causes this, but since I'm not a programmer I can't really say with any accuracy. Initially I'd suggest limiting the AI 'field of view' so that they swim towards the location with the greatest merit within their detection range, rather than the entire map.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Subject: Re: Microbe Stage GDD Sun Jun 01, 2014 9:40 am
Oliveriver wrote:
... Currents - Untrustedlife's prototype included fluid dynamics as a method for moving cells which hadn't yet evolved flagella, and even those with their own means of locomotion found it difficult to swim against the current. ... Movement speed ... too fast ... so many flagella ... feels unnatural. Fluid dynamics ...[/list]
Good points. First, if we apply an exponential drag term to velocity, then there'll be diminishing returns on flagella. Second, since water is so viscous at cell scales, as I mentioned above, cells should not coast. Ever. This could give us an easy way to tune the drag term, since it should just be high enough to stop cells almost instantly once they stop swimming. Next point: I agree with my rampant quote-mining above -- too many flagella does feel unnatural. Flagellated protozoans don't usually have too many. They're also much longer and floppier than what we have now, so flagella will eventually have to be procedural. Come to think of it, cilia will have to be procedural too - but for different reasons. Ciliated protozoans are usually covered in fuzz. But not always. However, since players can only lay cilia on the side edges of their cells, we will have to extend the covering all around the cell, and make it seamless.
Anyway, on to water currents -- thanks to the viscosity of water, I think even the smallest scales of any currents we introduce would have to be quite large compared to single cells. Then, as the player's microbe goes multicellular, gets bigger, and leaves the viscosity-dominated size regime, it starts getting noticeably pulled about by small-scale turbulence. Then, as it gets even bigger, only macroscopic currents matter. It fits well with our sense of scale -- as the player progresses, the little things stop mattering.
Luckily, this is very very easy to simulate in 2D -- we just use some curl noise over a sparse (several times larger than cell size) grid, which might be what roadkill did.
crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
Subject: Re: Microbe Stage GDD Sun Jun 01, 2014 3:20 pm
Quote :
Is a similar system planned for the near future of the current build?
It isn't specifically planned, but could certainly be added to the issues list. Moopli, you seem to know how it could work, could you create an issue(s) for it? (Btw have you made progress with compiling?)
Quote :
I feel like the movement speed of all cells is too fast.
Sure I can adjust that fairly easily. Do you have any specific ratio in mind? Half movement speed?
Quote :
leads to the game stuttering as it struggles
Yeah, we'll have find some of the worst bottlenecks in the games update loop soon and get performance back up a bit. It would be preferable if we could complete this issue first to develop a more long-term solution to performance improvements.
Quote :
Zoom - Although probably an easy thing to add at any point, the ability to zoom would be useful
I'll add an issue for this!
Quote :
AI - Is it just me or do all the AI cells currently in the game move towards a single point?
The AI is currently very simple, I made them simply swim to certain emitters that have what they need. We will absolutely need much more advanced AI at some point!
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Subject: Re: Microbe Stage GDD Sun Jun 01, 2014 10:03 pm
crovea wrote:
could you create an issue(s) for it? (Btw have you made progress with compiling?)
Issue made, and no, no progress at all. I was putting it off until I could get enough time to rebuild everything in one go, which sadly didn't happen this weekend.
crovea wrote:
preferable if we could complete this issue
Yeah profiling should be a priority, if not for upcoming release, the next.
Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
I've been meaning to reply to some of the awesome ideas springing up here for a while, and have finally found time to do so (also in several other threads). I don't want to go over stuff thats already been decided and put to rest too much, so if I don't mention something its becuase I like it and have nothing to add.
moopli wrote:
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.
This is exactly what I'd like to see done eventually. I did more or less the same thing in a prototype I built sometime last year, with compound clouds diffusing, and microbes being attracted to (chemotaxis) higher concentrations of those compounds they were most in need of, and avoiding those that were toxic. Combined with some basic currents this could lead to a very dynamic environment. The major problem I found with my demo was that compounds diffused too much too quickly, and we need to be careful about how we display and interpret levels (perhaps using a logarithmic measure) to avoid having too steep a drop off.
Someone mentioned compounds lasting eternally - thats more or less planned. In order to avoid compounds dissipating completely due to rounding errors, I've suggested that any compound density below a certain threshold is destroyed and added to a global pool, divided evenly between all grid cells. This also reduces the number of grid cells that need to be actively simulated at any time.
moopli wrote:
I agree with you there [relatively few organelles from endocytosis], 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.
Entirely agree with this. I should note that the list of organelles isn't final (the last time I checked), we simply took it to the point where we had enough to make gameplay interesting and could start working on implementing it.
moopli wrote:
*squirm* I just don't want to become a just-ideas guy
Don't worry about that, theres a huge difference between simply suggesting ideas, and having the scientific/programming knowledge/research to flesh them out and actually start figuring out how to implement them. Atleast I hope so, becuase thats all I've been able to contribute for the last year or so.
RE: plasmids instead of endocytosis for most organelles - I've suggested something like this before, definately agree.
NickTheNick wrote:
Would phosphorous just be assumed to be infinitely present like water and oxygen?
This depends on how detailed we make the eventual chemistry of the game. As moopli said its definately a factor worth simulating if we can, but equally phosphate is needed in sufficiently small quantities that we could assume its in infinite supply, if we wanted to reduce the number of compounds we're using. Oxygen most definately is not in infinite supply.
moopli wrote:
(ie grids, I say Eulerian cuz that might give better google results)
I think the technical term is Coupled Map Lattice (CML), or atleast thats what I know them as. Calling it a diffusion grid is also fairly clear. I think it would be worth having a proper discussion about how this could be implemented and used, as it potentially affects a lot of other functions of the game. I've always assumed that we would eventually include something like this, especially when designing the compound and population dynamics systems, but have never gone into very much detail on how it would work. A new thread is probably called for, but I don't have any more time today to start one, so maybe later this week unless someone else wants to.
moopli wrote:
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.
I'm not sure if its accurate to say that smaller concentrations stop mattering. As your cell (or more likely, colony) grows, it still roughly the same amount of compound per unit area/volume, and if anything this becomes more difficult to collect.
@crovea - I think most of the questions you posted on the previous page have been addressed, but do you need any more details about any of them?
crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
Seems like everything was touched on Although a bit of it went over my head, but that's fine.
I think a next step would be to write some concise paragraphs for the GDD and get them in there, and for things that need extensive detailing we could create wiki articles.
Tritium Newcomer
Posts : 90 Reputation : 15 Join date : 2013-03-18 Age : 34
Subject: Re: Microbe Stage GDD Tue Jun 03, 2014 8:16 am
Unlocking organelles with plasmids encourages exploring the pool but takes away of the strategy element, the player can't decide how to adapt to the environment and competition instead he is forced to manage with what the game gives him, i was thinking if something to combine strategy and exploration. So why don't we add another compound category - nucleic acids.
image:
There are 5 acids found in the pool and in the AI cells, each organelle need certain amount of several types of nucleic acids to be unlocked exceptions being the endosymbiotic organelles. The player can choose which organelle to unlock but needs to explore the pool to find the needed acids. Still i like plasmids as they're direct carrier of genetic information and would like to see them ingame somehow, tough i remember ~scio being against them as they're mostly found in bacteria so we'll need his blessing on this one.
Also another vacuole type yay, Phagosome http://biology.kenyon.edu/HHMI/Biol113/lysosomes.htm in close relation to the endocytosis process i imagine it could replace the engulfment surface thing yet be similar to it - must be near the membrane, could make the animating easier and give better explanation why your cell can engulf only in this section.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
Worry not, I only suggest plasmids as a less-scientifically-silly way to acquire certain organelles that were listed as being found in the environment. If they are evolved, that would work too, but it would be nice to have more depth than just those two methods (though they certainly offer quite enough for a couple releases as-is).
Nucleic acids would make an interesting addition, though I feel we could only do them justice, and give them enough realistic and fun use in-game to make them worthwhile by subscribing to an RNA world abiogenetic theory and having people play with much more primitive cells than where we currently start. This, of course, is probably a bad idea.
The phagosome, meanwhile, is pretty interesting, and could be a good way to handle phagocytosis. Technically speaking, engulfment surfaces would bud off to form phagosomes, but that's a distinction we can probably handwave away for playability, at least for now
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Wed Jun 04, 2014 1:27 am
Tritium wrote:
Unlocking organelles with plasmids encourages exploring the pool but takes away of the strategy element, the player can't decide how to adapt to the environment and competition instead he is forced to manage with what the game gives him, i was thinking if something to combine strategy and exploration. So why don't we add another compound category - nucleic acids.
image:
There are 5 acids found in the pool and in the AI cells, each organelle need certain amount of several types of nucleic acids to be unlocked exceptions being the endosymbiotic organelles. The player can choose which organelle to unlock but needs to explore the pool to find the needed acids. Still i like plasmids as they're direct carrier of genetic information and would like to see them ingame somehow, tough i remember ~scio being against them as they're mostly found in bacteria so we'll need his blessing on this one.
Also another vacuole type yay, Phagosome http://biology.kenyon.edu/HHMI/Biol113/lysosomes.htm in close relation to the endocytosis process i imagine it could replace the engulfment surface thing yet be similar to it - must be near the membrane, could make the animating easier and give better explanation why your cell can engulf only in this section.
Well actually the only difference between directly evolving organelles as was previously the case, and unlocking the ability to evolve organelles through plasmids, is that now there is some work required to be able to choose certain organelles. However, the strategy element is still there, because when the player does unlock them it is still his choice what organelles to place, where to place them, how many to place, how much to improve them, etc.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
As my edits in the osmoregulation thread indicate, I'm reconsidering using just osmoregulation as our health mechanic. What I've been thinking about instead is using an HP bar that represents, more or less, a cell's ability to continue homeostasis. In simplest terms, as the bar gets redder, you get closer and closer to death, as makes sense. However, unlike most games with HP, it wouldn't be a single number that gets incremented and decremented, but just an overall indicator to the player of all the stuff going on in the background. This could perhaps be a solution to meet in the middle between having regular hitpoints and not having hitpoints at all.
Of course, we could just stick with being able to choose whether or not to use regular HP in the options (and we certainly will for the next few iterations, I imagine).
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sat Jun 07, 2014 3:23 am
I don't think the osmoregulation is a bad idea, because although the player might not immediately understand the biology of it (and how it operates on a specific level), as a player it would be pretty straightforward for them. Basically so long as they have ATP to pump molecules across their membrane, they will avoid bursting, and if they run out of ATP or something prevents them from effectively using their ion pumps, then they burst. However I guess the bar would represent how well the ion pumps are functioning, with a lowering bar indicating decreased performance and threatening bursting.
moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
That's pretty sensible. I've been thinking, though (finally got my thoughts together), that this could just be one of the mechanisms for the end of a microbe's days. The ideal trigger for HP-zero-death-no-turning-back would be a complete cessation of homeostasis (sidenote: Microbes can be very sturdy creatures -- when near death, a microbe might form a spore, be seemingly dead, and then spring back to life later. However until we work on extremophiles we can probably ignore those edge cases). The more pressing special case is cells with strong walls -- they don't burst unless they get chomped, in which case it isn't really failure to osmoregulate killing them. So maybe we should be talking about homeostasis, not osmoregulation in particular. If a cell could somehow hold its bits and important chemicals together after bursting, bursting wouldn't mean death either. Death is lack of life, absence of homeostasis.
Mechanically, osmoregulation wouldn't change -- it would just be one of the bases you learn to cover to keep your cell alive.
THEN AGAIN I've been flip-flopping on this for quite a while so maybe I should stop worrying whether it'll go over well.
On another note, I think the GDD should be a Google Doc. Much better for collaboration: currently, the workflow seems to be suggest-changes-to-Nick-and-Nick-does-all-the-writing, which makes him the bottleneck, leading to long iteration time and all the other accompanying problems. Now, I'm not advocating against these forum discussions, but more for being able to catch typos, clarify sentences, and so on.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Microbe Stage GDD Sun Jun 15, 2014 3:30 am
How would you quantify the maintenance of homeostasis in the cell? I think osmoregulation is good without getting too complex.
Also, how would a cell survive bursting? Would it have some way to hold all of its organelles and internal molecules together?
Well actually anyone is free to download the GDD and make any changes they want and post a download link to the new version, but I've been the only one to have done that so far. I'm not very familiar with hosting Google Docs myself, but from my experience in using it it doesn't have the range of utility that Microsoft Word has that makes me enjoy it so much.
Tritium Newcomer
Posts : 90 Reputation : 15 Join date : 2013-03-18 Age : 34
Subject: Re: Microbe Stage GDD Sun Jun 15, 2014 7:12 am
Video:
Cytoskeleton is holding all organelles and lipid membranes tend to organize quickly even after burst (imagine oil in water) if the cell doesn't loose too much cytosol it can survive as this video shows.
So on the subject of osmoregulation and representing homeostasis, as they need energy"ATP" to be maintained as well as any other function or metabolitic path i guess we could return to the initial idea. Though i would prefer to see instead of a ATP healthbar something more dynamic as ATP is more of a resource with varying quantity and yet can't picture anything good.