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 8 users online :: 0 Registered, 0 Hidden and 8 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
|
|
| Microbial Compounds and Organelles | |
|
+20Immortal_Dragon Tarpy Narstak Psych0Ch3f Nimbal crovea untrustedlife RodGame Doggit MitochondriaBox Toughtopay ido66667 Rorsten594 Raptorstorm Daniferrito The Uteen ~sciocont Seregon Holomanga NickTheNick 24 posters | |
Author | Message |
---|
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: Microbial Compounds and Organelles Tue Jan 28, 2014 5:19 am | |
| Great work on this demo! I got it downloaded well and it was interesting to test out for a while. There were no bugs or strange behaviours/patterns that I noticed. - crovea wrote:
- As a reminder, the current Process Organelle (the grey->purple hex) will take 1 glucose, 6 oxygen and produce 3 CO2 and 36 ATP (water not currently included). It will steal compounds from your microbe as it progresses through its "cooldown"/process time while turning from grey to purple to illustrate how close it is to finishing production, after which it starts over.
It should produce 6 CO2 per reaction. - crovea wrote:
- Is it realistic enough? Which parts are and aren't?
I think that the total bandwidth of the cell shouldn't be a sum of all the bandwidths of its organelles. Rather, it should be determined off of the number of open faces of hexes along the cells membrane (i.e. it's surface area). - crovea wrote:
- How intuitive/confusing is the system as a whole? Would a player be confused about why things are being ejected
I think it's relatively straightforward. Basically, your cell, like any organism, will intake what it needs, and expel any unnecessary amounts as waste. I think a tooltip on this in future tutorials would be sufficient in explaining it to the player. Also, I think basing the priorities off of ratios as I mentioned back on page 11 (I need to reread that) would make the most sense from both a design standpoint and to the player. - crovea wrote:
- The compound priority system, how should it work? How does number of process organelles needing a compound and how much they need of that compound affect the priority of a compound in the microbe?
Another late night has caught me unprepared to answer this question. However I'll go back and read through the discussion on page 11 and give my answer then. Basically it's a system based off of the sum needs of all the organelles. | |
| | | crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
| Subject: Re: Microbial Compounds and Organelles Tue Jan 28, 2014 5:41 am | |
| - WJacobC wrote:
- specialized storage organelles will be important
Hrmm, which kind of specialization are you talking about here? And at the moment, the only reactions that take place are ones that the microbe has a process organelle for. Unless we're going for a super realistic approach i would say that this is fine, but if you want to go for a more realistic approach it would be possible, however the player would probably need some chemics 101 then. - WJacobC wrote:
- A tutorial I don't see being useful for quite some time
Oh i totally agree, i simply meant which parts, that are confusing, will need a tutorial in the future and which parts will just need simplification so people can understand it without one. - WJacobC wrote:
- I think the compound priority could work similar to Civilization V's city focus.
Interresting, I haven't played civilization myself (Im a Total War guy) but I get what you're saying. Perhaps we should map out which things should be automatic (the things ill be implementing now) and which things the player will be in control of (So we dont have to implement a complicated system for automating it). - NickTheNick wrote:
- Rather, it should be determined off of the number of open faces of hexes along the cells membrane (i.e. it's surface area).
Ah yes, this was mentioned before i think, must have slipped my mind. I will wait with implementing this until we get more of a microbe construction/modification system in place. - NickTheNick wrote:
- Also, I think basing the priorities off of ratios.
Yes that makes sense as well. How would this interact with what WJacobC said? - NickTheNick wrote:
- Another late night has caught me unprepared to answer this question.
It was perhaps a bit of a messy question as well, you pretty much answered the second half of the question in my previous quote. The first part of the question is how priority is affected by two process organelles, both needing oxygen, but with, for example, different ratios of oxygen, what kind of priority does oxygen get then? Playtesting of this will make a lot more sense when we have a functional microbe editor, but I am implementing a lot of it now, so I just want to make sure I'm heading in the right direction | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Microbial Compounds and Organelles Tue Jan 28, 2014 9:14 am | |
| I've been following the development of this for a while now, but until fairly recently haven't had time to really get involved, or keep up with the code. I'm aiming to get more involved now I have time, and will be reading through the existing code over the next week or so.
That said, the compound system is something I'm very interested in, as I helped design one of the original concepts for it. There seem to be a lot of changes to that concept since then, and I'd be interested to discuss why some things are implemented the way they are. I can see a few possible improvements, but I'm not sure whether there's a technical limitation preventing them, or if some of the original design wasn't properly explained. I'm not sure if this thread is the place for such a discussion, as it could get quite involved with the actual code, so it may be worth starting a new thread, or a github issue.
What I've seen so far looks promising, but I won't comment on individual parts just yet. | |
| | | crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
| Subject: Re: Microbial Compounds and Organelles Tue Jan 28, 2014 10:49 am | |
| What I have made here is a continuation of the efforts made to get the compound system on the right track, so I'll be very interrested to hear what you have to say Seregon! | |
| | | 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: Microbial Compounds and Organelles Tue Jan 28, 2014 12:35 pm | |
| It's great to see more progress! :D The first thing I've noticed is that the frame rate, at least for me with a fairly low end computer, is starting to suffer from the large amount of compound models. For most of the time it's not too bad, but whenever I try to move a large distance quickly, the movement becomes very slightly jolty. And considering that the compound models are certainly going to change (I assume into something more fluid), it might end up becoming a bigger problem. - WJacobC wrote:
- I think the compound priority could work similar to Civilization V's city focus.
Thinking about this in relation to agents (which is probably what was meant by specialised storage organelles) to be added later, the distribution and priority of organelles' usage of compounds may start to become a little complicated. If the player's cell has a lot of compound A, no compound B and a lot of compound C, with compounds A and B combining to form ATP and compounds A and C creating a specialised agent, what's to stop the cell from automatically using up all of compound A in creating the agent rather than waiting for more of compound B to be collected so it can make ATP, arguably the more valuable? Priorities set for each processing organelle or compound individually (my strategy game comparison is therefore the priorities for influence distribution in Victoria II :) ) may be an option, although it could make for a lot more micromanaging. EDIT: Also, good work getting it on Dropbox - there were a few problems last time with the downloads. | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: Microbial Compounds and Organelles Tue Feb 04, 2014 4:24 am | |
| - NickTheNick wrote:
-
- Quote :
- Oh... that will.. require some changes in the implementation then.
I assume it can hold a mix of different compounds in one vacuole then or is it only one type of compound per vacuole but the vacuole can be changed to hold something else. Yeah, vacuoles are just general storage. Otherwise cell's would have to have so many vacuoles just to hold what they need.
- crovea wrote:
- brb 11 hours
Hah, okay, see you then.
Well, I discussed this with dani, and we got a solution laid out. Any feebback/criticism is welcome. The second idea I came up with myself for a simpler solution.
Solution A:
A vacuole will at all times excrete unnecessary compounds. However, when it is 80% full or more (that threshold is up for revision) a vacuole starts to excrete NECESSARY compounds, no longer undergoes any processes, and no longer intakes any compounds. This means that even if the cell consumes glucose, it will excrete any glucose in the vacuole until it is below the threshold again. However, it always begins by excreting compounds that are in the most excess. Also, the cell only begins to excrete necessary compounds after ALL unnecessary compounds have been emptied out.
Okay, how does the cell tell whether a necessary compound is in excess or not? Look at the following example.
A cell has 1 mitochondria and 2 chloroplasts in it. The total "demand" or "need" of the cell is:
Mitochondrion #1: 1 Glucose 6 Oxygen
Chloroplast #1: 6 Water 6 Carbon Dioxide (Sunlight isn't a compound)
Chloroplast #2: 6 Water 6 Carbon Dioxide
Therefore, the total is: 1 Glucose 6 Oxygen 12 Water 12 Carbon Dioxide
This is assuming all of the above organelles process at the speed, let's just say all of them finish a process in 1 second. This is basically the ratio of compounds that the cell needs in order to keep working. When deciding what to expel, the vacuole gets rid of anything that is over this ratio. So if that cell contained 15 glucose, 90 oxygen, 180 water, and 200 carbon dioxide, it would get rid of the carbon dioxide first, because the carbon dioxide is over that ratio and is therefore in excess. If there are multiple compounds in excess, the vacuole randomly excretes between those two.
However, this means that there could be a scenario where a cell is over 80% full but the storage contains the perfect ratio. In this case, one unit of a random compound is expelled. Doing this will break the ratio, which will cause the vacuole to start excreting the excesses again. If the ratio is met again, then another random one will get kicked out, causing there to be excesses and the vacuole ejects them, and this will keep going until the capacity is back under 80%.
Solution B:
A vacuole will at all times excrete unnecessary compounds. However, when it is 80% full or more (that threshold is up for revision) a vacuole starts to excrete NECESSARY compounds. This means that even if the cell consumes glucose, it will excrete any glucose in the vacuole until it is below the threshold again. However, it always begins by excreting compounds that are the lowest priority. All compounds found in the microbe stage have an inherent priority. Also, the cell only begins to excrete necessary compounds after ALL unnecessary compounds have been emptied out.
For example, say a cell is storing water, oxygen, and glucose. All of these are necessary compounds, and all unnecessary compounds have been emptied out but the vacuole is still over 80% full. The cell will begin to excrete the lowest priority one first. Water has a low priority, so it goes first. If the cell is still over 80% when all the water is gone, it will go to the next lowest priority, which is oxygen, and excrete that. It will only stop when the vacuole is under 80% again.
---
Also, something I discussed with Psychochef wass the concept of Transport Rate and Transport Weight. Transport Rate, as I mentioned earlier, and as crovea called a "bandwidth" for cells, is basically how many units of compounds a cell can take in or out at a time. Think of a room with a bunch of doors. If only one person can enter or leave the room at a time per door, and there is a certain amount of doors, there is a limit to how many people can be entering/leaving the room at the same time. This in Thrive is called Transport Rate, in units/second. Each exposed hex face would increase this rate by X units/second.
However, something I wanted to add in was the idea of Transport Weight. Each compound has transport weight as a property (but it wouldn't matter for compounds not found in the microbe stage). When a molecule of a compound is transported into or out of a cell, instead of just taking up one unit of space, it would take up as many units as it had transport weight. For example, if a cell has a transport rate of 10 units/second, and compound X has a transport weight of 2, then each second the cell could only take in or eject 5 molecules of compound X. What do you think about this feature? Too complex? It adds in the fact that molecules like glucose take longer to be picked up than other molecules.
Lastly, I did get a suggestion from one of the other users that we should create a prototype or demo of this first, playtest it, and see what the results are and find the best solution in that manner. So for those who haven't read it, this was what I posted to address the issue of excreting compounds in the Microbe Stage. That is what we're currently discussing, right? Are there any problems with Solution A? Because I think that solution is the better choice. | |
| | | crovea Programming Team lead
Posts : 310 Reputation : 59 Join date : 2013-10-07 Age : 34 Location : Denmark
| Subject: Re: Microbial Compounds and Organelles Tue Feb 04, 2014 6:44 pm | |
| Solution A is pretty much what we have right now. The part about "need" and "demand" is not completely fleshed out in the code, but currently just using a static priority table as a temporary solution. But once seregon puts up his big post we can figure out exactly how that needs to work. | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Microbial Compounds and Organelles Wed Feb 05, 2014 7:13 am | |
| The solution we're working towards is similair to both A & B suggested by Nick, but there are a few key issues with each that mean they're not entirely sufficient. Solution A - Quote :
- A vacuole will at all times excrete unnecessary compounds
Realistically, not all unnecessary compounds are worth excreting, it would take too much energy to do so. Unwanted compounds should be excreted at a rate proportional to their concentration, in an attempt to keep levels low, but not 0. From a gameplay perspective, having all unwanted compounds excreted as fast as possible may give a player the false impression that their cell is dealing well with any toxins/waste, when its actually using 90%+ of its transport capacity to do so, and any further strain could lead to an unconctrollable build up of waste. Having waste excreted at a rate proportional to its concentration means that more waste will build up (gradually) as its rate of production/collection increases, providing better feed back to the player. - Quote :
- However, when it is 80% full or more (that threshold is up for revision) a vacuole starts to excrete NECESSARY compounds...
I don't like the idea of an arbitrary threshold (regardless of what that threshold actually is, I'll use 80% in this post for clarity though), as it wastes potential storage space, and as with the waste excretion above, causes qualitative changes in a cells behaviour (i.e.: below 80% useful compounds are always kept, above 80% any 'excess' is lost), which aren't as easy for a player to understand. I'll outline a solution below (and go into details in the mentioned big post, which is taking me far too long to post, sorry), but again I'd suggest a gradual change in the rate at which useful compounds are excreted, proportional to their concentration and their priority. - Quote :
- ...no longer undergoes any processes, and no longer intakes any compounds
Along with the above problem of qualitative behavioural change (rather than a gradual slow down in process/collection rate), this creates the possibility that a vital compound will not be collected/produced until storage usage is back below 80%. - Quote :
- Okay, how does the cell tell whether a necessary compound is in excess or not? Look at the following example...
I like this part, though theres several other factors we want to include in decided compound priority, this is a good place to start. - Quote :
- ...it would get rid of the carbon dioxide first, because the carbon dioxide is over that ratio and is therefore in excess. If there are multiple compounds in excess, the vacuole randomly excretes between those two.
This part, and that below, all assume that compounds can only be excreted in integer units, one at a time. A lot of the complexity in the two solutions here (and several solutions I've seen to other problems elsewhere) are caused by this assumption, which is unnecessary. Compound units (femto-moles) represent ~600 million compound molecules each, so theres no reason we can't excrete 0.2 of one compound and 0.36 of another, at the same time. The transport capacity (will come back to that later) should be split among all compounds, depending on their concentrations and priority for being kept/got rid of, theres no need to alternate between excreting 1 of each compound. Solution BThis shares most of the issues with A, with one addition: - Quote :
- The cell will begin to excrete the lowest priority one first
If we do this, then your very likely to end up in a situation where you have none of a necessary compound, which will very quickly kill your cell. Both of these solutions are good, they're just solving a problem we don't need to have. Transport rate/weightI like these ideas, and we certainly need to limit the amount of compounds that can be transported into/out of a cell at any time. Using the number of external hex faces seems like a reasonably easy and realistic option. I also like the idea of transport weight, though I'm not yet sure its necessary. Some compounds will certainly take more time/energy to transport, and some will need specialist cell surface structures (pumps) to get them accross at all. We just need to figure out (and test) how much of this we want to include in the game. I'd also like us to consider transport time between organelles. This is likely to be too much detail for the cell stage, but keeping in mind that we want to reuse as much of the compound system for later stages, it makes much more sense when considering factories spread around a city, and to a lesser extent organs in a body. I'll go into more detail on all of this as soon as possible. I'd hoped to get stuff posted before going back to work this week, but that didn't happen, so it'll be another day or two, sorry. | |
| | | Sponsored content
| Subject: Re: Microbial Compounds and Organelles | |
| |
| | | | Microbial Compounds and Organelles | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |