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 11 users online :: 0 Registered, 0 Hidden and 11 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
» 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
» A new round of Forum Revamps! by Oliveriver Wed May 20, 2015 11:32 am
|
|
| CPA Master List | |
| | Author | Message |
---|
tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: CPA Master List Fri Nov 14, 2014 9:26 am | |
| - Spoiler:
So I have been abbreviating the Compounds - Population Dynamics - Auto-Evo System as CPA just for convenience.
One of the main things we need to do is make a master list of all the Compounds, Features and Processes which are going to be in the microbe stage so that we can attach equations to the processes and then it's going to be possible to build the model around it.
A couple of notes on the model, how I see this working is on a very high, averaged level. So what I mean by this is everything is represented by a list of numbers. There is no spatial extension. This is the description of what is happening, on average, in each "patch" (sub area of a biome). This means for example if 50% of the time you have a successful "hunt" and kill one of your prey then this is modelled by saying every hunt is 50% successful. Likewise death is just, on average, the slow bleeding of resources in your species into the environment. Now this is really happening in discrete blobs each time one member dies but over a large enough population (of thousands or millions) it can be very well approximated by a smooth flow.
C(Compound) means concentration of that compound
So without further ado, the list.
Compounds:
Energy - I assume this means sunlight? Maybe heat too? Water Oxygen Hydrogen Nitrogen Carbon Phosphorous Calcium Sodium Carbon Dioxide Light - Bioluminescent
Glucose Protein ATP Amino Acids Lactic Acid Fat (Is this different from Fatty Acid?) Ammonia Urea Slime - What is this chemically?
Movement Fight
Features:
Being a microbe - grants death, growth, maintenance and osmosis with appropriate constants Flagellum / Cilla - grants movement production Predatory Pilus - grants predation on species that are weak to this and fight production Slime gland - grants slime production Cell Wall - grants defences and lowers permeability and movement Bioluminescence - grants light production Mitochondria - grants Respiration - All types of repsiration? Are there other ways to respirate? Chloroplasts - grants Photosynthesis Thermoplasts - grants Thermosynthesis Vacuoles - Storage
Features missing: What grants protein synthesis and catabolism? Is there anything other than mitochondria that grants repsiration? What grants Fatty Acid and Amino Acid Biosynthesis? What grants Toxin Production?
Processes:
A. Chemical Reactions - These all need their formulas filled in Protein Synthesis Protein Catabolism Photosynthesis Aerobic, Anearobic, Fatty Acid, Amino Acid respiration Fatty acid synthesis Amino Acid Biosynthesis Thermosynthesis Toxin production Movement Production - ATP -> Movement Fight Production - ATP -> Fight Slime Production - Unknown Compounds -> Slime Light Production - ATP -> Light
These all work based on the formula Seregon presented
Change in Compound = Base rate * C(Inputs) * (1 - C(Outputs)) * Available Space in Storage
B. Death / Growth / Maintenance (Which I think includes reproduction)
Growth is amortized into Maintenance and just moves compounds (whatever is required to build the cell which is based on the features list) from the free storage in the organism in to a special "locked" bin. So say a cell needs Protein to grow
Change in Protein Free = - Growth Constant * Protein Free Change in Locked Protein = + Growth Constant * Protein Free (we need this for conservation of mass)
Then death releases compounds from the locked AND free pools into the environment. Though I think we could approximate this by just releasing from the locked pools.
Change in Protein Locked = - Death Rate * Protein Locked Environment Balances (multiply by -1)
The death rate is proportional to the lifespan of the creature and so could be altered by auto-evo.
C. Diffusion / Osmosis Fick's Law,
Change in compound inside the species = Surface Area * Permeability * (C(Outside) - C(Inside)) Change in compound in the environment balances with this (multiply by -1)
EDIT 1: Tried to clean up the lists and make them more consistent. Removed Predation, Auto Evo and Inter-Patch spread as these are bigger discussions. What we have here is enough to build a prototype for species competing over resources (once the lists are properly complete).
I have spoilered the post that was here before. This is the most up to date list. Compounds from the original list which aren't included yet. Phosphorous Calcium Sodium Light - Bioluminescent Compounds: Sunlight Sulfur : S Hydrogen Sulfide : H 2S Water : H 2O Oxygen : O 2Hydrogen : H 2Nitrogen : N 2Carbon : C Carbon Dioxide : CO 2Glucose : C 6H 12O 6Pyruvate : C 3H 4O 3Protein : (Seregon suggests a chain of amino acids of indetermined length, how about 4? of course it could be 40 or 400. Interesting question.) ATP : Not specified or conserved. It's just a currency. Amino Acids : C 2H 5O 2N Fat : C 12H 26Ammonia : NH 4Attack Agents : How about a chain of 2 Proteins so attacking is costly but not vastly so? Processes: PhotoSynthesis: 6CO 2 + 6 H 2O + Sunlight = C 6H 12O 6 + 6O 2ChemoSynthesis: 12H 2S + 6CO 2 = C 6H 12O 6 + 6H 2O + 12S Glycolysis: C 6H 12O 6 = 2 C 3H 4O 3 + 4H + ?ATP Respiration: 2 C 3H 4O 3 + 5O 2 = 6CO 2 + 4H 2O + ?ATP Fat Synthesis: 8C 3H 4O 3 + 10H 2O + ?ATP = 2C 12H 26 + 17O 2Fat Respiration : The same but in reverse. Amino Acid Synthesis : 2C 3H 4O 3 + 3NH 4 + ?ATP = 3C 2H 5O 2N + 8H Protein Synthesis : 4 Amino Acid + ?ATP = Protein Attack Agent Synthesis : 2 Protein + ? ATP = Attack Agent Amino Acid and Protein Catabolism should just reverse their processes but cost ATP. Attack Agent Catabolism IMO should produce Amino Acids : Attack Agent + ?ATP = 8 Amino Acid Functional Parts: Chemical Reactions: By default you get a nucleus :Protein synthesis, Amino Acid synthesis and Fat synthesis. cytoplasm (proportional to how many organelles you have?) : Glycolysis, Amino Acid Catabolism and Fat Respiration. you can add Chloroplasts : Photosynthesis Chemoplasts (right word?) : Chemosynthesis Mitochondria : Respiration Attack Agent Gland or Pilus : Attack Agent Synthesis Protein Breakdown Enzymes (right name?) : Protein Catabolism and Attack Agent Catabolism Vacuoles : Storage Also what is the mechanism by which you can increase your production of proteins, fats, amino acids etc? Can you upgrade your nucleus or are the some extra bits you can add? It might be cool to have optional pieces you can bolt on to the nulceus which boost it's function. (endolplasmic reticulum? golgi body?) not very realistic but thought I'd suggest it. At the cell boundary: By default you get a semi-permeable membrane. This allows the diffusion of all small compounds, that is: Sulfur, Hydrogen Sulfide, Water, Oxygen, Nitrogen, Carbon Dioxide or Ammonia. and does not allow the diffusion of any large compounds, that is: glucose, pyruvate, Amino Acids, Protein, Attack Agent, Fat or Atp. You can add: some kind of pump which brings in or out large compounds of a specific type. This is not decided yet. Water pump which helps with health, not decided yet. Flagella/Cilla : Allows you to move (turning ATP into advantage in combat) Attack Agent Gland or Pilus : Overlaps with other list, spurts or injects Attack Agents when enemies are near Engulfment Mechanism : In an interaction you can engulf your prey to get a much bigger payout if they die Bacteria: There are many different species of bacteria, each one doing one process and some break down Attack Agent -> Protein Protein -> Amino Acids Amino Acids -> Pyruvate Pyruvate -> Basic Compounds (Respiration) Fat -> Basic Compounds That way when a microbe dies, either naturally or from predation, what it spills can get cleaned up.
Last edited by tjwhale on Tue Dec 23, 2014 5:09 pm; edited 2 times in total | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: CPA Master List Sun Nov 16, 2014 5:21 am | |
| Great post! I have many of the microbe processes that I'll post tomorrow to add to the list.
However regarding the concept of the post, I think it would be better if this thread was just for compounds and their processes. Then we could have a separate master thread for auto-evo and one for population dynamics (it doesn't really make sense to lump such huge and distinct topics together).
Also I've got some thoughts on geological compounds, so once I can organize my thoughts on that I'll include that in my next post too. | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: CPA Master List Mon Nov 17, 2014 3:34 am | |
| I've been speculating recently regarding how to implement rocks as compounds. There has been previous discussion on whether to only include a single compound labelled rock/stone, or to break it down into its three classifications (igneous rock, metamorphic rock, and sedimentary rock), or to break it up into specific rocks, like limestone, marble, granite, etc.
I'm leaning most towards the third option for a few reasons, and this is a list I've drafted up of the rocks I think should be included as compounds:
Granite Quartz Limestone Marble Obsidian Pumice (?) Basalt Shale Slate
Of course this is just a tentative start and so the list is open to revision. The goal is to keep the list concise and comprised of rocks that represent the whole spectrum, but are also common enough to be worth including. Gems and ores are not included on this list.
On a separate note, I think it would be handy to also keep a page on the wiki for listing all the compounds and their processes, and we can use this thread to update that. | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Mon Nov 17, 2014 6:21 am | |
|
For the microbe stage can the microbes process the rocks in any way to get useful compounds from them? I'm not a biologist so I have no idea.
Also do microbes survive better or worse depending on what types of rocks they live on?
It may be that for the microbe stage they make so little difference they are not worth implementing. However if they do either of the above then it might be worth implementing them.
| |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: CPA Master List Tue Nov 18, 2014 10:55 pm | |
| Nick, I think you're heading in the wrong direction. Here we should be limiting ourselves to classifying compounds, processes, and so on with respect to Microbe Stage, because that's what we need to put together a solid spec for the CPA system -- increasing our scope is fun, but counterproductive. That set of rock types you have up there is a good selection of different types of useful rock on the macroscale, which is useful when considering strategy stages, but here, in terms of rocks anyway, we need to decide if there's anyhting both chemically-reactive and common enough that it will make an important difference to a microscopic habitat. Things like salts, or sulphur minerals. | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: CPA Master List Wed Nov 19, 2014 4:54 am | |
| Oh okay, I mistakenly assumed this was for all stages (speaking of which tjwhale these rocks don't have anything to do with the microbes). Here is what I have for microbial processes: - Aerobic Respiration:
<Process Name="Aerobic Respiration" TimeTaken="1"> <Inputs> <Input CompoundID="Glucose" Amount="1"/> <Input CompoundID="Oxygen" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="ATP" Amount="36"/> <Output CompoundID="Carbon Dioxide" Amount="6"/> <Output CompoundID="Water" Amount="6"/> </Outputs> <Organelles> <Organelle OrganelleID="Mitochondrion"/> </Organelles> </Process>
- Photosynthesis:
<Process Name="Photosynthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Water" Amount="6"/> <Input CompoundID="Carbon Dioxide" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="Glucose" Amount="1"/> <Output CompoundID="Oxygen" Amount="6"/> </Outputs> <Organelles> <Organelle OrganelleID="Chloroplast"/> </Organelles> </Process>
- Thermosynthesis:
<Process Name="Thermosynthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Water" Amount="6"/> <Input CompoundID="Carbon Dioxide" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="Glucose" Amount="1"/> <Output CompoundID="Oxygen" Amount="6"/> </Outputs> <Organelles> <Organelle OrganelleID="Thermoplast"/> </Organelles> </Process>
Just some notes on the two above processes. The intensity of the energy should scale the rate of the process. For example, a cell with a chloroplast in a spot with 100% light intensity will react at 100% speed, while in a spot with 50% light intensity the reaction will take place at half speed. This means that in a spot with 0% light intensity, there is no reaction. All of this applies the same to a thermoplast, except regarding heat intensity, not light intensity. - Agent Synthesis:
<Process Name="Agent Synthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Sugar" Amount="2"/> <Input CompoundID="Fat" Amount="1"/> <Input CompoundID="Protein" Amount="3"/> </Inputs> <Outputs> <Output CompoundID="Agent" Amount="1"/> </Outputs> <Organelles> <Organelle OrganelleID="Agent Vacuole"/> </Organelles> </Process>
- RpAse Synthesis:
<Process Name="RpAse Synthesis" TimeTaken="1"/> <Inputs> <Input CompoundID="Sugar" Amount="6"/> <Input CompoundID="Fat" Amount="6"/> <Input CompoundID="Protein" Amount="6"/> <Input CompoundID="Oxygen" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="RpAse" Amount="1"/> </Outputs> </Process>
- Fat Respiration:
<Process Name="Fat Respiration" TimeTaken="1"> <Inputs> <Input CompoundID="Fat" Amount="1"/> <Input CompoundID="Oxygen" Amount="37"/> </Inputs> <Outputs> <Output CompoundID="ATP" Amount="162"/> <Output CompoundID="Carbon Dioxide" Amount="12"/> <Output CompoundID="Water" Amount="13"/> </Outputs> <Organelles> <Organelle OrganelleID="Mitochondrion"/> </Organelles> </Process>
- Fat Synthesis:
<Process Name="Fat Synthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Sugar" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="Fat" Amount="2"/> <Output CompoundID="Carbon Dioxide" Amount="12"/> <Output CompoundID="Water" Amount="10"/> <Output CompoundID="Oxygen" Amount="2"/> </Outputs> <Organelles> <Organelle OrganelleID="Mitochondrion"/> </Organelles> </Process>
- Glycolysis:
<Process Name="Glycolysis" TimeTaken="1"> <Inputs> <Input CompoundID="Glucose" Amount="1"/> </Inputs> <Outputs> <Output CompoundID="ATP" Amount="2"/> <Output CompoundID="Lactic Acid" Amount="12"/> </Outputs> </Process>
Another note I should include here, glycolysis only takes place in a cell with either no mitochondria, or no oxygen to use up. This is a process any cell can do, because it takes place in the cytoplasm, and it’s a primitive and inefficient means of producing energy from glucose. Referring back to the earlier rule, this would mean that a cell with plenty of oxygen but no mitochondria, or a cell with many mitochondria but no oxygen, would both revert to using glycolysis for creating energy. Glycolysis would not take place if a mitochondrion is present and there is oxygen for it to use. Think of glycolysis as like a backup process.
Last edited by NickTheNick on Wed Nov 19, 2014 4:54 am; edited 1 time in total (Reason for editing : Aerobic synthesis is not a thing) | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Wed Nov 19, 2014 5:58 am | |
| Ok Nick that's great and really helpful. I've got a few questions. 1. Is Glycosis the same as Anaerobic Respiration or are they different? We'll need some rules for Glycosis as you say, I guess it could just be turned off if mitochondria are present and oxygen is above a certain level. Something Seregon is keen on, and I would like to second this, is to keep the model as continuous as we can. It will help the results be more continuous and will avoid "flickering" (where something is turning on and off very fast). So for Glycosis I'd suggest the rate be something like 1/ (1 + C(Oxygen)), or this raised to some power (if you want it to switch off faster). So it will decrease as the oxygen concentration increases but in a continuous way. 2. What is Agent? 3. What is RpAse? 4. What is the difference between Catabolism and Respiration? Am I to think of them as the same thing or are they different processes? Wikipedia is a bit confusing about it. 5. Is Glucose the same as Sugar? You seem to have a both. 6. Do you have a formula for Toxin or Slime? 7. What about Protein Synthesis and Catabolism. 8. What about Amino Acid Synthesis and Catabolism. 9. Lactic Acid is currently the output of a process. How will it get processed from there? It could just leak into the environment but surely we need something that can break it down again? Otherwise it will just build up and up and poison everything. In general I think all complex compounds need a way to be built and a way to be broken down, otherwise the system will slowly die as all the carbon gets locked away in an unbreakable complex compound. This is going well! Ps - NicktheNick wrote:
- Oh okay, I mistakenly assumed this was for all stages
I think we should do the CPA for the multicellular stage immediately after finishing this one, it should be much the same and would be a good system to have implemented. | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: CPA Master List Wed Nov 19, 2014 6:39 pm | |
| Nice work getting this started. I had promised to start a topic to this effect a few weeks back, but have been far too busy to do so, so good to see it's going well.
RE the OP - I agree with almost everything here, and it largely fits with what we've discussed before. A few comments/answers though: - The idea of having Movement, Fight (and possibly others) as compounds is a new one, and something we need to discuss in more detail (and possibly test) before deciding exactly how this is handled. For those who haven't heard this before, the idea of treating these as compounds is to largely avoid having to write equations for some interactions, as was the previous plan for population dynamics. E.g.: for a hunt we would need equations to calculate how a species speed, stealth, stamina, offensive/defensive abilities, etc, etc. eventually convert to an increase or decrease in the birth/death ratio. Treating some of these interactions as uses of compounds may simplify this process, but it may also simplify it too far, we don't know yet.
- What tjwhale refers to as 'features' is what we've previously called 'functional parts', i.e.: organelles, organes, and later factories.
- Protein synthesis is done by the RER, which I think we decided is part of the microbial core (what did we call it?), the three basic organelles required by all microbes. These can't be added or removed, but may be upgraded. In other words, protein synthesis is always available.
- Only mitochondria enable aerobic respiration, anaerobic respiration/glycolysis occurs in the cytoplasm (empty areas of the cell).
- I'll have to check this, but I thikn fatty acid/amino acid synthesis occurs in the cytoplasm.
- Toxins are generally just proteins, so the microbial core does this. The only added step here is that toxins need to be transported out of the cell in vesicles (or stored in vesicles until ejected), this is done by the golgi body (also part of the core).
RE further posts: - I'm not sure whether or not we need to differentiate rocks in the microbe stage, I agree we should do so to some extent later. Some compounds would be more or less available in a microbial environment depending on the substrate, the most important probably being calcium? Note sure it's worth going into at this point though.
- (tjwhale asks this later) Agents are compounds that act outside the cell, e.g.: toxins that poison other cells, signals that lure or repel others, etc. Note that Nick gave the organelle as the 'agent vacuole', this stores agents, but is not where they're made, that would be the RER/golgi body.
- Something which may or may not be confusing some people is the distinction between glycolysis and anaerobic respiration. To clarify a little - glycolysis is the first step of both aerobic and anaerobic respiration, it takes place in the cytoplasm, and processes glucose into pyruvate and some waste + ATP. In anaerobic respiration the pyruvate is further processed into waste (depending on the organism, either ethanol or lactate) which is then excreted. In aerobic respiration the pyruvate goes through several more processed to fully convert it into co2 + h20, producing much more ATP, I'm not certain whether the glycolysis in this case occurs in the cytoplasm (with the pyruvate then transported into the mitochondria), or if it occurs in the mitochondria. We could represent this by having three processes (glycolysis, end-of-anaerobic-respiration, further-aerobic-respiration), and pyruvate as an intermediate compound, we chose early on to simplify this into two separate (aerobic/anaerobic respiration) processes, and ignore the fact that there's some overlap between the two.
- Given the above, the question of how to regulate glycolysis in the presence of oxygen is rather interesting. Naturally, because pyruvate is used in aerobic respiration, glycolysis still occurs, but as there is demand from pyruvate for aerobic respiration, it's not an issue. This may be a good reason to model this as three seperate reactions + an intermediate compound, as above. I don't particularly like having dynamic equations for process rates, when thats already controlled by input/output concentrations, and we won't need such equations for most processes, but it may be the simpler solution here...
- RpAse is our made up compound for controlling reproduction. The idea is that you need to produce a certain amount of this before being allowed to reproduce/evolve. I'm not sure we ever decided on using this long term, it was more of a quick idea for making the game playable/testable. We might instead want to have a size threshold the player has to reach, or some other criteria for allowing reproduction.
- Catabolism is the general term for any biological process that breaks a compound down into simpler/smaller compounds (the opposite of this is anabolism). Respiration is an example of catabolism, and catabolism of sugar, fat, or amino acids are forms of respiration.
- Glucose is one example of a monomer sugar, other examples are fructose and sucrose. We will (probably) only ever use glucose in thrive, so sugar/glucose are interchangable. (sugar polymers include starch and cellulose)
- Protein synthesis is basically N x amino acids + (some energy) -> protein. The exact numbers are something we'll pick arbitrarily for now, and balance later. Protein catabolism will probably also require energy input (proteins aren't an efficient way to store energy).
- Amino acids are (I think, will look this up) synthesised from ammonia and sugar.
- Lactate/lactic acid/ethanol can be converted back into pyruvate for use in aerobic respiration by some organisms. There will probably be a phase in the game where these aren't present though, so we'll need to think about how these are cleaned up then.
That's all for now - nice work so far guys! | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Thu Nov 20, 2014 7:19 am | |
| - Seregon wrote:
- - The idea of having Movement, Fight (and possibly others) as compounds is a new one, and something we need to discuss in more detail (and possibly test) before deciding exactly how this is handled. For those who haven't heard this before, the idea of treating these as compounds is to largely avoid having to write equations for some interactions, as was the previous plan for population dynamics. E.g.: for a hunt we would need equations to calculate how a species speed, stealth, stamina, offensive/defensive abilities, etc, etc. eventually convert to an increase or decrease in the birth/death ratio. Treating some of these interactions as uses of compounds may simplify this process, but it may also simplify it too far, we don't know yet.
I don't quite think of it like this. I think of it more as a link between compounds and pop dynamics. So what does a flagella really do? It uses up energy but gives you an advantage when you fight (and maybe when you feed, that's another issue). So I think having the flagella turn ATP into Movement is reasonable. Then we make a formula for predation and one of the inputs is how much "movement" a species has. What affect that has on the rate of predation is not determined and can be anything. The inputs of the predation formula will be something like number of members, size, movement, slime, toxin, fight, etc and from this a success rate needs to be calculated. This is much the same as the Lotka-Voterra equations (it is the same paradigm, they only take account of number of the members). That's what I'm thinking anyway, interested to know what you guys think. - Seregon wrote:
- - Protein synthesis is done by the RER, which I think we decided is part of the microbial core (what did we call it?), the three basic organelles required by all microbes. These can't be added or removed, but may be upgraded. In other words, protein synthesis is always available.
I'm interested in what the minimum viable organism is. It needs to be something which is capable of manufacturing the compounds it is made of. So what are microbes made of? Protein? Anything else. If it's just protein then it's important that the most basic organism can make protein (to grow with). I guess you can get the pieces from predation or synthesis so that is a choice but an organism will need one of these two options else it won't be able to grow at all. - Seregon wrote:
- - Toxins are generally just proteins, so the microbial core does this. The only added step here is that toxins need to be transported out of the cell in vesicles (or stored in vesicles until ejected), this is done by the golgi body (also part of the core).
From a game design perspective I think Toxin production should definitely be an optional extra organelle you can add. It shouldn't be default. Same with slime. We should in fact make everything as optional as we can that way there is more room for more types of species. It would be fine from my perspective if you wanted to make it so that in the editor you can add new DNA to your nucleus which allows Toxin protein production. That would be a pretty cool feature. - Seregon wrote:
- - I'll have to check this, but I thikn fatty acid/amino acid synthesis occurs in the cytoplasm.
Again I think this should be optional. (Unless you need amino acids for proteins and then we are getting in to the territory of the minimum viable organism). - Seregon wrote:
- We could represent this by having three processes (glycolysis, end-of-anaerobic-respiration, further-aerobic-respiration), and pyruvate as an intermediate compound, we chose early on to simplify this into two separate (aerobic/anaerobic respiration) processes, and ignore the fact that there's some overlap between the two.
I really like this idea. Splitting up respiration is good as you could be a microbe that only does glycosis and excretes the lactic acid which lives symbiotically with a species that absorbs lactic acid and then breaks it down into it's component pieces. It gives more room for specialisation AND it means a longer journey to a microbe that can do the whole process which is cool. If we go that way we can get rid of variable reaction rates and just have them occur as usual. A microbe with mitochondria will do both at the same rate. - Seregon wrote:
- - RpAse is our made up compound for controlling reproduction. The idea is that you need to produce a certain amount of this before being allowed to reproduce/evolve. I'm not sure we ever decided on using this long term, it was more of a quick idea for making the game playable/testable. We might instead want to have a size threshold the player has to reach, or some other criteria for allowing reproduction.
If we go down the road of modelling each species as a big bag of chemicals and then deducing the number of members by dividing the number of compounds locked by the mass of an individual then reproductase is irrelevant to the species model. Moreover is it not better for the single player if the requirement for reproduction is to collect enough compounds to make a new member of your species? This will be easy when you are small but as you add complexity / organelles to your species it will get harder and harder. This accurately represents what is happening to your species so if you find it takes you ages you may want to reduce your complexity to help with reproduction. I don't mind. Overall this is going well. I'll keep thinking about the model. There's a lot of pieces and it's hard work juggling them all. | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Thu Nov 20, 2014 7:40 am | |
| So I made this diagram to help conceptualise what is happening. Is this about right? - Diagram:
If so, and if each species is made of protein then the minimal viable organism is going to be quite big. | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: CPA Master List Mon Nov 24, 2014 5:05 am | |
| - tjwhale wrote:
- From a game design perspective I think Toxin production should definitely be an optional extra organelle you can add. It shouldn't be default. Same with slime. We should in fact make everything as optional as we can that way there is more room for more types of species.
Just to clarify, toxins and slime are the same thing, agents. We just call agents certain nicknames, like a toxin when it harms cells, or slime when it impedes their movement. Your cell can produce different types of agents, which each perform a different function ( This thread has some good discussion on agents). | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: CPA Master List Mon Nov 24, 2014 2:34 pm | |
| Rejoice, for it is time for another diatribe against ~thermosynthesis~! Every time I see thermosynthesis come up as an alternative to photosynthesis, I die a little bit inside, because that is completely unphysical. Thermosynthesis is the generation of free energy from heat. What is heat? Entropy, more or less. Heat is energy in a form that cannot be harnessed at the microscale. The only way you turn amounts of heat into useful energy is by abusing heat gradients; ie, heat that is more concentrated in one place than it is in another. By allowing heat to flow down its concentration gradient (which acts to equalize heat concentrations over space, and thus increases entropy), you can harness some of that entropy generation to produce free energy. The key point is that you must have a gradient of heat -- you cannot just convert heat into free energy, but you must sap some energy from the exothermic process of heat transfer. If you read a bit about the way hypothetical thermosynthesis is proposed to work, it relies on heat gradients over time to drive the change in conformation of a protein, which catalyzes a reaction as it switches (so, that's at most two reactions per thermo-enzyme per day). And this provides nowhere near the amount of energy available from photosynthesis -- indeed, not even enough energy to sustain a prokaryote. So, basically, thermosynthetic eukaryotes are out of the picture. There. Science. Okay, with that done, time for the rest:
- I think the only reason anyone ever mentions RpAse anymore is either out of inertia, or to debunk the idea that we're using RpAse. Ie, no RpAse, we used to think it was a good abstraction, but in the end it turned out to be a bad one so over some discussions months ago we scrapped it. The talk is all about alternatives, and I like the idea of properly tracking the growth of each microbe (no, tjwhale, we won't do this on the population level, but we certainly need it for the player microbe).
Last edited by moopli on Mon Nov 24, 2014 2:45 pm; edited 1 time in total (Reason for editing : thus) | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Mon Nov 24, 2014 5:35 pm | |
| Edit: I have spoilered this post as I think it's going in the wrong direction, I didn't want to delete it as people may still be interested in reading it. - Spoiler:
Ok so I've been thinking a bit about the minimum viable microbe and the number of gameplay choices. Every species needs to have the ability to make more of itself. So I think that means it needs to be able to make fats from sugars, and amino acids from sugars, and proteins from amino acids. Now you could be a creature that lives by just finding these things lying around but I don't think you would last very long. Seregon suggests - seregon wrote:
- - Protein synthesis is done by the RER, which I think we decided is part of the microbial core (what did we call it?), the three basic organelles required by all microbes. These can't be added or removed, but may be upgraded. In other words, protein synthesis is always available.
and I think that is fine so there is a core that can do all of these basic processes. This then leads on to the questions of what gameplay choices I have for my species? How many different types of species can there be in this system? What predator-prey interactions are possible? I think we need a lot more complexity in the number of gameplay choices available (for the player and the ai) and so I think we should split amino acids up in to more types and proteins into more different types. Here is a possible diagram for slime, hope you can read it, - Spoiler:
So every microbe can make more cell wall (in order to reproduce). However if it invests in an organelle to make amino acid 18 then it can add a slime gland which adds slime to the cell wall, this then gives an advantage against predators. Then if it is willing to make long chain fats (it can make short chain fats already as they are required for the cell wall) then it can upgrade to super slime (which is more effective). If it can make amino acid 19 then it can make anti-slime which is a protein which dissolves slime and gives an advantage to a predator when encountering slime. Finally there is mega-slime which is immune to anti slime but needs enourmous resources to create. This is not the kind of game where this is a tech tree where you always go up and forget about the lower options, everything you do costs energy and resources and you have to choose how best to spend what you have and sometimes getting rid of systems will be better than adding more (remember you replicate more slowly the bigger and more complex you are). Anyway this slime chart is just an example, I'd love some feedback on what the rest of you think. I am generally thinking in terms of patches the player isn't in, so everything is happening at a population level. As a general principle I think there should be a protein to block most of the interaction organelles (so a protein that blocks flagellae, one which blocks cilla, one which block predation spikes, one which blocks toxin etc) which you can invest in. I think there should be super versions of most proteins which is immune to disruption (you can make super toxin for which anti-toxin doesn't work but it is very expensive). Also there should be proteins which disrupt disruptors. So if you are the prey and I am the predator I can add a protein which disrupts your flagella and slows you down so I can catch you more easily. Then you can make a protein which cancels my flagella disrupting protein. However I could invest in a super flagella disruptor which is immune to your counter measure (but very expensive) but then you would be best to stop making your counter measure (as that would save you energy) so then I should downgrade to a regular flagella disruptor and the game begins again. (That all sounds a bit complex but does the principle make sense? We are always in this dance of adding and subtracting proteins to are arsenals based on what the other species are doing.) That way each species is adding and subtracting organelles as time goes on trying to find the right mix of proteins to make. Does that make sense? What do the rest of you think? Is it interesting gameplay to add and subtract systems from your species to counter what is happening around you? Watch you want to watch the computer simulate this process, would that be interesting?
| |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Tue Nov 25, 2014 2:52 pm | |
| I've been thinking some more about this whole system and have some more thoughts.
1) If there is no competition.
If I am a microbe and I live in a patch where there are no other organisms then I just want to optimise. I want to photosynthesize sugars, make those into fats and amino acids and then make those into proteins to make more of my species with. These things need to be done in the proper ratio (there's no point in making loads of sugar I'm not using for example).
So this I think would make a good prototype but is not very interesting gameplay wise.
2) Competition.
If we have competition where species don't interact then again I just want to optimise, I don't want to move or waste protein making anything interesting or complex I just want to process as efficiently as possible.
So I think there should be non-predation local interaction between species. What I mean by that is "what happens if you get close to another microbe of another species?"
Some ideas (from the agents thread plus some microbiology videos) for this would be
I. Gum. I can make a protein which wraps around your cell and slows your absorbtion of nutrients.
Ib. Flagella / Cilla Gum which wraps around your movement organelles and makes them less efficient.
II. Anchors. I can make a big heavy protein which can attach to your microbe and slow you down, making you more vulnerable to predation.
III. I can use a poison tipped protein sword to inject proteins into your microbe. They could shut down any part of your cell, so I could shut down your mitochondria or your protein synthesis etc.
IIIb. I read somewhere (can't remember where on this forum) that a good way of modelling health in a bacteria is with osmotic pressure (the bacteria has to keep pumping water out and if it doesn't it will swell and burst). I think this is really cool so we could have little pumps as organelles and I could use a poison tipped sword to poke a poison in that shuts off your pumps so you swell up and burst.
IV. I could make a protein that blocks your ability to release proteins, so if we are close then a lot of your aggressive actions are prevented.
There's probably more we can think of. These are interactions where you gain from hurting the other microbe but you are not feeding off them via predation.
To model this we could build something moopli was talking about and simulate the battles between the microbes, 1v1. It would be a cool feature and would give some accurate results, but needs a lot of processing power.
3) Predation.
If you actually want to benefit from other organisms there should be several ways to do it.
I. You can inject a protein which causes the other cell to eject some compound, like sugar.
II. You can use a protein key to unlock the cell wall and have the cell spill its contents.
III. You can inject a protein that shuts down the mitochondria so the cell dies from lack of energy and then feed on it.
IV. You can engulf one of your prey and then kill it and this means that you gain a higher percentage of the compounds released by it's death BUT you are more vulnerable to it's poison swords.
and you can use all of the strategies above.
4) Defences
You can then create several different types of defence (of course they cost resources to build so you can't have too many).
I. A thicker / multi layer cell wall that resists attacks.
II. Slime to prevent engulfment (at the cost of movement).
III. More water pumps to make sure you can keep pumping water out at the right speed.
IV. Anti-proteins. So if an enemy injects a toxin you can have an anti-protein ready which will cancel it out. Also if they gum up your flagella you can release an anti-protein which clears the gum off. Of course making anti-protein is costly.
Moopli suggested having codes which have to match before proteins work on each other. This is mich like creating many different types of the same toxin. So I have a cell wall with one code and you need a key with the same code to open it and if you have the wrong code you can't. This is a really cool idea but adds a lot of complexity. However that might make things more exciting.
Feedback? What do you guys think? Is this cool and interesting enough?
In a general sense I think it's really important to make the microbe stage impressive and cool and unique because 1) it needs to sell the game to people to help us work on it and 2) what's the point of building it if it's not fun to play? | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: CPA Master List Wed Nov 26, 2014 1:28 pm | |
| It doesn't add a lot of complexity -- it is an alternative to having toxins and antitoxins and stuff; that is, a bunch of hard-coded nearly-identical things. That takes more time to fiddle with and test, since we actually have to work on balancing toxins and antitoxins if we don't have a system that evolutionarily balances for us. It's also something I'd be perfectly willing to code Anyway, you've got some great ideas on what sorts of things agents could do. Poison-tipped swords are predatory pila (a planned organelle), and anchors wouldn't really work (you could manufacture large amounts of slime to make your surroundings more viscous, sure, but that's expensive unless you are mostly sedentary). I don't remember talking about simulating microbe battles, but okay :P. Here's how I imagine it would look from an implementation point of view:
- Microbes have ReceptorComponents; which poll the ReceptorSystem for agents in the area the cell overlaps
- The ReceptorComponent does the math to see how effective the agent is; based on amount present, and comparing signatures.
- The ReceptorComponent then limits organelle/microbe function accordingly; probably by modifying some table in the Microbe; which organelles check to see if they're being messed with.
| |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Fri Nov 28, 2014 5:17 pm | |
| Ok so some progress has been made I think. We talked the other day about a new core concept for this system. The way you interact with other species is to make (what I'm going to call for now) "Attack Agents". What an attack Agent does is it lowers the efficiency of another cells processes. So "gum which wraps to their flageallae" is replaced with a protein which lowers the efficiency of their flagellae. Slime is replaced by a protein which lowers the efficiency of their engulfing mechanism. etc I think this may turn out to be very elegant as we only need a list of organelles which a species can make for itself and then from this we can generate the list of possible attack agents (there is one for each organelle on the list). Which is very a simple and nice. So here is a diagram of how I believe compounds will be processed inside a microbe. Green is for compounds and yellow is for organelles which do the processing. (Seregon talked about having three stage respiration, here I have just two stages but we can add one more if we like) - Diagram:
So you start with whatever goes in the boxes marked ? and cytoplasm and RER (or golgi body or nucleus, whatever it is, I'm going to need some help with differentiating those things Seregon talked about). This means you can turn sugars into fats, amino acids and proteins. This means you can replicate (as these things are what the cells are made of) IF you have an income of sugar. This means most species will need to choose between chloroplasts and predatory behaviour to get sugars though you could be a scavenger. A note on predatory structures vs chloroplasts Seregon mentioned most species shouldn't have both, I suggest an elegant solution to this is to make chloroplasts make you very slow. Now I don't know if this is physical but it is nice as predators will want to move a lot to increase their encounter rate so it'll make you choose between chloroplasts and being a sedentary sun bather or being a fast predator that hunts. What do you think? Anyway so then this is the list of optional organelles you can add from the diagram Chloroplast (also are we thinking of having chemoplasts?) Mitochondria (which allows you to break down a lot of stuff, maybe we should have 2 different types? one for sugar and fat and another for protein and amino acids, don't mind) Secretion Gland (which makes attack agents of a certain type and spits them into the water when another microbe is close) predatory pilus (which makes attack agents and injects them into another species when you touch them) from outside the list flagella / cilla cell wall (you have to have this at the start too but you maybe there should be a 2nd level of it) vacuoles (storage and maybe has a function like B-cells with codes but will take about that later) bioluminescant gland (not sure of the function or reasonableness of this) water pumps (I believe the correct word for this is contractory vacuole) ( if we go for the water pumping health system, which I really like btw) protein pump (so if another microbe injects attack agents into you this pump will start to pump them to the outside) scavenger channel (allows you to absorb anything (proteins, amino acids etc) from your environment but does make you more vulnerable to predation) engulfment mechanism extra versions of your basic organelles (if I want to build a massive cell which makes every type of attack agent I will want to have a lot of sugar processed into amino acids and then into protein etc so there should be some way of augmenting the basic organelles you get when you start, either by level ups or by adding more organelles which do the same job). and I think that's all I can think of. So this is pretty close to where we are now (not a huge extension) and the gameplay actually sounds quite engaging. I was thinking as I was walking home how I am eager to play this game, it'll be really interesting to design your species and then make choices about what attack agents to make. So if you get chased a lot you may want to add a gland which makes an attack agent for your pursuers flagella. You may think it is better to battle them by counteracting their predatory pilus. You may want to ignore your predator and just try to breed so fast they can't keep up. As a predator it gives you a lot of flexibility about how you will attack and which systems you will want to take down. For example do you dissolve their cell wall? Do you inject a protein which shuts down their water pumps? Both? Do you pump out a protein to slow their flagellae so they can't get away? etc etc The best response will keep changing which will be awesome. It's going to throw up interesting choices too, you have limited mutation points, do you defend against a predator or add more mitochondria? etc Feedback please!
Last edited by tjwhale on Tue Dec 02, 2014 7:44 pm; edited 1 time in total | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: CPA Master List Sat Nov 29, 2014 1:07 pm | |
| Interesting stuff -- here are some thoughts and a few biology corrections: For one, amino acids contain nitrogen, and sugar does not; so sugar can't be converted into amino acids. The best general pathway we could use is the conversion of pyruvate + ammonia into amino acids. Second, Mitochondria don't decompose anything nitrogenous (so, no, no amino-acid-eating mitochondria) -- in fact, they don't even "digest" stuff (for example, they don't break down sugar or proteins), they only oxidise the results of glycolysis. Third, lots of predatory protists have chloroplasts -- they just don't rely entirely on chloroplasts, and use predation to get their nutrients. That's an important point, by the way -- you need not just energy, but nutrients to grow. The most obvious nutrient would be nitrogen -- since eukaryotes can't fix it, they have to either eat bacteria which can fix nitrogen, or live around other microbes which eat enough bacteria that they have too much ammonia, which they shed, which you can then slurp up. About cell walls, cells aren't always walled, and in fact, most protists are not. If you have a wall, you can't swim. The "scavenger channel" is a good idea, but every wall-less cell carries out something called pinocytosis, or "cell drinking" to slurp up nutrients, where you bud tiny vesicles off the cell membrane to pull in quantities of the fluid around you, including whatever chemicals are there. This is also another convenient way an agent could interfere with a cell -- hinder pinocytosis and you drastically limit nutrient intake. I don't think protein pumps will work -- however there is a way cells defend themselves agains invader proteins and viruses and foreign DNA and so on -- a bunch of enzymes commonly found in cytoplasm are selectively digestive, one, for example, digests any protein that isn't recognized as belonging to the cell; another might do the same with RNA, etc. We can be reasonably sure that there were viruses back when microbe stage starts, so even though we don't simulate viruses we have a good biological reason to simulate the destruction of foreign agents. An engulfment mechanism is definitely necessary, at least to eat bacteria. Speaking of bacteria, we need to work on incuding them into our model too -- probably mostly as a source of food, though they should probably sometimes be a source of danger too. As for water pumps being contractile vacuoles, you're absolutely right. Death by bursting is a nice way to show that something died, but it isn't the only failure mode of a cell -- it's probably one of the less reversible ones though, which makes it a good candidate. Okay, that's one massive wall of text, I'll try and make the rest of the post more structured. Here we have my take on the intracellular process graph: - Code:
-
Process, Organelle: Reactants -> Products
Protein synthesis, Cytoplasm: Amino Acids -> Proteins Protein digestion, Lysosome: Protein -> Amino Acids // this would happen in the cytoplasm if we don't include Lysosomes in the game
Glycolysis, Cytoplasm: Glucose -> ATP + Pyruvate Gluconeogenesis, Cytoplasm: Pyruvate + ATP -> Glucose
Oxidative Phosphorylation, Mitochondrion: Pyruvate + Oxygen -> ATP + Carbon Dioxide Photosynthesis, Chloroplast: Carbon Dioxide -> Glucose + Oxygen // Here I'm not sure if we should use Glucose, or "Sugar", or Glyceraldehyde-3-Phosphate, or even Pyruvate to simplify
Amino Acid Synthesis, Cytoplasm: Pyruvate + Ammonia -> Amino Acid // Pyruvate is a keto-acid, which conveniently enough are the biological substrates of amino acid synthesis Amino Acid decomposition, Cytoplasm: Amino Acid -> Pyruvate + Ammonia // I'm not sure what the ATP balance on this pair of reactions is
Lipid synthesis, Smooth ER (bundled with nucleus): Pyruvate + ATP -> Lipid Fatty Acid Cycle, Cytoplasm: Lipid -> Pyruvate + ATP
Then, we somehow lock away quantities of lipid, protein, and sugar for "growth", once enough of these are locked away (enough being dependent on cell size), a cell can replicate. In terms of Auto-Evo, this is the important link -- something that improves fitness gets the cell to the needed stockpile level faster. That also adds a direct cost to any organelle additions, in that you must grow more before you divide. Agents would then be part of the protein part of the growth pile; here I'm not sure about conversion -- we can either convert at release, or convert at production. In terms of the simulation this should make little difference, but it may have some importance I'm missing. | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Sun Nov 30, 2014 9:09 am | |
| - moopli wrote:
- amino acids contain nitrogen, and sugar does not; so sugar can't be converted into amino acids. The best general pathway we could use is the conversion of pyruvate + ammonia into amino acids.
Yeah sorry forgot to mention that I didn't include some of the lines from "basic compounds" up the tree. Ammonia is required for the nitrogen. - moopli wrote:
- Third, lots of predatory protists have chloroplasts -- they just don't rely entirely on chloroplasts, and use predation to get their nutrients.
OK it's ok for a cell to have both but we want to try to differentiate some strategies a bit. We don't want an optimal cell that has the best of everything, some things need to have sacrifices attached. - moopli wrote:
- a bunch of enzymes commonly found in cytoplasm are selectively digestive, one, for example, digests any protein that isn't recognized as belonging to the cell; another might do the same with RNA, etc.
This is cool, sort of like a proto-immune system. - moopli wrote:
- Speaking of bacteria, we need to work on incuding them into our model too -- probably mostly as a source of food, though they should probably sometimes be a source of danger too.
This is a pretty big deal, I've not heard any mention of bacteria being included before. I think it's cool if they can be. - moopli wrote:
- Then, we somehow lock away quantities of lipid, protein, and sugar for "growth", once enough of these are locked away (enough being dependent on cell size), a cell can replicate.
(Remember this is for species level modelling, imagine a patch the player isn't in) My suggestion with this is to do it continuously. So when you have 5 members of your species adding 1/2 a microbe is a bit stupid. But when you have 1000 members you only need to add 1/1000 to your "locked compounds" bin in order to represent the replication of a new member which is very close to smooth growth. So, as I said above, I suggest - tjwhale wrote:
Change in Protein Free = - Growth Constant * Protein Free Change in Locked Protein = + Growth Constant * Protein Free (we need this for conservation of mass)
Then death releases compounds from the locked AND free pools into the environment. Though I think we could approximate this by just releasing from the locked pools.
Change in Protein Locked = - Death Rate * Protein Locked Environment Balances (multiply by -1)
but instead of just protein as you say this would need to be for lipid, protein and sugar. Read "Change in Protein Free" as dP/dt. I think this will work quite well for the species modelling, Lotka-Volterra models population number continuously for example. Seregon is keen on conservation of mass and I second that so we will need the proper equations. - moopli wrote:
- Agents would then be part of the protein part of the growth pile; here I'm not sure about conversion -- we can either convert at release, or convert at production.
I think it's best to have agents converted at production with limited storage capacity (in the gland or pilus) that way we can use the normal chemical reaction equations and they will fall into an equilibirum. Then when they are released they will smoothly fill back up again. It fits in the paradigm better that way. Of course we still need to talk about how interactions between species are going to work. I think this too should be continuous (essentially it boils down to compounds being moved from the species to each other (predation) and into the environment (spillage and agents)). But if we try to model it in the Lotka-Volterra paradigm it's going to be a very complicated equation. We could simulate. I want to know what you think moolpi as a programmer. We just make a box and put the two members close to each other. They then interact (firing agents, moving, etc) and then either when one leaves the screen or when one is dead then we check how the compounds were transferred. We run this, say 1000 times, for each pair and that determines the rate of compound transfer between the species. The disadvantage of this is it could be slow or take a lot of processing time. The advantage is it takes into account all minor variations (what if I change the position of my flagella for example). Also we would only have to update the results for a species that had been changed by evolution (either auto-evo or the player (as it is pairwise)). SO even if you have a thousand species in a patch. Doing the initial setup will take a long time (a bit like how drawf fortress makes it's world) but then only when auto-evo changed one would you have to do, say 1,000,000, runs to update the system. Which is a lot but not crazy. What do you think? Is it better just to have an equation? (An equation is much faster but can't take account of the position of the flagella, just the quantity.) | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Sun Nov 30, 2014 2:20 pm | |
| I did a bit of modelling to see what this continuous birth and death process would look like and this is what I got. Red Line = Amount of Protein produced (assuming the microbe is made entirely of protein). Green Line = Amount of Protein free in the cell (in storage waiting to be used) Blue Line = Amount of Protein "locked" into the structure of the cell. This first graph is for constant protein production (straight red line) and you can see the blue and green exponentially approach equilibria. An equal amount is flowing into the locked bin as out. Growth Rate is about 30% (30% of protein is spent on reproduction) and death rate is about 30% (lifespan is very short). - Spoiler:
So then I looked at what would happen if there were a blip in your protein production (maybe you can't find a species to steal sugar from for a while or something like that). As you can see with the same settings as above (growth = 30%, death = 30%) the blip is very serious for your level of population. - Spoiler:
Then I set the deathrate to 0.1% (very low deathrate) and you can see that the blip has much less of an effect (25% species lost as opposed to 50%). The green and red lines are tiny as a 0.1% deathrate means protein stays in your locked bin for a long time and so the pool grows very big. - Spoiler:
So I think this is reasonable for K vs R selection. I suggest that species with a high deathrate (short lifespans and very quick generations) should have a greater chance of being selected by auto-evo for mutation. Species with a low deathrate (long lifespans and some smoothing of environmental conditions) should have a lower chance of being selected for mutation. I think this is reasonable accurate evolutionarily and makes a nice gameplay choice, will you speed through the generations hoping to out adapt your rivals or will you try to conserve as much material as you can to have a bigger species? (as when you die material is lost to the environment). Finally I changed the growth rate to 0.1% - Spoiler:
and you can see the free protein is much higher. So that is another interesting gameeplay choice, how much of your available protein do you want to spend on reproduction / increasing the size of your species? If you spend too much then you might get caught out in a famine or if conditions change. If you spend too little then you will grow very slowly and be vulnerable to predators. What do you guys think? | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Mon Dec 01, 2014 8:25 am | |
| - moopli wrote:
- Speaking of bacteria, we need to work on incuding them into our model too -- probably mostly as a source of food, though they should probably sometimes be a source of danger too.
I was just messing around a bit with some ideas of bacteria. We could model them as a very simple "black box" process. So what I mean is bacteria do one thing, process Input into Output. So this could be Nitrogen fixing of Hydrogen Sulfide breakdown etc. When they process they increase in numbers and they have a death rate. First I set the Input to a constant. You can see the bacteria breed while they process what is there but after they have done all the processing they die off. Red = Input Green = Bacteria Blue = Output - Spoiler:
I then set Input to be a constant stream coming in. Output gets removed proportionally to how much is there (this is how it would be used with other life sitting on top of the bacteria). You can see it takes a while for the bacteria to breed to catch up with the input and then they fall into a nice equilibrium. - Spoiler:
Then the bacteria would be avalable as a food source for the microbes. We could set it so they never go extinct (exponential decay never actually reaches zero) so they just do dormant if there is no food for them. As I say just a thought. | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Tue Dec 02, 2014 7:36 am | |
| Ok so I wanted to update the list to represent where we are at. I've done my best to balance the formulas and I think they are correct. Let me know if I have made any mistakes.
Compounds from the original list which aren't included yet.
Phosphorous Calcium Sodium Light - Bioluminescent
Compounds:
Sunlight Sulfur : S Hydrogen Sulfide : H2S Water : H2O Oxygen : O2 Hydrogen : H2 Nitrogen : N2 Carbon : C Carbon Dioxide : CO2 Glucose : C6H12O6 Pyruvate : C3H4O3 Protein : (Seregon suggests a chain of amino acids of indetermined length, how about 4? of course it could be 40 or 400. Interesting question.) ATP : Not specified or conserved. It's just a currency. Amino Acids : C2H5O2N Fat : C12H26 Ammonia : NH4 Attack Agents : How about a chain of 2 Proteins so attacking is costly but not vastly so?
Processes:
PhotoSynthesis: 6CO2 + 6 H2O + Sunlight = C6H12O6 + 6O2 ChemoSynthesis: 12H2S + 6CO2 = C6H12O6 + 6H2O + 12S Glycolysis: C6H12O6 = 2 C3H4O3 + 4H + ?ATP Respiration: 2 C3H4O3 + 5O2 = 6CO2 + 4H2O + ?ATP Fat Synthesis: 8C3H4O3 + 10H2O + ?ATP = 2C12H26 + 17O2 Fat Respiration : The same but in reverse. Amino Acid Synthesis : 2C3H4O3 + 3NH4 + ?ATP = 3C2H5O2N + 8H Protein Synthesis : 4 Amino Acid + ?ATP = Protein Attack Agent Synthesis : 2 Protein + ? ATP = Attack Agent Amino Acid and Protein Catabolism should just reverse their processes but cost ATP. Attack Agent Catabolism IMO should produce Amino Acids : Attack Agent + ?ATP = 8 Amino Acid
Functional Parts:
Chemical Reactions:
By default you get a nucleus :Protein synthesis, Amino Acid synthesis and Fat synthesis. cytoplasm (proportional to how many organelles you have?) : Glycolysis, Amino Acid Catabolism and Fat Respiration.
you can add Chloroplasts : Photosynthesis Chemoplasts (right word?) : Chemosynthesis Mitochondria : Respiration Attack Agent Gland or Pilus : Attack Agent Synthesis Protein Breakdown Enzymes (right name?) : Protein Catabolism and Attack Agent Catabolism Vacuoles : Storage
Also what is the mechanism by which you can increase your production of proteins, fats, amino acids etc? Can you upgrade your nucleus or are the some extra bits you can add? It might be cool to have optional pieces you can bolt on to the nulceus which boost it's function. (endolplasmic reticulum? golgi body?) not very realistic but thought I'd suggest it.
At the cell boundary:
By default you get a semi-permeable membrane. This allows the diffusion of all small compounds, that is: Sulfur, Hydrogen Sulfide, Water, Oxygen, Nitrogen, Carbon Dioxide or Ammonia. and does not allow the diffusion of any large compounds, that is: glucose, pyruvate, Amino Acids, Protein, Attack Agent, Fat or Atp.
You can add: some kind of pump which brings in or out large compounds of a specific type. This is not decided yet. Water pump which helps with health, not decided yet. Flagella/Cilla : Allows you to move (turning ATP into advantage in combat) Attack Agent Gland or Pilus : Overlaps with other list, spurts or injects Attack Agents when enemies are near Engulfment Mechanism : In an interaction you can engulf your prey to get a much bigger payout if they die
Bacteria:
There are many different species of bacteria, each one doing one process and some break down
Attack Agent -> Protein Protein -> Amino Acids Amino Acids -> Pyruvate Pyruvate -> Basic Compounds (Respiration) Fat -> Basic Compounds
That way when a microbe dies, either naturally or from predation, what it spills can get cleaned up.
Last edited by tjwhale on Tue Dec 23, 2014 5:06 pm; edited 3 times in total | |
| | | moopli Developer
Posts : 318 Reputation : 56 Join date : 2013-09-30 Age : 29 Location : hanging from the chandelier
| Subject: Re: CPA Master List Tue Dec 02, 2014 3:56 pm | |
| You're confused about where the H go -- in biochemical reactions involving the loss/gain of hydrogens, the electron is carried by a helper molecule, and the proton is left to float freely in solution. I donlt think we'll be modelling this helper molecule, as the energy stored in the molecule when an electron is bound will just end up being used to make more ATp in the mitochondria. So yeah, glycolysis is anaerobic; those H are usually offloaded into some excreted compound (hence why overfermentation makes things acidic).
Protein accounting, I think, we should do by total protein mass -- we know how much amino acid must go into a certain mass of protein; but we can't do molar calculations since proteins are so variable in size.
Fat is synthesized from pyruvate, not glucose. Fat is also broken down into pyruvate, not CO2 + H2O.
Amino acids range from C2H5NO2 for Glycine, the smallest; to C11H12N2O2 for Tryptophan, the largest. Most of the amino acids (when incorporated into prtotein) have a mass around 120g/mol. I couldn't find hard numbers on relative proportions of each amino acid in generic protein, so I assumed uniformity (I know this is not the case, but it's a null hypothesis) and got a ratio of 107C:157H:29N:29O:2S. Make of that what you will.
Catabolism of proteins and so on is exothermic enough that it shouldn't cost ATP. I'm not sure how much ATP if any you'd get out of it though -- the process often has to be fast (for example, destroying foreign agents), and coupling it with ATP production would slow it down, so I think we'd be safe in saying no ATP is produced in the process. But it certainly shouldn't cost ATP. The only ATP cost might be in the energy required for the signaling pathway that activates these proteases (prote- for protein and -ase for digestive enzyme), but that cost is negligible compared to the throughput of the metabolic processes we're dealing with.
I'll write more as I think of it, I haven't even gotten to your earlier posts yet. | |
| | | tjwhale Theorist
Posts : 87 Reputation : 26 Join date : 2014-09-07
| Subject: Re: CPA Master List Tue Dec 02, 2014 5:18 pm | |
| Cool moopli, you obviously know a lot about this stuff. - moopli wrote:
- Protein accounting, I think, we should do by total protein mass -- we know how much amino acid must go into a certain mass of protein; but we can't do molar calculations since proteins are so variable in size.
Amino acids range from C2H5NO2 for Glycine, the smallest; to C11H12N2O2 for Tryptophan, the largest. Most of the amino acids (when incorporated into prtotein) have a mass around 120g/mol. I couldn't find hard numbers on relative proportions of each amino acid in generic protein, so I assumed uniformity (I know this is not the case, but it's a null hypothesis) and got a ratio of 107C:157H:29N:29O:2S. Make of that what you will. I presume we are not trying to keep track of different types of protein and amino acid? I think it would be easiest to have a representative for each with a simple formula. It makes the calculations a lot simpler. At the moment amino acids only make proteins and proteins are for growth and making attack agents. That's all the variety they have so we don't need a lot of different types. We're making a game not a chemistry simulator so it's going to have to be inaccurate at some level. If you want the masses to be right, as you suggest, pick formulas in the right ratio. For example Tryptophan representing all amino acids and having 15 to the protein is not too bad for the ratios you are looking for. Also what's the S on there? Is there Sulfur involved? - moopli wrote:
- Fat is synthesized from pyruvate, not glucose. Fat is also broken down into pyruvate, not CO2 + H2O.
I was going from Nick's post on the first page of this thread. I'll change the formulas. - moopli wrote:
- Catabolism of proteins and so on is exothermic enough that it shouldn't cost ATP. I'm not sure how much ATP if any you'd get out of it though -- the process often has to be fast (for example, destroying foreign agents), and coupling it with ATP production would slow it down, so I think we'd be safe in saying no ATP is produced in the process. But it certainly shouldn't cost ATP. The only ATP cost might be in the energy required for the signaling pathway that activates these proteases (prote- for protein and -ase for digestive enzyme), but that cost is negligible compared to the throughput of the metabolic processes we're dealing with.
Again I was only going from Seregons post on the first page, he said - seregon wrote:
- Protein synthesis is basically N x amino acids + (some energy) -> protein. The exact numbers are something we'll pick arbitrarily for now, and balance later. Protein catabolism will probably also require energy input (proteins aren't an efficient way to store energy).
I really don't mind either way. Thanks for helping with all this. | |
| | | Sponsored content
| Subject: Re: CPA Master List | |
| |
| | | | CPA Master List | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |