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.
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 15, 2014 8:41 am
Great video!
Maybe we need a how-close-your-internal-state-is-to-being-dead predictor. The predictor would consider ATP level, organelle function, cytoplasm levels and some other things, and would display what looks like a health bar but works subtly differently -- it isn't dropping your health to zero which kills you, it's killing you which drops your health to zero. As more and more of your organelles stop functioning, as the amount of ATP on the market drops lower and lower (runaway deflation :D!), the health bar drops to signal in an obvious way that you're pretty much dead, but you could still pull through by some miracle. As long as there's still some slight chance that you could pull through, the health bar stays above zero and you can continue to play as the cell. Then eventually, the cascading failures cause everything to shut down; and it's time to go to sleep since you've been trying to keep that microbe alive into the wee hours of the night.
For UI, a simple bar will be enough, perhaps with some pretty glow/pulse/flicker effect for nearing death. Then, for a player that wants to know how much trouble they're in, they could click on the bar and get an overlay (perhaps the pause-game-zoom-in-on-microbe thing) of how functional current systems are. This should be more than just eye candy, since, for example, a poorly-functioning nucleus won't be replicating DNA, and will do slower transcription, and a resource-starved cytoskeleton won't be holding the cell's shape all too well and won't be moving things around inside (or moving flagella and cilia) much.
However, a player shouldn't have to open that too much -- we're doing the hard work of distilling all the information on how functional and alive the cell is so the player doesn't have to.
Come to think of it, if this system works then we can translate it directly to anything else we'll need health info for. But that's a discussion for another day.
tl;dr The HP bar shouldn't determine, but reflect how alive something is.
Tritium Newcomer
Posts : 90 Reputation : 15 Join date : 2013-03-18 Age : 34
Subject: Re: Microbe Stage GDD Sun Jun 15, 2014 12:31 pm
Yes this sounds nice, this bar just needs to consider if ATP is enough and if organelles are working. I was thinking what if instead of bar we use a faint glow around organelles (not a strong glow but just faintly flickering) - could look nice and you would actually see if there is a pathology in a single organelle. If all is fine some nice healthy glow of (blue, purple, teal) if function affected by toxins or altered in some way glow changes to disturbing (red, yellow) if if organelle stops working entirely get dark blackish. Player could figure out himself how bad things are without looking at some numbers and he could see directly how different toxins affect different organelles of his cell instead of looking 5 different agents just do damage to his hp bar and the only real difference is in the tooltips. So unlocking organelles is final i guess with plasmids, yet i still find it limiting in the way that you are left to deal with what the game gives you either this or you unlock most of them fairly quickly in the game and then it's all about mutation points i fear upgrading your cell would be very unsatisfying anyway this is my final rant on this subject
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 2:30 pm
As long as it's straightforward to the player, and they don't have to juggle multiple variables in their mind to try and stay alive, I'm fine with this more compounded approach to simulating Microbe death.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Microbe Stage GDD Sun Jun 15, 2014 8:44 pm
My idea for health signaling was pretty much that of Tritium, whereby the health of each individual organelle was shown through the organelles themselves. This has a few advantages over the reflectve health bar alone in that it immediately signals what's going wrong to some degree and also frees us from having a very prominent GUI, which is something I've wanted to avoid. However, given that the player might have redundant organelles, or lose an organelle that isn't necessary for homeostasis, I think using a reflective health bar is very useful in telling the player if they need to worry about an organelle or not.
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 8:54 pm
I have a question towards the new cessation of homeostasis approach to death. What would be the definition of death then? When all compound processes in the cell have stopped due to lack of reactants? How does bursting affect this?
Although I see that it's true that cells can burst but still be alive, I think the advantage to the osmoregulatory approach to death is that it defines cell bursting as death, and all means of killing things or approaching death revolve around having the cell burst. If we are to use the newly mentioned system for death, there should be some clear definitions of what kills a cell.
Last edited by NickTheNick on Sun Jun 15, 2014 8:55 pm; edited 1 time in total (Reason for editing : Clarification)
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Microbe Stage GDD Sun Jun 15, 2014 9:09 pm
NickTheNick wrote:
I have a question towards the new cessation of homeostasis approach to death. What would be the definition of death then? When all compound processes in the cell have stopped due to lack of reactants? How does bursting affect this?
Although I see that it's true that cells can burst but still be alive, I think the advantage to the osmoregulatory approach to death is that it defines cell bursting as death, and all means of killing things or approaching death revolve around having the cell burst. If we are to use the newly mentioned system for death, there should be some clear definitions of what kills a cell.
I'm in favor of death meaning bursting as well, since that means we can easily show to the player the compounds going back into the environment.
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 15, 2014 9:38 pm
I like bursting too -- but what event could we use for death that would fit consistently with walled cells as well? That was the main reason I was trying to look at things differently, to find a point when we could reasonably say that a walled cell ain't alive no more and there's no use hoping and waiting and it's time to move on and play another cell. Maybe a time-speeding-up-screen-turning-gray effect as the inside of the cell turns to mush, leaving just a husk that decays away...
Tritium Newcomer
Posts : 90 Reputation : 15 Join date : 2013-03-18 Age : 34
Subject: Re: Microbe Stage GDD Mon Jun 16, 2014 6:55 am
This is a video of plant cell dying, it undergoes apoptosis but still
video:
I don't think time speeding and showing everything decay is necessary, just graying out the inside of the cell and organelles get replaced with little bubbles to look like a mush.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
I like bursting too -- but what event could we use for death that would fit consistently with walled cells as well? That was the main reason I was trying to look at things differently, to find a point when we could reasonably say that a walled cell ain't alive no more and there's no use hoping and waiting and it's time to move on and play another cell. Maybe a time-speeding-up-screen-turning-gray effect as the inside of the cell turns to mush, leaving just a husk that decays away...
I would suggest bursting combined with destruction of the cell wall. It crumbles as it bursts.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada