a few suggestions

We like few-celled organisms, not bugs!
merpelicous
Posts: 51
Joined: Fri May 15, 2015 11:12 pm

a few suggestions

Post by merpelicous » Sun May 17, 2015 1:02 am

I noticed that it is very difficult to make some more complex designs, so I thought of a few things to help make some advanced creatures. (Love your game btw.)

Flagellocytes should be stronger, I personally think they should be able to push 2-3 other cells with ease.

Some cells should have.some increased functionality, I almost never use them: buoyocyte, nitrocyte, and lipocyte. (I don't have any suggestions on how to do this, as I couldn't think of any, but it would be nice)

(new miscellaneous suggestions, do not overlook these):
I personally think that virocytes should have a 100% chance of infecting a host cell on contact, but it takes time for the changes to become active (a few seconds or so), and if the cell splits before the changes become active, the daughter cells won't be infected, or something like that.

Keratinocytes should affect all of cells connected to it, including indirectly (cells connected to cells connected to the keratinocyte, and cells connected to those cells etc.), and should make the connected cells immune to radiation, both of the substrate and of radiocytes.
Maybe even make them immune to being killed by kill cells at edge option. I don't have a use for this last one, it just seems fitting. (But also overpowered)

Nitrocytes should have on option of being selected in the gene pool, I have no idea why they aren't.

All sliders should have a Snap option, like snap angles does.
All sliders should have a default button, which returns the slider to its original position

There should be a plus icon under the cell mode 15 in the edit mode drop down menu that adds more modes to the genome.

A force grow button thing in experimental substrates., which forced the selected cell to grow to max size instantly

In the preview window, you should implement a way to test how virocytes will affect different modes.



New cell types: (finally done)

Stemocyte:
On its own, it's pretty useless (its usefulness will be explained in another cell idea). This cell changes to a different mode when touched by another cell (that isn't connected to it by adhesion, directly or indirectly, this includes glueocytes). The mode it changes to is picked in the genome editor.

Radiocyte: Forces a cell that touches it to undergo a random change. Its affects are countered by a Keratinocyte.

Gangliocyte:
This is a complex one. This is the big one to allow for complex cells and large amounts of customization:
This cell is capable of interpreting stimulus, and directing a body of cells (the cell or cells must be connected to the gangliocyte by an adhesion connection. It does not have to be direct, and it can be by glueocytes). In the genome editor, there will be a new section only for gangliocytes. There will be a little plus button, that adds a new stimulus for the gangliocyte to interpret. I will call each new thing you add a tab, for convenience. You can have as many tabs as you want. There will be a duplicate tab button, which duplicates the exact tab you pressed the button for. Tabs have this format, and when you see underlines, that indicates a drop down menu, parenthesis designate what is contained in the drop down menu:
When ___(stimulus)___ occurs to ___(cell type)___, make ___(cell type)___ do ___(reaction)___.

These are the options that can be picked for each menu:

Stimulus:
There will be a check box next to each option. When this check box is checked, it means always do something EXCEPT when this stimulus is experienced.

Always
Artificial Stimulus is received (explained later)
Contact with a cell not part of this body of cells
Contact with Substrate edge
Contact with food
Contact with light
Cell has detatched
Cell death
Cell attacked by devourcyte
Cell infected by virocyte
Cell changed by radiocyte
Cell attached to glueocyte
Not enough nitrogen to reproduce
Cell has reproduced
Cell has reached a mass of at least (slider of mass to select)
Cell has reached a mass of at most (slider of mass to select)
Cell has reached a mass of exactly (slide of mass to select)
Maximum of allowed cells in the substrate has been reached
Cell is travelling with gravity
Cell is travelling against gravity
Cell is a greater density than the substrate
Cell is a smaller density than the substrate
Cell has equal density to substrate
Cell has a density of at least (slider to select density) (buoyocyte exclusive)
Cell has a density of at most (slider to select density) (buoyocyte exclusive)
Cell has a density of exactly (slider to select density) (buoyocyte exclusive)
Cell has changed another cell (virocyte and radiocyte exclusive)
Cell has attached to a cell (glueocyte exclusive)
Cell has changed into a different cell (Stemocyte exclusive)
Cell had sent artificial stimulus (gangliocyte exclusive)

Cell Type:
Will have a list of all cell types, and a list of all modes in the genome. It will also have the option of all. When a cell exclusive stimulus has been chosen, the cell(s) it is exclusive for are the only ones that show up on this list.

