Thrive Game Development

Development of the evolution game Thrive.
 
HomeHome  PortalPortal  CalendarCalendar  FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  RegisterRegister  Log inLog in  
Welcome new and returning members!
If you're new, read around a bit before you post: the odds are we've already covered your suggestion.
If you want to join the development team, sign up and tell us why.
ADMIN is pleased to note that this marquee has finally been updated.
ADMIN reminds you that the Devblog is REQUIRED reading.
Currently: The Microbe Stage GUI is under heavy development
Log in
Username:
Password:
Log in automatically: 
:: I forgot my password
Quick Links
Website
/r/thrive
GitHub
FAQs
Wiki
New Posts
Search
 
 

Display results as :
 
Rechercher Advanced Search
Statistics
We have 1675 registered users
The newest registered user is dejo123

Our users have posted a total of 30851 messages in 1411 subjects
Who is online?
In total there are 3 users online :: 0 Registered, 0 Hidden and 3 Guests

None

Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm
Latest topics
» THIS FORUM IS NOW OBSOLETE
by NickTheNick Sat Sep 26, 2015 10:26 pm

» To all the people who come here looking for thrive.
by NickTheNick Sat Sep 26, 2015 10:22 pm

» Build Error Code::Blocks / CMake
by crovea Tue Jul 28, 2015 5:28 pm

» Hello! I can translate in japanese
by tjwhale Thu Jul 02, 2015 7:23 pm

» On Leave (Offline thread)
by NickTheNick Wed Jul 01, 2015 12:20 am

» Devblog #14: A Brave New Forum
by NickTheNick Mon Jun 29, 2015 4:49 am

» Application for Programmer
by crovea Fri Jun 26, 2015 11:14 am

» Re-Reapplication
by The Creator Thu Jun 25, 2015 10:57 pm

» Application (programming)
by crovea Tue Jun 23, 2015 8:00 am

» Achieving Sapience
by MitochondriaBox Sun Jun 21, 2015 7:03 pm

» Microbe Stage GDD
by tjwhale Sat Jun 20, 2015 3:44 pm

» Application for Programmer/ Theorist
by tjwhale Wed Jun 17, 2015 9:56 am

» Application for a 3D Modeler.
by Kaiju4u Wed Jun 10, 2015 11:16 am

» Translator to Serbian here
by Simeartherist Sun Jun 07, 2015 6:36 am

» Presentation
by Othithu Tue Jun 02, 2015 10:38 am

» Application of Sorts
by crovea Sun May 31, 2015 5:06 pm

» want to contribute
by Renzope Sun May 31, 2015 12:58 pm

» Music List Thread (Post New Themes Here)
by Oliveriver Thu May 28, 2015 1:06 pm

» Application: English-Spanish translator
by Renzope Tue May 26, 2015 1:53 pm

» Want to be promoter or project manager
by TheBudderBros Sun May 24, 2015 9:00 pm


Share | 
 

 Osmoregulation: or down with hit points!

View previous topic View next topic Go down 
AuthorMessage
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Osmoregulation: or down with hit points!   Sat May 24, 2014 3:56 pm

From ye aulde Microbe GDD Threade:
I wrote:

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.

Given:

  1. Realism is good
  2. Hitpoints are unrealistic
  3. Technical discussion is good

Consider:

  1. What have I missed?
  2. How can we implement?

Discuss.


Last edited by moopli on Sat May 24, 2014 5:25 pm; edited 1 time in total (Reason for editing : format fix)
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Osmoregulation: or down with hit points!   Sat May 24, 2014 5:15 pm

I think osmoregulation replacing microbe health points is a great idea.

In regards to ion pumps, I don't think we will need to simulate their effect at all times, and the flow of water and salts across the membrane. Instead, when a cell runs out of ATP, it bursts from absorbing too much water. We would need to take into account the toll the ion pumps take on the amount of ATP available to the cell. 

However, if we want the cell to dynamically increase or decrease in size based off of the ion concentrations of the surrounding tidepool, then we would need to have a mathematical simulation of the work done by the ion pumps. Also, we could have it so that the player can evolve their cell over time to increase the effect of their ion pumps, so that they consume less ATP and pump out more solute.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Re: Osmoregulation: or down with hit points!   Sat May 24, 2014 5:47 pm

NickTheNick wrote:
In regards to ion pumps, I don't think we will need to simulate their effect at all times, and the flow of water and salts across the membrane. Instead, when a cell runs out of ATP, it bursts from absorbing too much water. We would need to take into account the toll the ion pumps take on the amount of ATP available to the cell.
That, more or less, is exactly what I was thinking. Glad I sold it well :D!
NickTheNick wrote:
However, if we want the cell to dynamically increase or decrease in size based off of the ion concentrations of the surrounding tidepool, then we would need to have a mathematical simulation of the work done by the ion pumps. Also, we could have it so that the player can evolve their cell over time to increase the effect of their ion pumps, so that they consume less ATP and pump out more solute.
Luckily, the calculations would be trivial compared to all the other stuff we already do, and wouldn't have to run any more often. I even know just how I'd implement it, though that requires storing compound concentrations in a grid (my pathfindingidea repurposed). And evolving better pumps is great -- opens up more space for extremophiles, like *gasp* stuff living in fresh water.

Of course, dynamic volume changes are going to be more difficult, but that kind of soft-body dynamics code is what I bring to the team, so bring it on :P. More seriously though, since we're already working on modelling cells as implicit surfaces (currently being done by patowen95 on github), then all we'd have to do is modify some parameters. Difficult, but not much more difficult than what we're already working on.

