Thrive Game Development
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Thrive Game Development

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

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

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

None

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

» To all the people who come here looking for thrive.
Microbe prototype under Unity Emptyby NickTheNick Sat Sep 26, 2015 10:22 pm

» Build Error Code::Blocks / CMake
Microbe prototype under Unity Emptyby crovea Tue Jul 28, 2015 5:28 pm

» Hello! I can translate in japanese
Microbe prototype under Unity Emptyby tjwhale Thu Jul 02, 2015 7:23 pm

» On Leave (Offline thread)
Microbe prototype under Unity Emptyby NickTheNick Wed Jul 01, 2015 12:20 am

» Devblog #14: A Brave New Forum
Microbe prototype under Unity Emptyby NickTheNick Mon Jun 29, 2015 4:49 am

» Application for Programmer
Microbe prototype under Unity Emptyby crovea Fri Jun 26, 2015 11:14 am

» Re-Reapplication
Microbe prototype under Unity Emptyby The Creator Thu Jun 25, 2015 10:57 pm

» Application (programming)
Microbe prototype under Unity Emptyby crovea Tue Jun 23, 2015 8:00 am

» Achieving Sapience
Microbe prototype under Unity Emptyby MitochondriaBox Sun Jun 21, 2015 7:03 pm

» Microbe Stage GDD
Microbe prototype under Unity Emptyby tjwhale Sat Jun 20, 2015 3:44 pm

» Application for Programmer/ Theorist
Microbe prototype under Unity Emptyby tjwhale Wed Jun 17, 2015 9:56 am

» Application for a 3D Modeler.
Microbe prototype under Unity Emptyby Kaiju4u Wed Jun 10, 2015 11:16 am

» Presentation
Microbe prototype under Unity Emptyby Othithu Tue Jun 02, 2015 10:38 am

» Application of Sorts
Microbe prototype under Unity Emptyby crovea Sun May 31, 2015 5:06 pm

» want to contribute
Microbe prototype under Unity Emptyby Renzope Sun May 31, 2015 12:58 pm

» Music List Thread (Post New Themes Here)
Microbe prototype under Unity Emptyby Oliveriver Thu May 28, 2015 1:06 pm

» Application: English-Spanish translator
Microbe prototype under Unity Emptyby Renzope Tue May 26, 2015 1:53 pm

» Want to be promoter or project manager
Microbe prototype under Unity Emptyby TheBudderBros Sun May 24, 2015 9:00 pm

» A new round of Forum Revamps!
Microbe prototype under Unity Emptyby Oliveriver Wed May 20, 2015 11:32 am


 

 Microbe prototype under Unity

Go down 
+6
untrustedlife
~sciocont
NickTheNick
Seregon
Tarpy
RodGame
10 posters
Go to page : 1, 2  Next
AuthorMessage
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 1:56 pm

Hi there,

I am currently in the process of learning Unity so I decided to make a microbe stage protoype for the project. I'll keep this thread updated with the update as I am going. It is highly influenced by this thread(especially 2nd page) : https://thrivegame.canadaboard.net/t870p15-compound-system

I'll try to stick to the chat available on the portal page for anyone willing to discuss the prototype and game design.

Objectives
- Have a better idea of the game design to be implemented in the actual code
- Have a working proof of concept that can be used as reference for the real implementation
- Experiment with the various gameplay available.

I also want to give priority to a nice gameplay over realism/educational while keep them as close second goal.

I prefer to learn while playing than trying to have fun while learning.

Links to try the prototype :
WebPlayer (Most updated version): http://dl.dropbox.com/u/156274557/ThrivePrototypeWebPlayer/ThrivePrototypeWebPlayer.html
*Might need to install a plug-in for it to work.

Windows Exe: https://www.dropbox.com/home/Public/ThrivePrototypeStandalone
* Download the rar file and unzip OR download the ThriveProtoype.exe and ThrivePrototype_Data and put them in the same folder. Run the .exe

Links to access the code:
GitHub : https://github.com/RodGame/ThrivePrototype
* You will need Unity(Free) to compile the game. Code are available in Assets/Script folder
* Any feedback on the implementation/code structure/ect... would be greatly appreciated

The playable build will at least be updated daily(probably more) when I'm working on it.
GitHub will at least be updated when i put a new version tag.