Reaction:
Reactions will disappear from the menu if they don't apply to the cell type and/or the stimulus (e.g. change cell orientation to parallel with stimulus will disappear if the stimulus is something like cell reaches a mass of whatever)

Force cell to reproduce
Disable cell from being able to reproduce
Enable cell to be able to reproduce
Kill cell
Change split mass of cell to (split mass slider to select its split mass)
Disable stay alive option
Enable stay alive option
Disable adhesion for child 1
Enable adhesion for child 1
Disable adhesion for child 2
Enable adhesion for child 1
Change Split Ratio to (Split ratio slider)
Change nutrient priority to (Nutrient priority angle)
Detach cell from the cell mass
Disable make adhesion option
Enable make adhesion option
Change the cells split angle to (Split angle slider)
Change its child 1 angle to (child 1 angle slider)
Change its child 2 angle to (child 2 angle slider)
Change the cells relative orientation to (slider for the angle)
Change the cells relative orientation to (slider for the angle)
Change the cells orientation to away from stimulus
Change the cells orientation to towards the stimulus
Change the cells orientation to parallel with the stimulus
Slowly turn the cells orientation clockwise as long as the stimulus remains
Slowly turn the cells orientation counterclockwise as long as the stimulus remains
Change its red color to (red color slider)
Change its green color to (green color slider)
Change its blue color to (blue color slider)
Change its adhesion stiffness to (adhesion stiffness slider)
Change its density to (density slider) (buoyocyte exclusive)
Change its virus copy from mode to (virus copy from menu) (virocyte exclusive)
Change its virus copy to mode to (virus copy to menu) (virocyte exclusive)
Change cell to mode (mode seletion menu) (Stemocyte Exclusive)
Change cell to type (cell type menu) (stemocyte exclusive)
Send Artificial Stimulus to (cell type option menu) (gangliocyte exclusive)
Send Artificial Stimulus to (mode selection menu) (gangliocyte exclusive)
Change flagellocyte strength to (strength slider) (flagellocyte exclusive)
Disable cell from affecting other cells (devourcyte, glueocyte, virocyte, radiocyte, keratinocyte, gangliocyte exclusive)
Enable cell to affect other cells (devourcyte, glueocyte, virocyte, radiocyte, keratinocyte, gangliocyte exclusive)



Feel free to add, change, remove, and ask questions about anything.

Also-as a bug report, sometimes in challenges, tapping the screen won't add a cell, but will still count for the inserted cell count
Also, as an off topic side note, the Eastern Standard Time on this forum is behind an hour. I didn't know where to put this.
Last edited by merpelicous on Tue May 19, 2015 1:44 am, edited 11 times in total.
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: a few suggestions

Post by Petter » Sun May 17, 2015 9:20 pm

Thanks a lot for your suggestions! And I'm glad you like the game!

I have been thinking about making flagellocytes stronger, the problem is though that if they are too strong they will kill the single cell in collisions. I'm thinking of maybe having a slider so that one can choose how strong they are, the stronger they are, the more energy they consume. I though really want to have as few settings as possible, a lot of players seem to get confused at first.

The buoyocyte, nitrocyte, and lipocyte have very specific uses, but they are sometimes the only cell to get the job done so i think it's more a matter of making challenges where those cells become necessary. I want to avoid having more than one function per cell, that way it is beneficial to have many different cells in an organism and more complex species will develop.

I would love to hear about your new cell type ideas!
BioCult
Posts: 16
Joined: Sun Mar 15, 2015 2:01 pm

Re: a few suggestions

Post by BioCult » Sun May 17, 2015 11:20 pm

Maybe instead of adding a slider for flagella strength make the code check for how many cells are bonded to the organism and then increase strength based on how many cells are added? The coding might be difficult depending on what language you're using though.
merpelicous
Posts: 51
Joined: Fri May 15, 2015 11:12 pm

Re: a few suggestions

Post by merpelicous » Mon May 18, 2015 2:20 am

Petter wrote:Thanks a lot for your suggestions! And I'm glad you like the game!

The buoyocyte, nitrocyte, and lipocyte have very specific uses, but they are sometimes the only cell to get the job done so i think it's more a matter of making challenges where those cells become necessary. I want to avoid having more than one function per cell, that way it is beneficial to have many different cells in an organism and more complex species will develop.

I would love to hear about your new cell type ideas!
Thanks for letting me know about these cell functions
Added the cell types, as well as some new miscellaneous suggestions.
BioCult wrote:Maybe instead of adding a slider for flagella strength make the code check for how many cells are bonded to the organism and then increase strength based on how many cells are added? The coding might be difficult depending on what language you're using though.
I like this idea for the flagellocytes.
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: a few suggestions