One thing Tritium brought up in the other thread was that protists don't exactly use pumps for osmoregulation, since they're always swimming around and thus can't keep their environment at similar osmolarity to their insides. They use contractile vacuoles
Back to top Go down
View user profile
NickTheNick
Overall Team Co-Lead


Posts : 2312
Reputation : 175
Join date : 2012-07-22
Age : 20
Location : Canada

PostSubject: Re: Osmoregulation: or down with hit points!   Sat May 24, 2014 6:01 pm

That sounds to me like a good reason to add contractile vacuoles as a new organelle on the organelle list. I'm assuming it would be evolved, like the vacuoles and lysosomes?

Furthermore, if you already have plans on how to code all of this in, that's great! It saves us a lot of discussion here. Also, if you think you can fit in dynamic volume changes, as you mentioned, go for it.

_________________
Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.
Back to top Go down
View user profile
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Re: Osmoregulation: or down with hit points!   Sat May 24, 2014 6:15 pm

NickTheNick wrote:
That sounds to me like a good reason to add contractile vacuoles as a new organelle on the organelle list. I'm assuming it would be evolved, like the vacuoles and lysosomes?

Furthermore, if you already have plans on how to code all of this in, that's great! It saves us a lot of discussion here. Also, if you think you can fit in dynamic volume changes, as you mentioned, go for it.
Yeah, it would be developed however you'd get vacuoles and lysosomes, seeing as their origins are pretty much the same. Awesome :D!

Now for implementation details:

I was reading a research paper at work yesterday on soft-body physics for visual effects (that is, neglecting accuracy for speed and good looks), but sadly it's behind a paywall so I can't keep reading until monday. Anyway, it describes a method for making things look inflated/deflated: the object is turned into a mass-spring system simulated with verlet integration, and the internal springs are either expanded or contracted. since the surface springs are kept constant, then the surface doesn't stretch much, but instead bulges outwards/inwards. Notably, it allows for crenation right off the bat, and we could do realistic bursting by splitting the membrane wherever the stress is highest.


Last edited by moopli on Sat May 24, 2014 8:04 pm; edited 1 time in total (Reason for editing : technical things :D!)
Back to top Go down
View user profile
Seregon
Regular


Posts : 263
Reputation : 37
Join date : 2011-08-10
Location : UK

PostSubject: Re: Osmoregulation: or down with hit points!   Mon Jun 02, 2014 12:54 pm

Some very nice ideas in here.  I've always wanted some other way of representing a cells health, rather than HP, but hadn't yet found a way of doing it.  In effect we now have many potential ways of harming a cell, all of which lead eventually (through a cascade of side effects and secondary failures) to an inability to osmoregulate - which is both realistic and cool.  It also gives us another major system for players to focus on (in addition to ATP producion, protein synthesis, and the production of end products like toxins).

It sounds like you've got an implementation in mind, but if you need any help figuring out that or the maths, let me know.  Also, do you have a link to that paper, I may be able to get it through my Uni's subscriptions?

EDIT - My understanding of osmoregulation comes from the difference between salt and freshwater fish, not protists, so I don't know the details at that level, though everything sounds sensible.

EDIT 2 - By storing on a grid, you means having localised concentrations of compounds, rather than individual particles? If so, I think this is very much intended, with compound clouds rather than particles (though we may add other particles). This allows all sorts of interested behaviours, like chemotaxis, or varying levels of toxin effects depending on concentration. As you say I don't think ion pumps will work for individual cells, as they can't influence the localised concentration of ions, but it could get very interesting for colonies.
Back to top Go down
View user profile
moopli
Developer


Posts : 318
Reputation : 56
Join date : 2013-09-30
Age : 21
Location : hanging from the chandelier

PostSubject: Re: Osmoregulation: or down with hit points!   Mon Jun 02, 2014 8:21 pm

For the swelling/bursting effect, I was thinking about using an inflating technique detailed somewhere in here (turns out I could find one that wasn't paywalled, yay :D). However, soon after, I started thinking of using shape matching for much cheaper soft-body collision response, so now I'm trying to figure out if we can do good-looking swelling, bursting, and crenation on top of that. If you have any ideas, do share.

Seregon wrote:
By storing on a grid, you means having localised concentrations of compounds, rather than individual particles?
Yes -- tracking concentrations over space is just so much easier for doing useful things (well, in this case, anyway).

About-face-edit: After some deep soul-searching prompted by a couple important questions I was asked over PM, I have come to the conclusion that a full-on replacement of HP with osmoregulation sacrifices simplicity and playability at the altar of science. I took a look at the reason I was championing osmoregulation; and what I realized was that I only wanted to ensure that game mechanics have solid footing in science. What I dislike about HP is that it abstracts the health of something too far, turning the sum of all ailments into a single number. However, if we were to define HP in thrive (at least for the living) as a number representing a living thing's continuing ability to maintain homeostasis, then we can present to the user an aggregate number, with some caveats to improve realism, and control it with a backing health model that isn't as simple. That way, the player gets easy feedback on the health of their monstrosity, in the tried-and-true method of HP, but we can still make things behave realistically when hurt, and die at appropriate times.


Last edited by moopli on Mon Jun 02, 2014 9:46 pm; edited 1 time in total (Reason for editing : Major fix to idea)
Back to top Go down
View user profile
Sponsored content




PostSubject: Re: Osmoregulation: or down with hit points!   Today at 6:09 pm

Back to top Go down
 
Osmoregulation: or down with hit points!
View previous topic View next topic Back to top 
Page 1 of 1

Permissions in this forum:You cannot reply to topics in this forum
Thrive Game Development :: Development :: Design :: Gameplay Stages :: Microbe-
Jump to: