Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jul 2, 2017 18:43:49 GMT
Hi everyone, I'm sorry if I used the wrong word, my English vocabulary isn't all that great; but this thread is about categorising creatures. I've heard some people talking about implementing an evolutionary tree into the game and I was wondering how the devs would go about this. In order for there to be any evolutionary tree you pretty much have to categorise the creatures in the game into groups (branches). How in depth would that be? Would the creatures be categorised in a manner similarly to real world organisms?
Doing so probably wouldn't even be that hard since we already have a way to measure how much a creature evolves: mutation points. The creatures in the game could be organised into groups based on how much mutation points it would cost to turn a creature into another. So for example, a genus would be a group of creatures within 10 MP of each other, a family would be a group of creatures within 100 MP of each other, etc. A problem about implementing an evolutionary tree into the game would probably be memory space, if a player were to keep playing for long enough the game would have a lot of creatures to keep track of. One way to reduce the memory needed, would be to just delete evolutionary dead ends that the player would never interact with anyway.
Do you think this feature could be implemented right now in the microbe stage? We do have procedural microbes now (I believe). Would we even really want this in the game? And how do you think it could be implemented?
|
|
|
Post by BiologicalSomething on Jul 2, 2017 19:53:47 GMT
Firstly, the memory space problem you are talking about wouldn't even take place, as the game doesn't have to track animations, behaviour, etc. All it needs is a 3D representation, or even 2D if 3D's an issue.
The "groups" would be organised by the mother creature. For example, if two different species didn't evolve from the same animal, they wouldn't be grouped together. Genus's and families would be decided this way as well.
Also, I don't think auto evo has been implemented, as I'm not seeing any difference in the microbes I'm encountering, even after evolving.
:cyclid:
|
|
|
Post by tjwhale on Jul 2, 2017 20:57:39 GMT
I was trying to figure out this exact question the other day and got stuck so if you have ideas I'd love to hear them.
This is a whole dump of what I've been thinking, I hope it's interesting, it might be a bit overwhelming and it's not well structured.
The problem with this is that all the families would overlap. So for example if Species A -> Species B = 8MP and Species B -> Species C = 8 MP and Species A -> Species C = 16 MP are A and C in the same family or not?
Because you could say "B is the centre of the family and so A,B,C are all in the family" or "A is the centre of the family and so A,B are in a family, C is therefore in another family which is B,C, so B is in both."
It's quite complicated.
I was thinking along the lines of tracking by ancestors. So if you have species A and two groups get cut off in different patches and they start to become quite different then a new species branches off from A, call it B, and now you have 2 species connected.
However how do you represent this? Is species A sort of the "origin species" and so B is a child of A? What if both A and B are given adaptations which make them different? Who is the child then?
Also if A never splits but undergoes a huge amount of change (maybe from a cell to an ape, for example) when do you say it's a new species? Surely this is actually a long chain of species but how do you split up the chain?
Maybe for a species A if it gets mutated to be more different than 10 MP then it's now renamed as species B even if it's a continuous line of descent. But then what really is species A? Is it the cell when it starts, or the cell when it's mutated a bit or the cell when it's about to be renamed as B?
Maybe a species is a class of related organisms which has some size.
Maybe a better way to think about it is that descendance is a snapshot in time where each species is new every snapshot and related to it's ancestor. Though of course what do you do when it's the same as it was before?
I'm really not sure.
|
|
|
Post by crodnu on Jul 2, 2017 21:34:54 GMT
What about combining both approaches? We start with some randomly generated and clearly identifiable species (and maybe the player, if the player cell can also branch out from the player evolution). Then the cells mutate randomly, and as long as they mantain themself at X (which could be 0 i guess) mutation points from their original species's first generated creature, they belong to the same species. When they mutate nore than X mutation points from it tho, they become a new species, (with the actual mutated creature being the first generated creature of that species). After that, we could make every creature that descends from the first species and mutates more than X points from it but less than X points from the second one (and appears within some time since the second species first appeared? and/or the second species isn't extinct?) would be considered a part of the second species (if there are two species that the new creature could belong two, then we would pick the closest one). It could also happen that two evolutionary branches lead to similar species, in which case... the game would need to be more complex so it doesn't happen? :/ Finally, we could also "look back" N generations in the evolutionary chain (having a queue of ancestors of sorts), and when some of those ancestors get a significant amout of the current population as its descendents (and maybe chacking that is somewhat different from the original species too?) we call it a new species. That would allow us to (most of the time, hopefully) identify the creature where the most significant change happened, which would be kinda nice, although it sounds kinda expensive in computing power (then again the entire CPA system does so eh). Also, didn't Species: ALRE have an evolutionary tree? we could steal it get inspired by it.
|
|
|
Post by BiologicalSomething on Jul 2, 2017 21:38:45 GMT
What about combining both approaches? We start with some randomly generated and clearly identifiable species (and maybe the player, if the player cell can also branch out from the player evolution). Then the cells mutate randomly, and as long as they mantain themself at X (which could be 0 i guess) mutation points from their original species's first generated creature, they belong to the same species. When they mutate nore than X mutation points from it tho, they become a new species, (with the actual mutated creature being the first generated creature of that species). After that, we could make every creature that descends from the first species and mutates more than X points from it but less than X points from the second one (and appears within some time since the second species first appeared? and/or the second species isn't extinct?) would be considered a part of the second species (if there are two species that the new creature could belong two, then we would pick the closest one). It could also happen that two evolutionary branches lead to similar species, in which case... the game would need to be more complex so it doesn't happen? :/ Finally, we could also "look back" N generations in the evolutionary chain (having a queue of ancestors of sorts), and when some of those ancestors get a significant amout of the current population as its descendents (and maybe chacking that is somewhat different from the original species too?) we call it a new species. That would allow us to (most of the time, hopefully) identify the creature where the most significant change happened, which would be kinda nice, although it sounds kinda expensive in computing power (then again the entire CPA system does so eh). Also, didn't Species: ALRE have an evolutionary tree? we could steal it get inspired by it. Species: ALRE did indeed have an evolutionary tree. If the species aren't connected in the evolutionary tree, the only similarities should be pure coincidence.
|
|
|
Post by tjwhale on Jul 2, 2017 22:48:35 GMT
I guess each genetic code is a point in a high dimensional space.
The first problem is to cluster the points into reasonable larger groups and then to project that down to 2D for a diagram. Maybe it helps if you can recluster at a later time to make more sensible species groups.
The second problem is what to do when two species drift apart and then come back together again. Are they then different or back to being the same?
|
|
|
Post by crodnu on Jul 3, 2017 0:15:50 GMT
I guess each genetic code is a point in a high dimensional space. The first problem is to cluster the points into reasonable larger groups and then to project that down to 2D for a diagram. Maybe it helps if you can recluster at a later time to make more sensible species groups. The second problem is what to do when two species drift apart and then come back together again. Are they then different or back to being the same? I'm not sure what you mean, i was talking about species's distance being measured by mutation points, like it was mentioned earlier in this thread. And the drifting apart and rejoining would make them different species anyway, although, as i said before, if our simulation is complex enough that shouldn't happen too much (otherwise it would mean there is some sort of optimum species that every species tends too).
|
|
|
Post by tjwhale on Jul 3, 2017 8:41:01 GMT
I guess each genetic code is a point in a high dimensional space. The first problem is to cluster the points into reasonable larger groups and then to project that down to 2D for a diagram. Maybe it helps if you can recluster at a later time to make more sensible species groups. The second problem is what to do when two species drift apart and then come back together again. Are they then different or back to being the same? I'm not sure what you mean, i was talking about species's distance being measured by mutation points, like it was mentioned earlier in this thread. And the drifting apart and rejoining would make them different species anyway, although, as i said before, if our simulation is complex enough that shouldn't happen too much (otherwise it would mean there is some sort of optimum species that every species tends too). What I mean by high dimensional space is that say your genes are ATTGCCAT then that's like a coordinate in an 8 dimensional space (there's 8 entries and each one can be A,C,G,T which is like 1,2,3,4). So you're very close to TTTGCCAT as that is only one step away. The distance between the codes is the number of mutations it would take to change one into the other (mutation points) and there's also a sense that some codes are close in this space and others are far (~ like hamming distance). When making an image of it it's probably a good idea if things which are similar (photosynthesizers, for example) end up close together in the image, even if they evolved into being that way by very different mechanisms. That will make sense to people. Say I start with AAAAAAAA and you start with GGGGGGGG and I end up with AAAAGGGG and you end up with AAATGGGG then we should be close in any diagram even though we started really far apart. I suppose if two things are genetically identical then they really are the same species. We might end up with quite a lot of convergent evolution, especially in the microbe stage. Hope that makes sense
|
|
|
Post by crodnu on Jul 3, 2017 17:08:58 GMT
I think it would be easier to calculate the distance between two species algorithmically than trying to find out a distance (because the species could have a different amount of organelles, and those organelles could have a different size, which at least with the current setup would make calculating a distance pretty much impossible).
|
|
samoja
Multicellular
Posts: 26
|
Post by samoja on Jul 4, 2017 20:22:07 GMT
The key here is sexual reproduction, since sexual reproduction leads to significant speed up of genetic recombination and useful gene retention it would probably be a perquisite for more complex organisms (in game represented with way more mutation points and increased cost in said points for more complex organelles/organs) in biology, barring single celled organisms that procreate by division (in which case pretty much any change can be considered new species) the cut off point is when two organisms can no longer procreate and birth fertile young (which is why horses and donkeys or tigers and lions are considered separate species, but wolves and dogs are not). Therefore there should be a cutoff point when two organisms mutated enough away from each other to not be able to reproduce anymore, this could be solved by implementing functional DNA, every organism would have certain numbers of chromosomes, and every change would extend the DNA unless something was removed to compensate, every chromosome could only hold a certain amount of DNA, if there is no space left anew Chromosome would have to be added in order to continue evolving, and that would automatically create new species, since number of chromosomes is a key difference preventing species from multiplying.
|
|