Post by Petter » Tue May 19, 2015 10:30 pm

Thanks a lot for your suggestions!! So many!

Snap values is a good idea, I will probably just have one checkbox for all values though. What is the default value button used for? The default values are not special in any way, I just picked them on random. There are a lot of features that would be nice, but cell lab's big problem seems to be that users (understandably) have a hard time understanding how to use it. I therefore want to keep the complexity at a minimum.

I don't really agree about the keratinocytes, having just one cell protecting 200 photocytes seems a bit OP to me. I have actually been thinking the other way around, that they can just protect themselves. Then one would have to build rather interesting organisms to be protected, e.g. check out this video I made: https://www.youtube.com/watch?v=RJ06hXQ ... e=youtu.be

The radiocytes seem a bit artificial, are there cells doing this? I'm thinking the virocytes do kind of this, but in a more targeted way.

That nitrocytes can't be enabled is a bug you just discovered :P. I've now investigated it and it seems to be hidden behind the buttons at the bottom. I'm working on a patch.

A force grow tool in the microscope is a really good idea. And perhaps other tools as well, like optical tweezers.

More cell modes is something a lot of people request. Only problem is device memory. Most of the memory is used up by the genomes, having 30 modes instead of 15 uses twice as much memory meaning half the maximum number of cells. I could probably increase it quite a bit by doing some memory optimization, but android is not very nice when it comes to memory, just a very small fraction of the devices total memory is guaranteed. I'm afraid unlimited number of modes is not going to work. I'm thinking that it should be possible to built interesting organisms without that many cell modes, the human body doesn't contain that many different cell types (admittedly more than 15 though :P). More control over how cells split is though necessary, to e.g have a species make photocytes for a long while, then switch to something else. This brings us to your gangliocytes :)

They are a very good idea, i have also been thinking about making some kind of nerve cells. I will have to do some hard thinking before implementing this. I must figure out lots of use cases before implementing any change. So a nerve cell with all these settings, there must by a use case where each feature is necessary, otherwise it just adds complexity without giving new interesting species. It must also be scalable, what happens if we have like a big coral covering the bottom, and there are tentacles that do something when touched? If all cells in that mode do the same action then all tentacles would contract, not just the one touched. So your general idea is very good, but I think some modifications are necessary, perhaps some kind of signal molecules emitted by the gangliocytes. There could be like 50 different channels, maybe having different ranges and different time decays. Then other cells like the flagellocyte, could have it's swim strength setting set to listen to a certain channel (a certain signal molecule). For large organisms many nerve cells would be needed to relay the information, real nerves are hard since I've kind of limited cell lab to circular cells. The stemocyte is also a good idea, I think just having one cell type being able to control it's splitting behaviour with signal molecules is enough. So at e.g the tip of a root one could have one of these cells, when the plant get's low on water, it could signal this, and the cell starts splitting. I'm thinking that if I implement some kind of nerve cell, it would only be able to affect the main function of each cell. Tell the the lipocyte to release/store energy, tell the flegellocyte to swim/relax, tell the glueocyte to glue/release. I think I would skip the change cell type, change split mass and so forth, these are essentially changing the genome if I understand correctly. I'm also considering whether external input like seeing if food is in front of a cell or if a cell of a certain color is in front should be something the nerve cell can do, or maybe a different "eye" cell should be needed for this.

I've also thought about something much simpler, a cell that always rotates towards, food/cell of certain color/light. This way one could make cells chasing food, cells chasing the sun, cells swimming away from devorocytes, cells swimming towards similar cells and thus exhibiting flocking behaviour, cells chasing other cells, ... . Since this depends on color, one could observe phenomena like, co-evolution where a predator prey system would be changing colors cyclicly, or mimicry where a non-lethal cell would get the same color as devorocytes so that they would get all the food for themselves. Here a quite small addition of complexity, a single new type with a single setting could add a lot of interesting new behaviours. A full-fledged nerve cell like the one you described would require a lot more coding and adds a lot of complexity, though it would probably enable lots of more interesting behaviours.

Another reason to keep complexity down, it gets really hard for evolution to find good species when there are many "bad" choices. If you have an organism with a gangliocyte and a certain combination of settings give an interesting behaviour. For your set-up there are about 20 stimulus * 15 modes * 20 reaction * 15 modes = 90000 combinations. This means that if a mutation occurs every second this would take about 25 hours to happen. If we remove all but the most interesting reactions and stimulus, and maybe say stimulus has to happen directly to the nerve cell, there would be 4*4*15 combinations, now the interesting behaviour would appear after just 4 minutes. Now we have obviously removed a lot of possibly interesting behaviours, but by making smart choices it is possible to keep the amount of combinations down, but still admitting many interesting organisms. It is therefore crucial to not add stuff that is not guaranteed to give a whole bunch of interesting behaviours, because it hampers evolution greatly.