So what do you thinkg about it?
What should be implemented next ?(Don't ask me for things too far ahead, just discussion about next steps)
What is wrong ?

Please tell me if you have any problem running it from any source.

TODO List (No particular order):
o Implement Organelle to control the available process
o Implement Light spot concept to allow photosynthesis
o Implement Oxygen level in the water to allow for a steady accumulation of it
o Implement stead rejection of unwanted waste
o Implement Compounds and Process from XML files
o Add more compounds in the area
o Add proto-cell to get new organelle
o Add a menu when pressing ESC
o Add an intro menu to the game

History
-> V0.1(26Mar13)
o Added Control with WASD keys and mouse wheel for zoom-in/out
o Added Automated generation of Sugar on the map with collision to absorb them
o Added Compound and Process class o Added HUD(hotkey:q) for Coumpound and Process displaying. Process can be enabled/disabled there.
o Added automatic execution of process when they are Available and Enabled


Last edited by RodGame on Wed Mar 27, 2013 1:02 pm; edited 5 times in total
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 2:02 pm

Ok,

So when you try the game, you'll see that your ATP is currently half-way. It'll fill itself up because Aerobic respiration and Anerobic Respiration are activated.

You can pres "Q" to open the Compound and Process HUD, WASD to move and mouse wheel to zoom. You will see that compounds are being updated with respiration process(currently 1 time/sec). You can activate or deactivate process to watch compound evolve with them. If you uncheck all, ATP will stop replenish itself.

Aerobic respiration currently has priority over Anerobic Respiration. If both are activated and there is enough oxygen, Aerobic Respiration will take place.

Compounds and Process are really easy to implement and hundreds could be added and would work right away. However, HUD wouldn't display all of them as it is now.

Process definition are currently feeded as string to the code :
_Process[i].CompInput = "6*Oxygen+1*Sugar";
_Process[i].CompOutput = "38*ATP+6*Water+6*CO2";

This is the formula for Aerobic Respiration. The game later parse the string and execute all process if available.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 3:14 pm

Wow, bravo and kudos for you.

This is amazing. How much time did it take you to make it?
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 3:26 pm

Tarpy wrote:
Wow, bravo and kudos for you.

This is amazing. How much time did it take you to make it?

I'd say a bit above 20 hours mostly done in last 3 days. Had a lot to learn along the way but it has been pretty smooth. Doing this in Unity lend first result much much faster.

I also spent a lot of time setuping the dropbox and gitHub. Since my pc is synchronised with dropBox, whenever I build the project it is automatically up-to-date on the webplayer which is pretty cool.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 3:28 pm

Maybe the next step would be to make a restart button.

That wouldn't be hard.

Just reset all the of the players stats like they we're in the beginning.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 3:39 pm

Tarpy wrote:
Maybe the next step would be to make a restart button.

That wouldn't be hard.

Just reset all the of the players stats like they we're in the beginning.

Good idea. I added it to the WebPlayer. Just press R and you'll get all compounds back. Didn't bother to move cell back and switch processes back but it would be simple.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 3:45 pm

I'm not sure, but maybe you should add the feature that oxygen would be accumulated over time, automatically, since the oxygen runs out eventually, forcing you to restart.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 4:26 pm

This is something that I would like to implement next. However I don't want to make it only for oxygen. Something similar should be implemented for Water and CO2 if I'm right.

Right now I have some compounds that aren't "limited". This means that they can get over their max value displayed in the HUD.

My idea would be that the max value is a aimed value that compounds will try to attain. This would mean oxygen and water absorption and CO2 elimination. For CO2, it would also mean dmg to the cell if its level is too high(Right ?)

So what would be the design of this concept? Do we want a oxygen level in water to influence the rate of oxygen absorption? Do we need some specific organelle for Water/O2 absorption or CO2 expulsion ?

I would like to hear from you guys. I searched for it on the forum without finding exact answers.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 5:07 pm

As far as I know, oxygen would require mitochondria.

Since you are not doing conceptual work here, but actual programming, I'm going to try and write these suggestions as programming-wise as possible.

When we develop a microbe editor and organelles, you would be able to choose mitochondria in the organelles section. Every mitochondria would increase the value of two values, which would be float points. These values would be:
1. Maximum oxygen intake
2. Minimum oxygen intake

Since we want to simulate the environment as best as possible, we should have changing oxygen levels. To simulate these "changing oxygen levels" we will use these two values, and here's how.

Every tick, the game would generate a random number called actual oxygen intake. Actual oxygen intake would be greater than or equal to the minimum oxygen intake and lesser than or equal to maximum oxygen intake.

This would simulate changing oxygen levels to some extent.

Also, as for the argument: "But the oxygen levels won't be same on all planets!" this is true, but this early in the development process we shouldn't really be thinking about that.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 6:03 pm

I added Compound Intake/Rejection concept.

Each compound has a maxIntake and minIntake float value.

Each tick, all compound that have value for maxIntake OR minIntake do an exchangeCompound(water, oxygen and CO2 in our case).

Here are value used in the current webPlayer game :
Code:

Oxygen:
MinIntake = 0.5f;
MaxIntake = 1.5f;

Water:
MinIntake = 0.0f;
MaxIntake = 1.0f;

CO2:
MinIntake = -1.0f;
MaxIntake = -2.0ff;

Note that using a negative number will make the waste being expelled automatically
Here how it is done :

Code:

__randomValue = UnityEngine.Random.Range(__CurCompound.MinIntake, __CurCompound.MaxIntake);
__CurCompound.CurValue += (int)Math.Round(__randomValue);

I randomize between minIntake and maxIntake. Then I round it. This is because my system use integer to store compounds and I think it make sense. We don't want to store half-ATP do we ?

Update to this system should account for CompoundLevel in the organic soup, (??Current concentration in the cell??), Number of related organelles
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 6:27 pm

Good work! I can see that the oxygen intake is working perfectly, like everything else.

Yes, we don't want float-point ATP. It would just make everything more complicated for no reason.

Also, if you want any opinion on what to do next, here's my idea.

The first thing we would want to do is to make it possible to continuosly survive in this "soup".

The prototype, as it seems, is very close to realizing this. You can intake compounds like oxygen, sugar etc. and convert them to ATP, which in return is used to intake more compounds, and the cycle goes on. However, the only "flaw" I can see in this system is that sugar is non-renewable. See, gradually I will run out of sugar and will not be able generate more ATP, making this loop impossible to go on forever. We want to make it able to go on forever (at least that's what I think), so the next thing would be to make sugar compounds generate randomly throughout the "soup".

This, I also think, won't be hard to implement, and would go like this:

When the player creates a new world, a random (or predefined, maybe?) number of the compound "sugar" are created in the soup (this number would not be too small nor too great). Every time the players cell, or an AI cell intakes a compound the global amount of that compound is reduced by 1. Once the number of these compounds get lesser than 3/4 of the initial amount, a new compound is automatically generated in the world.

Do you think it would work?
Back to top Go down
Seregon
Regular



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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 6:52 pm

Very nice work so far Rod, keep this up and you'll tempt me back to doing some coding too, it's been too long really...

There are quite a few things here I need to correct though, before you get too much further with your development:
- Mitochondria aren't involved in a cell obtaining oxygen. Rather, they are the place where aerobic respiration takes place, without them a cell can only perform anaerobic respiration, regardless of whether or not it has oxygen available
- co2 isn't always bad, and it isn't always expelled by the cell. The obvious example is plants with chloroplasts, which need co2 to perform photosynthesis and produce sugar
- having fractional ATP (or any other compound) is fine. At the scale we're working (1 unit = 1 picomole), a unit of ATP is still a huge number of individual molecules (about 6x10^11). Additionally, rounding errors when using integers would mean some process wouldn't always have an effect (e.g.: if a cell was taking up 0.4 units of sugar per tick, the actual value would never increase, as it would always get rounded back down).

The rate of compound intake/expulsion is also a little artificial. These rates will vary, but randomising it every tick is a little too extreme. In reality, these processes are largely controlled by diffusion (though a cell will also pump compounds against a gradient if needed, at the cost of ATP). What this means is that the rate of movement of a compound is proportional to the difference in concentration of the compound between the cell and the environment. i.e.: if the cell has a lot of something (compared to the environment) it will leak out, if it has very little, it will leak in.
So, rather than aiming for an arbitrary amount of each compound in the cell (your 'maximum'), the quantities should regulate towards the environmental concentration (for things like water, co2, o2 etc.). Also, the greater the difference between the cell and the environment, the faster the transfer takes place (you could add a small random factor to this, e.g.: +/-5%, but I don't think it's necessary).
All of this gets a little more complicated as cells get more advanced, and are able to pump in compounds to a higher concentration than outside, but we'll worry about that later on.

A similair effect is seen with internal processes. If the concentration of the products of a reaction are high, the rate of that process is slower, and vice versa if the concentration of products is low (and vice versa for inputs). Now, if co2 concentrations are near their maximum, aerobic respiration will be extremely slow, possibly starving the cell of ATP, so you automatically get a negative consequence to high co2 levels, without any special case coding.

Please don't take any of this as criticism, it's not meant to be. I'm just trying to point out issues you may not know about (especially if your not a biologist). Also, I realise your creating this prototype partially as an excersize for yourself, so your welcome to implement it however you like.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 7:06 pm

Oh, you're right, mitochondria are used for aerobic respiration, not obtaining oxygen.... silly me.

I don't think Rod (can I call you like that?) ever said CO2 is useless, rather it is relatively useless in this phase of development.

Also, I now completely agree with you Seregon. Rather than taking minInput and maxInput we should have the intake go like this: If you have a lack of oxygen, increase it's production and if you have excess oxygen, intake would decrease.
Back to top Go down
Seregon
Regular



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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 7:09 pm

Sorry, I didn't mean co2 isn't useless, I meant it's not bad for the cell - Rod mentioned high co2 levels causing damage, which they might, but in other cells it's very useful.

Back to top Go down
NickTheNick
Overall Team Co-Lead
NickTheNick


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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 7:39 pm

Wow, Rod, this is extraordinary! I wish I could up-vote your OP multiple times.

I can't wait to get back to my desktop to try out the prototype!

Its great that you've made this on your own time and incentive. That is exactly what we need on the team. This prototype will be very useful. Like Tarpy said, kudos to you.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 8:36 pm

Tarpy wrote:

I can see in this system is that sugar is non-renewable.

This feature was actually already implemented. However I went to test it and it didn't work. Took me a while but it's now fixed. I reduced the radius of Sugar creation on the webplayer so you can see them reappear as you take them(Currently 50 sugar in a 10 radius). I'll put it back to cover the full area on the next build upload. Thanks for the first bug report

A problem comes from the fact that it cost more ATP to move from one sugar to another than you gain from using it. I would need to reduce the ATP cost of movement. However, it is currently 1/frame where key is down which is the minimum. I already consider putting compounds as float(see below), that would solve the problem. Another option would be to make movement every X seconds instead of /frame.

Eventually, both will be implemented I think. A float value of ATP removed each X seconds.


Seregon wrote:

- co2 isn't always bad, and it isn't always expelled by the cell. The obvious example is plants with chloroplasts, which need co2 to perform photosynthesis and produce sugar
I was taking the CO2 as an exemple since it is more harmful to human. Thinking about it I would guess that cell can also be harmed by having too much O2 or too much water in it ? (Also not enough (In relation to the environment?)?)

Since CO2 is an input to Photosynthesis, I didn't put it seperate as a waste. It is a simple Compound as others.


Seregon wrote:

having fractional ATP (or any other compound) is fine
I tought it would be simpler to have them as integer for simplicity but the more I work the simpler it seems to be with fractional compounds. I'll change it in a subsequent build.


Seregon wrote:

So, rather than aiming for an arbitrary amount of each compound in the cell (your 'maximum'), the quantities should regulate towards the environmental concentration (for things like water, co2, o2 etc.).

This is close to what I had in mind. I already have a value for the waterConcentration(As a float between 0.0 and 1.0(0-100%)) Would that make sense for you ?

My question would be how to calculated the concentration in the cell. Would you just do Current Value/Maximum Value ? If so that'd be really simple. However I'm not sure about this idea considering there are no real "Hard Maximum Value". I'd like to keep discussing this concept to implement it.

Seregon wrote:

A similair effect is seen with internal processes. If the concentration of the products of a reaction are high, the rate of that process is slower, and vice versa if the concentration of products is low (and vice versa for inputs).
I was looking at it in the compound thread. This is pretty interesting reading. I'll keep that in mind but won't implement it right away.


Seregon wrote:

Please don't take any of this as criticism, it's not meant to be. I'm just trying to point out issues you may not know about (especially if your not a biologist). Also, I realise your creating this prototype partially as an excersize for yourself, so your welcome to implement it however you like.

No offense taken at all, this was helpful critic post. This is exactly where I wanted this discussion to go. Keep in mind that I have the average Joe knowledge in cellular biology and that I keep learning reading your post. My interest in this topic is growing with each post.

I want to keep the prototype as close to the real project as possible while keeping it enjoyable to implement.

Thanks for the compliment on the proto, and yes you can call me Rod
Back to top Go down
Seregon
Regular



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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 9:08 pm

A few quick answers, then I need to get some sleep. I'll be interested to see what you achieve tonight (no pressure!).

- In my prototypes I did calculate concentration simply as currentValue/maxValue. While this is simple, it gets more interesting when you try to calculate what that maximum capacity is. It depends on the size of the cell, it's organelles, the other compound contents etc., but I haven't looked into this properly yet, so I have no equations atm.
- Note that water is the special case. The volume of water in the cell is (not quite exactly) the volume of the cell itself, every other compound is dissolved in that water volume. This again makes for some slighlty nasty math, which I will work on when I get a chance.
- My ideal when designing the compound system is something where no compound gets any special treatment (i.e.: nothing is hardcoded), allowing compounds, processes etc. to be added to the config xmls without changing the code. I haven't quite reached that point yet, but I'm close, and would be very interested to see if you can achieve something along those lines.
- If you want to do something per step, it should really be per unit time (e.g.: seconds), not per frame, as the framerate is variable. In unity, have a look at deltaTime if you haven't already.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 9:31 pm

I should have some time to work tonight. I'll probably setup the Organel class. However displaying it on a GUI take so much time. I'll see what I'll come up to!

Seregon wrote:
A few quick answers, then I need to get some sleep. I'll be interested to see what you achieve tonight (no pressure!).

- In my prototypes I did calculate concentration simply as currentValue/maxValue. While this is simple, it gets more interesting when you try to calculate what that maximum capacity is. It depends on the size of the cell, it's organelles, the other compound contents etc., but I haven't looked into this properly yet, so I have no equations atm.

Interesting. Implementation doesn't seems too hard. I'll need help to make something that make sense.

Seregon wrote:

- Note that water is the special case. The volume of water in the cell is (not quite exactly) the volume of the cell itself, every other compound is dissolved in that water volume. This again makes for some slighlty nasty math, which I will work on when I get a chance.

Didn't think about that. I'm interested in seeing work on this topic. If it is too nasty for what it's worth, I'd suggest treating water as other compound.


Seregon wrote:

- My ideal when designing the compound system is something where no compound gets any special treatment (i.e.: nothing is hardcoded), allowing compounds, processes etc. to be added to the config xmls without changing the code. I haven't quite reached that point yet, but I'm close, and would be very interested to see if you can achieve something along those lines.

This is also what I had in mind. It is already pretty close. Only problem I saw was priority(You prefer to do Aerobic Respiration than Anaerobic Respiration if Oxygen is available). Maybe there are no priority at all in real life but I think it'd make sense to have a better control over compounds consumption.

Thinking about it, it could just be a list of Higher-Priority Process straight in the XML. i.e : Anaerobic Respiration(Priority List : Aerobic Respiration). Software will understand that if Aerobic Respiration is Available, Activated and has compounds for it, Anerobic Respiration won't take place.

It's mostly a matter of loading the XML in unity right now, which shouldn't be too hard.

Seregon wrote:

- If you want to do something per step, it should really be per unit time (e.g.: seconds), not per frame, as the framerate is variable. In unity, have a look at deltaTime if you haven't already.

Thanks for the input. I agree, using time would make the game behavior independent from the computer used. I'm already using deltaTime to make Process ticks every seconds. It might be the exact same process to make movement tick.

I would however like to some other options like FixedUpdate. I'll look into it but will make sure everything is second based.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyTue Mar 26, 2013 11:28 pm

RodGame wrote:

My idea would be that the max value is a aimed value that compounds will try to attain. This would mean oxygen and water absorption and CO2 elimination. For CO2, it would also mean dmg to the cell if its level is too high(Right ?)

So what would be the design of this concept? Do we want a oxygen level in water to influence the rate of oxygen absorption? Do we need some specific organelle for Water/O2 absorption or CO2 expulsion ?

I would like to hear from you guys. I searched for it on the forum without finding exact answers.
Oxygen is required for aerobic, but not anaerobic respiration. In game, you are in a liquid medium that should have a constant level of dissolved oxygen in it, so simply being in the water fills up your oxygen. At the cellular stage, it's very easy for O2 and CO2 to to be dealt with, they just diffuse straight across the cell membrane. There is no specific organelle, but keep the system in place, because more complex organisms will have trouble regulating levels of these gases.

Really, really excellent work here. Brilliant. I actually enjoyed how fast ATP ran out, because it meant that I had to conserve energy in movement, which made the game challenging and fun to play.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyWed Mar 27, 2013 1:16 pm

~sciocont wrote:
Really, really excellent work here. Brilliant. I actually enjoyed how fast ATP ran out, because it meant that I had to conserve energy in movement, which made the game challenging and fun to play.

Thanks! This is the gameplay I tried to give to the user. I hope to see you around the thread helping on the biologic aspect, always helpful!

------------------------------

Organelle are now added to the prototype!

The concept is based on the first pages of this thread :
https://thrivegame.canadaboard.net/t997p15-microbial-compounds-and-organelles

I admit I haven't finished to read all of it yet, but it gave me the base of the ideas.

I currently added :
Spoiler:

Each Organelle has the following member :

Spoiler:

Currently,

Mitochondria._enabledProcess = "AerobicResp";
Chloroplast._enabledProcess = "Photosynthesis";

------------------------------
Open Question to anyone :

Could you help me make the first list of useful Organelle (Should Nuclei be an Organelle)?
What process are they enabling ?
How do we calculate/choose the maximum number available for each Organelle ?
Some Organelle will have to affect other things than process, such as move speed(cilia, flagellum), compound capacity?(Vacuole) and such... I would be interested in hearing you on this topic : What can organelle give to the cell that isn't a process ?

EDIT :
You can try the new version on the WebPlayer, it's up-to-date. Anyone having problem using it ?

- Organelle system now working. Each organelle can enable 1 and only 1 process. I'll add later for multiple support. You can't really see it because you don't have control of organelle, but aerobic respiration is enabled because of Mitochondria and Photosynthesis is disabled because of lack of Chloroplast. Other ones are hardcoded as enabled to give a bit of gameplay to player for now.

- Added a basic HUD. (Might work poorly on small resolution, tell me if you have problem with it.)
I'll eventually add some info in a Help Windows.
Editor will give the option to add/remove organelle (How would you want it ?)
God Mode will give the option to tweak values that wouldn't be allowed to the normal player.
Back to top Go down
Tarpy
Strategy Team Lead
Tarpy


Posts : 337
Reputation : 23
Join date : 2013-03-08
Location : Here

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyWed Mar 27, 2013 4:07 pm

Here is my list of a few organelles and their uses:

1. Nucleus

The nucleus is probably the most important organelle of any cell. All of the DNA of a cell is stored here, so the nucleus is technically very important for cell reproduction. The player's cell would automatically have a nucleus. In the microbe editor, you can change the size of the nucleus, but you can't remove it from your cell. Also, the nucleus wouldn't be choosable from the organelle section, because there really is no point in having more than one nucleus (although cells with two nuclei actually exist in nature).

2. Membrane

The membrane protects the cell from hazards in the environment, so like the nucleus, it is a very important organelle. The player's cell automatically begins with a membrane. Your cell's health would be the health of the membrane. In the organelle editor, you won't be able to place down more membranes, since you can technically only have one. However, you would be able to adjust some of the traits of your membrane. These traits would be: Thickness, toughness and flexibility. All would have a value from 1 to maybe 10. Here's the effect of each of these:
Thickness- How thick your membrane is, the larger the thickness, the more max health the player's cell has. Downside is it decreases average cell speed and acceleration and membrane flexibility.
Toughness- How much damage can your cell's membrane absorb. The larger the toughness, the more damage is absorbed. Downside is it decreases the average compound intake.
Flexibility- How flexible your cells membrane is. The more flexible, the faster a cell can make sharp turns. Downside is it decreases thickness.
Mitochondria
These are required for converting compounds into ATP. Like nuclei and the cell membrane, every cell starts of with one mitochondria. Every new mitochondria increases the rate at which the players cell converts compounds into ATP.

That's all I got.
Back to top Go down
NickTheNick
Overall Team Co-Lead
NickTheNick


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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyWed Mar 27, 2013 5:56 pm

Rod, I got just the thread for you.

The OP has a list of all the organelles, as well some important compounds.

Light concentration affects the frequency of photosynthesis processes inside a cell. 0% light means no processing, 50% means half speed, and 100% means full speed ahead.

This is the same with heat and thermoplasts.

From page 7 onwards, Toughtopay makes an appearance, and he has links to his extremely well done tables on organelles and microbes in GoogleDocs. That could help out as well.
Back to top Go down
~sciocont
Overall Team Lead
~sciocont


Posts : 3406
Reputation : 138
Join date : 2010-07-06

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyWed Mar 27, 2013 11:44 pm

Quote :
Could you help me make the first list of useful Organelle (Should Nuclei be an Organelle)?
What process are they enabling ?
How do we calculate/choose the maximum number available for each Organelle ?
Some Organelle will have to affect other things than process, such as move speed(cilia, flagellum), compound capacity?(Vacuole) and such... I would be interested in hearing you on this topic : What can organelle give to the cell that isn't a process ?
Tarpy's imagination of the nucleus agrees with my thoughts. However, I differ on membrane and Mitochondria.
The membrane is important once we get into the cell editor, where the real fun of microbe stage resides. In the cell editor, you build a cytoskeleton, and then connect the membrane in a closed loop around it. Here's a concept image. This overlooked thread should help you out with the prototype. Microbe prototype under Unity Celled10
You can see here How I envision the membrane and cytoskeleton working together to create the form of the cell. Rigidity is all based upon the cytoskeleton and whether or not you have a cell wall (though in real life, the rigidity of a cell membrane is partially controlled by cholesterol). The cell membrane also has a universal thickness and toughness. If it is punctured and not healed immediately, you die.
Mitochondria should be added through endosymbiosis. Before you gain them, you will have only anaerobic respiration.
Back to top Go down
RodGame
Newcomer



Posts : 94
Reputation : 15
Join date : 2013-03-18

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyThu Mar 28, 2013 2:07 am

@NickTheNick
This is the thread I linked in my last post. Thanks for pointing the specifics because I didn't look at page 7. Currently all process are executed at the same interval. I'll change it when I'll add the light concept as you mentioned.


Well, I won't bother with Nuclei right now since it is always there and doesn't serve direct purpose.

I'll add endosymbiosis concept. From my understanding right now, I'll add randomly moving proto-cells that are mitochondria. Colliding with one would mean eating it and would bring a X% change of gaining 1 Mitochondria organelle. Having more would shorten the time between 2 Aerobic respiration ? Allow 2x mitocondria process to be executed at the same instant ?

I had already looked at the thread ~sciocont mentionned a while ago and forgot about it. I'll eventually get to the editor you pointed out. It is however something that would take a bit more time. Is it possible to access the prototype that I think I tried in modDb(Circle where added by mouse wheel click if I remember, a skin was automatically added around it).

Thanks for the feedback, another question, if you look back at the list of process that are currently implemented in the game, how should they be brought availaible ? Aerobic respiration comes from mithocondria. What about AmnioAcid Respiration ? What about AminoAcid Biosynthesis ? Are they available from start or from a give organelle ? This is the kind of inputs I would like from you guys.
Back to top Go down
NickTheNick
Overall Team Co-Lead
NickTheNick


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

Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity EmptyThu Mar 28, 2013 10:05 am

Oh, haha, my bad.

The chance of acquiring the organelle upon engulfing it (endocytosis) for mitochondria is 1/1000.
The chance for chloroplasts is 1/2000.
The chance for thermoplasts is also 1/2000.

Did you get anything for chemoplasts scio?

Edit: Also, from what I understand, the standard list of organelles for a cell goes:
Vacuoles
Lysosomes
Nucleus
Cytoskeleton
Golgi Apparatus
Endoplasmic Reticulum

Someome like Scio or Seregon should confirm this first, however.
Back to top Go down
Sponsored content





Microbe prototype under Unity Empty
PostSubject: Re: Microbe prototype under Unity   Microbe prototype under Unity Empty

Back to top Go down
 
Microbe prototype under Unity
Back to top 
Page 1 of 2Go to page : 1, 2  Next
 Similar topics
-
» Microbe Prototype #2
» Microbe Editor prototype V0.1.8
» Population dynamics prototype
» Unity Engine
» Eukaryote Ecosystem Prototype Concept

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