Thanks a lot again for all your suggestions, many of them really got me thinking and I am sure I will make use of you ideas, though maybe not exactly like you wrote, and probably not that soon I'm afraid. I hope to make some more interesting environments for the cells, mode like an aquarium, with rocks and water surface, different temparatures,.. . Then these types of cells would probably be even more useful as they can react to their environment.

Cheers,
Petter
merpelicous
Posts: 51
Joined: Fri May 15, 2015 11:12 pm

Re: a few suggestions

Post by merpelicous » Wed May 20, 2015 2:15 am

Petter wrote:Thanks a lot for your suggestions!! So many!

Snap values is a good idea, I will probably just have one checkbox for all values though. What is the default value button used for? The default values are not special in any way, I just picked them on random. There are a lot of features that would be nice, but cell lab's big problem seems to be that users (understandably) have a hard time understanding how to use it. I therefore want to keep the complexity at a minimum.

I don't really agree about the keratinocytes, having just one cell protecting 200 photocytes seems a bit OP to me. I have actually been thinking the other way around, that they can just protect themselves. Then one would have to build rather interesting organisms to be protected, e.g. check out this video I made: https://www.youtube.com/watch?v=RJ06hXQ ... e=youtu.be

The radiocytes seem a bit artificial, are there cells doing this? I'm thinking the virocytes do kind of this, but in a more targeted way.

That nitrocytes can't be enabled is a bug you just discovered :P. I've now investigated it and it seems to be hidden behind the buttons at the bottom. I'm working on a patch.

A force grow tool in the microscope is a really good idea. And perhaps other tools as well, like optical tweezers.

More cell modes is something a lot of people request. Only problem is device memory. Most of the memory is used up by the genomes, having 30 modes instead of 15 uses twice as much memory meaning half the maximum number of cells. I could probably increase it quite a bit by doing some memory optimization, but android is not very nice when it comes to memory, just a very small fraction of the devices total memory is guaranteed. I'm afraid unlimited number of modes is not going to work. I'm thinking that it should be possible to built interesting organisms without that many cell modes, the human body doesn't contain that many different cell types (admittedly more than 15 though :P). More control over how cells split is though necessary, to e.g have a species make photocytes for a long while, then switch to something else. This brings us to your gangliocytes :)

They are a very good idea, i have also been thinking about making some kind of nerve cells. I will have to do some hard thinking before implementing this. I must figure out lots of use cases before implementing any change. So a nerve cell with all these settings, there must by a use case where each feature is necessary, otherwise it just adds complexity without giving new interesting species. It must also be scalable, what happens if we have like a big coral covering the bottom, and there are tentacles that do something when touched? If all cells in that mode do the same action then all tentacles would contract, not just the one touched. So your general idea is very good, but I think some modifications are necessary, perhaps some kind of signal molecules emitted by the gangliocytes. There could be like 50 different channels, maybe having different ranges and different time decays. Then other cells like the flagellocyte, could have it's swim strength setting set to listen to a certain channel (a certain signal molecule). For large organisms many nerve cells would be needed to relay the information, real nerves are hard since I've kind of limited cell lab to circular cells. The stemocyte is also a good idea, I think just having one cell type being able to control it's splitting behaviour with signal molecules is enough. So at e.g the tip of a root one could have one of these cells, when the plant get's low on water, it could signal this, and the cell starts splitting. I'm thinking that if I implement some kind of nerve cell, it would only be able to affect the main function of each cell. Tell the the lipocyte to release/store energy, tell the flegellocyte to swim/relax, tell the glueocyte to glue/release. I think I would skip the change cell type, change split mass and so forth, these are essentially changing the genome if I understand correctly. I'm also considering whether external input like seeing if food is in front of a cell or if a cell of a certain color is in front should be something the nerve cell can do, or maybe a different "eye" cell should be needed for this.

I've also thought about something much simpler, a cell that always rotates towards, food/cell of certain color/light. This way one could make cells chasing food, cells chasing the sun, cells swimming away from devorocytes, cells swimming towards similar cells and thus exhibiting flocking behaviour, cells chasing other cells, ... . Since this depends on color, one could observe phenomena like, co-evolution where a predator prey system would be changing colors cyclicly, or mimicry where a non-lethal cell would get the same color as devorocytes so that they would get all the food for themselves. Here a quite small addition of complexity, a single new type with a single setting could add a lot of interesting new behaviours. A full-fledged nerve cell like the one you described would require a lot more coding and adds a lot of complexity, though it would probably enable lots of more interesting behaviours.

Another reason to keep complexity down, it gets really hard for evolution to find good species when there are many "bad" choices. If you have an organism with a gangliocyte and a certain combination of settings give an interesting behaviour. For your set-up there are about 20 stimulus * 15 modes * 20 reaction * 15 modes = 90000 combinations. This means that if a mutation occurs every second this would take about 25 hours to happen. If we remove all but the most interesting reactions and stimulus, and maybe say stimulus has to happen directly to the nerve cell, there would be 4*4*15 combinations, now the interesting behaviour would appear after just 4 minutes. Now we have obviously removed a lot of possibly interesting behaviours, but by making smart choices it is possible to keep the amount of combinations down, but still admitting many interesting organisms. It is therefore crucial to not add stuff that is not guaranteed to give a whole bunch of interesting behaviours, because it hampers evolution greatly.

Thanks a lot again for all your suggestions, many of them really got me thinking and I am sure I will make use of you ideas, though maybe not exactly like you wrote, and probably not that soon I'm afraid. I hope to make some more interesting environments for the cells, mode like an aquarium, with rocks and water surface, different temparatures,.. . Then these types of cells would probably be even more useful as they can react to their environment.

Cheers,
Petter
The default values are to return values that were accurately chafed, or perhaps someone wants to revert their change for another reason, to the value where most other cells share the same value, it would be kind of pointless with the snap values checkbox anyway.

I understand how you think my idea for kerstinocytes were overpowered, but I didn't mean infinite coverage,I just wanted an increase coverage of protection.

I can't quite remember my use for radiocytes, but I remember having I've. I guess they aren't that useful if I can't remember their use.

For your gangliocyte coral retraction example, this is why I have gangliocytes be able to target both cell types and cell modes. At first, it still seems like a problem, but if we can figure out a way to increase cell modes without running into optimization problems, then the problem will be solved, because you could have different modes doing similar functions, and some will be targeted, and some won't.


My ideas for simplification: to reduce the combinations, we keep all of the possible combinations I said, because I would like to create some very complex organisms (more like small creatures, such as the real life hydra), qq d but reduce the account that can be produced by radiation. (Also, out of ocd, I felt the need to correct your math. Because the cell type includes both modes and cell functions, it would actually be 20 * (15 + 10) * 20 * 15 + 10) = 250,000)
cellturtle1134
Posts: 13
Joined: Wed Mar 25, 2015 10:28 pm

Re: a few suggestions

Post by cellturtle1134 » Wed May 20, 2015 3:36 am

Hey can you send me the blister thing? And how did you make it, I have tried without success to make a circle.
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: a few suggestions

Post by Petter » Wed May 20, 2015 9:27 pm

As is mentioned in the video description, this is an updated version of cell lab with new splitting rules so that species will probably not work on the current version of cell lab.

It is though possible to make a circle, I think this genome makes a circle (guessing from the name, I don't have a possibility to test it at the moment so please let me know if it works):
https://www.dropbox.com/s/sg3qxg4jwq16w ... enome?dl=1
merpelicous
Posts: 51
Joined: Fri May 15, 2015 11:12 pm

Re: a few suggestions

Post by merpelicous » Thu May 21, 2015 12:58 am

It worked with a few tweaks.
Did you like my revisions for my ideas in the previous post?
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: a few suggestions

Post by Petter » Thu May 21, 2015 10:27 pm

Great!

I'm not really convinced targeting a specific mode or a cell type is a good idea. Especially targeting a cell type, when would that be more useful than modes? In the coral example, to solve it by having more modes, then each tentacle would need to be it's own mode, thus one would need to do separate programming for each tentacle, that is not what I meant by a scalable solution.

I don't want to make two separate simulations with different cell properties, one with mutations present and one without. This would lead to all kinds of trouble, like certain mutations not showing up as expected, or if the user is aware of this behaviour, what would happen if these special cell properties were present in the cell pool already when mutations turned on? Would mutations be allowed to delete them? Duplicate them if they already exist? This would also have to be explained somehow to not have undefined behaviours. Evolution would not be playing on the same terms as organisms developed by the user. This would add so much complexity I don't think the benefit would be comparable. I'm not sure what you mean by making a hydra but would all those properties be essential for its function?
Post Reply