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 7 users online :: 0 Registered, 0 Hidden and 7 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
|
|
| Couple quick ideas | |
|
+14Pezzalis roadkillguy Falthron koiboi59 Invader YourBreakfast PaperGrape US_of_Alaska GamerXA Agrestrife Poisson The Uteen ~sciocont Bashinerox 18 posters | |
Author | Message |
---|
GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 7:53 pm | |
| | |
| | | US_of_Alaska Overall Team Co-Lead
Posts : 1335 Reputation : 29 Join date : 2010-07-07 Age : 31 Location : Australia
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 8:12 pm | |
| - GamerXA wrote:
- OK, I'm confused now...
I think he's trying to say it will be too taxing on computers. | |
| | | GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 8:13 pm | |
| We would only need to simulate the area around the player in a small amount of detail every time they make a skip in time and the areas the player is away from would just be a very generalized version. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 8:17 pm | |
| Not necessarily, I just want to know what the magic algorithm is. | |
| | | GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 8:20 pm | |
| It would not be a magic algorithm so much as a collection of calculation that would then give us the general size of any given species's population and the area that they're in and their density in that area. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 8:26 pm | |
| - roadkillguy wrote:
- Darwinian-ism could be implemented in each generation. We would count up the current numbers of each species, as well as the current rate of change of each species, constantly. After projecting 100,000 years or so, we could then approximate the new amount of species.
This would of course, be highly subject to adjustment. The key here is the rate of change of the species. The only thing it would be good for, however, is the new population of each species. What we were suggesting here is the method by which auto evolution changes your species. | |
| | | eumesmo Regular
Posts : 297 Reputation : 4 Join date : 2010-07-09
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 9:49 pm | |
| well, we can use random mutations and folow the survival of the fittest | |
| | | Pezzalis Regular
Posts : 260 Reputation : 6 Join date : 2010-08-07
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 10:04 pm | |
| What if there was the method I described with the pop ups when in certain environments, repeating certain actions, being predated etc
But it incorporated random mutations as well. Heres a few concepts.
At the start of each generation, the beneficial traits have become stronger depending on what you chose
ie faster swimming.
That could make Dawinian sense, because the faster swimmers were able to escape from this large fish which has been predating on my Froglings. So naturally the average speed of my Frogling has increase. Visually they have larger legs and swimming muscles and are slightly slower on land, as they only have a minor predator on land which is a large and medium speed lizard with poor eyesight. So Froglings with faster swimming due to larger feet and leg muscles have survived and are more frequent in the population instead of slower swimming Froglings because they are more commonly eaten by the fish. In the next generation the average speed of all the Froglings will be faster.
Non beneficial traits will be sparse - Froglings which are slower at swimming die out because they are eaten by the fish. There are not as many in future generations. (Perhaps the game could record how many times yu are eaten/killed by another species and do some calculations on speed/attack/stamina etc and kill off Froglings which have much less of these)
BUT
Random mutations will also occur at the start of each generation. Perhaps (Biologically, I'm not sure how this could be coded) the gene associated with faster swimming also carries a trait which makes you brighter colored and therefore easier to spot by this lizard. This could cause neat changes in game play, giving the player a challenge to adapt to this random mutation. Perhaps this random mutation will have nothing to do with the swimming speed...
One random mutation may be that my Frogling all of a sudden gains an extra tail and can therefore swim faster. This is a beneficial mutation, and I would expect to see more two tailed Froglings in future generations.
Another could be that my Frogling becomes less resistant to the cold which means that I can't stay in the water for as long. The player would have to find a way to modify their species behavior (Basically changing the routine of their species life) to cope with this random mutation. If its non beneficial then they either have to find a process or behavior which takes advantage of the mutation or the species with the mutation will die out and they continue playing as the species without the random mutation.
The random mutation could be presented at the start of the new generation IE
"Your species has attained a trait which enables it to attain more stamina at hotter climates but it is now less resistant to cold environments and will suffer a loss of stamina at a colder temperature."
One solution to this would be to migrate your species. In doing so you are leaving the non-mutated population behind and presenting your species in a new environment, with the possibility of new surrounding species. If you remain in the cold climate, you will have less energy available to escape from predators and will be unable to take advantage of this random mutation. But in moving to a warmer climate you will be better at surviving than in previous generations.
This way it could still stay true to Darwinian while incorporating player controlled direction
I hope this helps =] (But again I am no programmer I can read some source code with some vague idea of what it means but there is no way I could write any :?)
EDIT: May I note that the random mutations will have Nothing to do with your actions | |
| | | US_of_Alaska Overall Team Co-Lead
Posts : 1335 Reputation : 29 Join date : 2010-07-07 Age : 31 Location : Australia
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 11:10 pm | |
| I'm going to stay out of this conversation until we have something to actually test, AutoEvo-wise. I don't see a reason to argue about something that we have no information on yet. Once we have this part of the game, we can run all the different AutoEvo algorithms we can think of. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: Couple quick ideas Sat Sep 18, 2010 11:47 pm | |
| - US_of_Alaska wrote:
- I'm going to stay out of this conversation until we have something to actually test, AutoEvo-wise. I don't see a reason to argue about something that we have no information on yet. Once we have this part of the game, we can run all the different AutoEvo algorithms we can think of.
Yes, but it's still a good idea to plan as it will be the first major part of the game. It's also good that we have other people besides bashi and I working out the nitty-gritty. | |
| | | Commander Keen Industrial Team Lead
Posts : 1123 Reputation : 36 Join date : 2010-07-23 Location : Czech Republic (not that anyone would know where it is...)
| Subject: Re: Couple quick ideas Sun Sep 19, 2010 3:13 am | |
| The best thing we could have would be automatical evolution, even if it would be fully Lamarckian. If that isn't possible, then we should procceed to giving players buttons and the like. | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Sun Sep 19, 2010 4:56 am | |
| - GamerXA wrote:
- It would not be a magic algorithm so much as a collection of calculation that would then give us the general size of any given species's population and the area that they're in and their density in that area.
And what exactly are those collections of calculations? Anyone can say, for instance "so yeah ive got this idea for a flying car." the question in response to that would be: How does it fly? "Oh its got engines to lift it." Cool. What engines? "umm... flying ones?" Or more specifically: What engine does it have? What fuel does it use? What is the compression ratio of the engine? If it's a piston engine, what valve timing are we using? Forced induction or naturally aspirated? What provides thrust? Propelors, or are we using a set of turbojet or turboprop engines? Where on the body of the car do the fuel lines run? How does it keep itself balanced/where is the center of gravity on the vehicle? What method of steering the thing is going to be used? If a joystick, where is it mounted? What is the joystick going to be made of? What fabric is the floor carpet going to be made from? A mechanical engineer cannot make a flying car without all of these details, and many many more. A programmer cannot magically produce an evolution system without DETAILS on HOW to produce it. I'm a programmer. I turn SPECIFICATIONS into CODE. I can't produce anything without a spec. No-one can. | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Sun Sep 19, 2010 6:37 am | |
| - Quote :
- What reasons are there as to why we can't implement it. Darwinian Evolution is merely the Organism's Genetic Profile being modified by random mutation and then automatically being selected for survival by the very function of nature.
Cool. What constitutes a genetic profile? "The genes" WHAT are the genes? How are they represented? What do they affect? - Quote :
- Firstly, Bashinerox, could you list in an orderly manner what problems Darwinian Evolution would cause.
This has actually been explained many times. But ill go into even more detail at the bottom of the post. "if this is going where I think I'm thinking it's going" It doesn't mattter where it is going, and it doesnt matter that Pezzalis talked about a basic choice system with menu choices. S/he went into detailenough detail to produce a tech demo of what s/he is talking about. a short spec of what /she is saying in the first post is something like this: - Spoiler:
- Code:
-
stat variables --> appearance
stat variables determine appearance of various factors such as:
strength --> directly proportional to muscle mass across model
actions --> stat variables
performing actions fill up stat variables
stat variables --> evolution flags
filling up stat variables turn on flags that allow mutation actions
"upgrade menu" --> mutation actions
selecting mutation actions from menu performs them
mutation actions --> stat variables
mutation actions provide stat bonuses
Of course this still does not explain how we get to the point of the "froggy creature" in the post, from a single celled organism. This is why spore produced an organism editor in the first place. You make assumptions about the general structure(s) of a creature, and work from there. Ideas about natural selection on an already existing creature, lets say something like a mammal is just fine, you've got pre-existing structure to provide a reference and bring an evolution system into context. But how exactly do you get up to that point? Especially since the "darwin camp" are the same people stating "yeah we can have blob creatures and multispinal creatures and everything like that, all generated via auto-evo". How exactly do we create such destinction using math? cause thats all computers are. math machines. When you shoot a guy in an fps, all the computer is really doing is calculating the path of a cylinder (the bullet) and testing to see if it's path moves through objects of interest (the enemies). Let's have a bit of roleplay- Spoiler:
Lets say we want to have spinal creatures and blob creatures.
You still make the assumption that all creatures have a spine. The blob creature has a spine, it is just zero-length.
Multiple spines? You split it.
"Oh but i already said that in a post. you have a way to determine stuff like splitting bones"
Okay cool. How? What determines the splitting of the bones?
"If it needs it"
HOW? How do we determine if a bone should be split or not?
"because the random mutation will make it better"
Okay, we're getting closer here. Closer to the problem that is.
What part of the game does the bone splitting affect that make this particular creature better than the rest
"oh thats easy. a physics engine that simulates everything like that."
Sweet. Let me roll out our super-computer. And while i'm at it, lets build an advanced neural network that can drive the creatures properly, and will be perfect in every way, so that it really is the bone that is making the creature better, and not limited in any way by the ability to produce some sort of nueral network to control creature movements within a physics-based environment.
"O...kaaay.... What about we make it so that the bone splitting on a creatures leg into say another leg makes it faster?"
You mean, like a variable? a number that stores the speed of the creature and goes up if the creature gains another leg?
"yeah that could work, could it?"
Oh, i'm afraid not, we're not allowed to use variables. They're too "lamarkian".
"Oh, my bad."
Yes, your bad.
Let's just say then that we're allowing your variables for our darwin system.
And while we're at it, lets start with a simpler example.
How do we get from a point
==============
.
==============
to a creature with legs?
==============
___[] / \
==============
"oh well we add some bones so:"
==============
.
-->
___
==============
"then we mutate legs"
==============
____ / \
==============
Stop right there. We've got some variables, but we've only got these so far: where do bones go?
==============
creature { str int agl }
==============
"no no we're modifying the structure, not the stats. we need the structure too i think"
Really? Wow. Never would have thought of that. Okay, how do we represent the structure?
"well the creature with the spine would have bones, but not all--"
Stop right there.
Ill go back to that question again,
To get from
==============
.
to
____ / \
============== We add bones, yes? But the original cell had none.
The real question from this excersise, is how do we decide that we need bones?
"oh oh i know this one! a variable!"
Close. We use a data structure
==============
bone { x <----coordinates in 3d space. y z length }
============== Now. what decides to add the first bone to the original creature?
"umm. well a random mutation i guess"
Ah, so we have a random number that goes... If this happens, add a bone to the creature's structure.
"yeah that could work!"
Okay, Let me just add a few more bones too, for good measure:
==============
___
==============
Cool. We've got our spine. Now. How does this first bone affect the stats that are being stored, so that the game can use it to move the creature?
"oh well nothing yet we still need legs."
Ah yes, sorry about that, lets add legs to our creature then.
==============
____ / \
==============
Now. How do we change the internal stats so that the creature can move?
"well, the legs make it able to move. so the legs add speed."
And how did you determine that?
"sorry?"
How we tell the computer to recognise these bones with muscles as legs?
"I dont know. Help me out here!"
We make an assumption. We assume that all creatures have a spine, and that bones coming off the spine must be either arms or legs.
For creatures that DONT have spines we create a special case.
"That sounds lamarkian to me."
I'm sure it does. Lamarkian of course is the new buzzword on these forums for anything that isnt a fully physics-based simulation. (Which can't be done.)
Anything that doesn't base everything completely off of physics needs variables to represent the object. weither its something generic like strength, speed agility; or more specific, like "muscle power". You cant just call something lamarkian because it uses variables to track things, because thats what all computer programs do. In fact, a physics based simulation still uses vairables. just different ones. like "position", "mass", "heat" etc. And i'm hungry. I've probably only got half my point across, so ill leave a TL;DR Don't debunk other peoples ideas that contain details if you don't have anything that contains any details. You can't just say "Darwinian evolution is better because its better." Prove it. Produce something that can be called darwinian evolution and provide enough detail that a programmer can make a tech demo from it, within the context of the game. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: Couple quick ideas Sun Sep 19, 2010 11:39 am | |
| | |
| | | GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Sun Sep 19, 2010 7:11 pm | |
| The Darwinian Population Simulation would have Population Center which would contain a number of Organisms of a species and have a certain range that's determined by the behaviour of the Organism, every so often there would be a seed Organism, if the Organism's Behaviour allowed it, that would wander off and form a Population Center of it's own. Another occurrence would be if a Population Centers would split and their would be two. Population Centers will also move over time depending on if their is a scent or if they are just following contours of the land.
The Population Center would grow as the Organisms reproduced and if any other Organism overlaps the Population Center of an Organism they would then interact with eachother. This would be such as eating trees, other Organisms, Hunting, Socializing, Symbiosis, etc. The population would then be subtracted at interval periods of time based on a simulation of the overall ability of the Organisms to evade predators. This would be something along the lines of the speed of both Organisms, which would give an approximation of the time that it would take to catch, any stalking that is used and the terrain such as forests (constituted by dense Tree PopCenters), a hill area or a salt lake. The likeliness of the Organism tripping (if at all possible) is then extrapolated by the terrain, the leg configuration and the time of the chase.
The likeliness of the Organism surviving or dying is then weighed as a percentage. The more of the predatory population the more often at least one of them will have to hunt. If their are no prey PopCenters in range then the Organisms in that PopCenter will likely die of Malnutrition. Water also applies.
The environment and climate will also apply if the Organism requires a certain temperature or altitude (I don't know about that last one). Any possible natural disasters or continental drift and climate change will also change the environments possibly requiring the Organisms in the PopCenters to move.
Inside the Pop Centers genetic drift and mutations will occur that will slowly change the Population depending on the size of the Population that will 'Water Down' the mutations. | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 3:01 am | |
| - GamerXA wrote:
- The Darwinian Population Simulation would have Population Center which would contain a number of Organisms of a species and have a certain range that's determined by the behaviour of the Organism, every so often there would be a seed Organism, if the Organism's Behaviour allowed it, that would wander off and form a Population Center of it's own. Another occurrence would be if a Population Centers would split and their would be two. Population Centers will also move over time depending on if their is a scent or if they are just following contours of the land.
The Population Center would grow as the Organisms reproduced and if any other Organism overlaps the Population Center of an Organism they would then interact with eachother. This would be such as eating trees, other Organisms, Hunting, Socializing, Symbiosis, etc. The population would then be subtracted at interval periods of time based on a simulation of the overall ability of the Organisms to evade predators. This would be something along the lines of the speed of both Organisms, which would give an approximation of the time that it would take to catch, any stalking that is used and the terrain such as forests (constituted by dense Tree PopCenters), a hill area or a salt lake. The likeliness of the Organism tripping (if at all possible) is then extrapolated by the terrain, the leg configuration and the time of the chase.
The likeliness of the Organism surviving or dying is then weighed as a percentage. The more of the predatory population the more often at least one of them will have to hunt. If their are no prey PopCenters in range then the Organisms in that PopCenter will likely die of Malnutrition. Water also applies.
The environment and climate will also apply if the Organism requires a certain temperature or altitude (I don't know about that last one). Any possible natural disasters or continental drift and climate change will also change the environments possibly requiring the Organisms in the PopCenters to move.
Inside the Pop Centers genetic drift and mutations will occur that will slowly change the Population depending on the size of the Population that will 'Water Down' the mutations. And what exactly does all of that have to do with the process of causing an organism to "evolve" (That is, mutation of a species in order to progress) other than "Inside the Pop Centers genetic drift and mutations will occur "? What mutations? What genetic drift? When i ask how you mutate something, saying "with mutations" is not an answer. How does it mutate? How do you get from: . To: __[] / \ ? To put it another way, What is the exact process of mutation from a generic multicelled blob to a fully functional spined creature? How do you modify that blob to make it better? What is the exact process, and all conditions(in the case of lamarkian evultional processes) involved in modifying that blob? In fact this applies to both "darwinian evolution" and "lamarkian evolution" and any auto-evo process so far discussed. Without this information in significant detail, you can't build anything. | |
| | | GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 4:15 am | |
| With Mutations the Organism's Share Code will be modified in a small or large amount semi-randomly. The share code has values such as the radius of almost any given segment of the Organisms body and then only needs the values for which branch (or appendage) a feature is on, the length down the branch and the coördinates around the branch. The coördinates will be changes slightly by adding or subtracting values in random increments and the size of objects will me modify in a similar way. Over time this will cause appendages to move a distance on the body.
The addition of skin between appendages, lengthening or thickening of a bone, modification of the skin parameters (such as thickness roughness, stretching, etc), Organ Doubling, Organ 'Rewiring' (by modification of the internal configuration such as connections, size and generalized function), etc. Other larger changes could occur such as large mutations that may cause an appendage to be doubled at a joint. | |
| | | Pezzalis Regular
Posts : 260 Reputation : 6 Join date : 2010-08-07
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 4:51 am | |
| Ok. Please be warned. This post is long. This post has alot of science which has been poorly converted into poor programming language. I hope this makes sense to you and helps develop the concept - Bashinerox wrote:
How does it mutate?
How do you get from:
.
To:
__[] / \
?
To put it another way,
What is the exact process of mutation from a generic multicelled blob to a fully functional spined creature? How do you modify that blob to make it better? What is the exact process, and all conditions(in the case of lamarkian evultional processes) involved in modifying that blob?
In fact this applies to both "darwinian evolution" and "lamarkian evolution" and any auto-evo process so far discussed.
Without this information in significant detail, you can't build anything.
Well that delves a little more in to the origin of vertabrate/multicelluar organisms. First there were single celled organisms (Well after all of the rather vague organic compound formations but I guess you'll cover that bit in a different section) The single celled organisms survived by feeding on others or gaining energy from sunlight (We could always come up with some more methods of attaining energy). Reproduction was performed via division, and there was not much variation in offspring as there was no sexual reproduction. The only real ways that variation occurred were via mutations. Mutations could just be a random or in this case for gameplays sake a frequent or essential event during division which causes a slightly different offspring (Slight changes to the share code you guys have in mind, ie multiplications of already present intercelluar organelles, slight increase in glucose content depending on what the specific are of the code modified does. Perhaps the player would be able to choose a section to where the mutation -Change in code- applies. *Perhaps*) As much as I know on the topic (Probably not perfect), the first multicelluar organisms were more or less colonies of single celled organisms which benefited in grouping together as they were in larger number. (Strength in numbers, could have been because they all were able to co-operatively bring a larger cell as a food source, Im really not sure). This could be (Possibly) An essential mutation (Change in code) to becoming a grouping, multicellular organism. - Spoiler:
Perhaps you divide at one stage and the random/essential/chosen mutation is a behavioral modification in which the cells exhibit a grouping or flocking behavior. Perhaps it could be a release of a certain chemical which the cell finds attractive (Well thats more or less the science behind it, what the code/programming for it would be, I'm not sure - I am pretty sure that flocking behavior is possible... I mean simple move towards commands but I am no ace at programming, I could be wrong.) This way all the species that divide from this new cell will group together, so the behavior wont really be useful until a few more generations, just present. Seeing as this behavior in the mean time is neither beneficial or non-beneficial, it should remain. When you have enough divisions to produce say 15+ of these grouping cells, you could truly say that one has entered the multicellular stage.
Now that there is a large amount of your species, the main ado for a while would to be co-operatively feeding off larger organisms (But they are still single cells, its just in their behavior to not eat each other... Much... I mean its not as if they are saying "Hey guys look heres another lets kill and eat him yaaaaay!") Its more or less a Well... Ok be warned I REALLY don't know programming. But heres a fake fake fake try.
Attractive chemical=Chem 16 (Probably in a variable radius around your cell )
Player Cell Species= CellType 0
Amoeba= CellType 1
Paramecium= CellType 2
Euglena= CellType 3
And The flocking behaviour could be (Bad program code, yeah be warned)
"If Awareness of Chem 16 is greater than x, Move to "y-micrometers" from CellType 0" "If Awareness of CellType 1 is greater than x, Attack CellType 1" "If Awareness of CellType 2 is greater than x, Attack CellType 2" "If Awareness of CellType 3 is greater than x, Attack CellType 3"
So basically you will play as a group of cells. But they will still be dividing. Soon you could get changes in the share code during division which cause the cells to group even closer together. Ie the radius of required awareness before flocking is smaller, or the distance to stay from the cell is smaller (Ie y-micrometers) therefore the cells will group closer. Seeing as this stage is in a much smaller value, you may see that the cells keeping a further distance are killed off more frequently than the onces keeping tight together. This way the gene pool (Or in this case the average code) of your population of cells will be centered around cells which move tightly together.
Eventually you may find that the cells are grouping much more tightly forming a distinguishable outline (The camera would be zooming out but i guess this is not really related to auto evo)
Now you may get changes to the share code (my word for mutations) really frequently now seeing as you are controlling a colony of 100+ cells that are all dividing every now and again. Some of these could be increased surface area, which is directly proportional to nutirents gained via diffusion (And a cell with a too low or too large surface area will not survive to division)
I really couldn't list many changes to the cell structure as Im not too familiar with this stage of evolution....
Note that this transition from a colony of cells to a 2D/3D Multicelluar organism will be hard with Auto-evo.
What I do know is that (In brief science) many uni celluar organisms grouped together with this grouping behavior I have touched on and soon new generations showed tighter grouping behaviors, some cells developed mutations which enabled them to process food more efficiently, some developed mutations which enables them to excrete toxins at live food, ie stinging cells, many multi celluar colonies formed in ring like shapes in which they had an empty cavity lined with food processing cells, and two long "Tentacles" you could call them made up of cells that moves to surround food and push them towards the cells which digest them, and excrete broken down food substances which are absorbed by the whole colony. It is at this stage where you could call it a single organism.
There is NO doubt that this will be extremely hard to program. There will need to be divisions with random mutations producing "Specialist cells". These cells will some how have to know where they are best suited for distribution in accordance to their trait...
or maybe the player must control this... it could kind of even resemble the organism editor, placing all the specialist cells in the most efficient position due to their trait.
Its kind of like a battlefield, have the spear men at the front, infantry in the middle, archers at the back and the cavalry on the flanks.
It could even be styled as a mini RTS.
But thats more gameplay mechanics...
At some stage this mode will need to go 3d. It will have to be at a point in which your species, for example, resembles something like a hydra (Or something similar to the size of one depending on how the game/player 'builds' it)
Hydra image: (They anchor themselves to places ie seabed) http://images.marinespecies.org/resized/22886_hydra-viridissima-from-pond-near-geneva-switzerland-size-about-5-mm.jpg You can see the individual cells on the tentacles in that image ^
At this stage i would imagine gameplay would be quite boring. Especially if you are an anchored species. All you'd do it wait for food to comeby. They wouldn't reporduce by cells dividing anymore...
Sorry but I dont have much of an idea on this level of gameplay and the incorporation of Auto evo until you are a larger swimming species.
But at some stage in this level, I REALLY dont know how in programming, you would aquire a random mutation which allows you to exchange DNA with alike species (Combine random segments of both the share codes) This is the first emergence of sexual reporduction (Well it could be neccasary bacause you will need varied offspiring. Possibly due to pressures such as virus immunity. But thats wayyyyy off track and will need to be touched over later)
Now! Backbone development... Now... Imagine you are a shrimp like creature (Yeah sorry I skipped an incredibly vital stage but I dont have much knowledge on that area) Perhaps the game could detect and record how many times you are eaten by another organism that has a crushing form of mouth or weapon. IE teeth, crab claws, but not a filter mouth. To become better adapted to surviving a crushing form of damage would for the organism to be harder.
This could occur via a random change to the share code, or if the player is killed enough by this crab for instance, it is common sense to assume that an offspring with a random mutation giving it a harder carapace would be better at surviving the crushing pincer. This could be through a stage in which the player chooses "Increase Carapace Thickness" as a selected pressure in Darwinism. Shrimps with softer carapaces are more easily eaten by the crab, where as shrimp with harder carapaces are harder to crush and will be able to get away easier and hence will be mire frequent in future generations as they survive to pass on their share code (Genes) containing the code for a hard carapace.
In several processes similar to the one above, several changes/mutations/selection pressures to the share code should/could/might add things such as increased thickness of skin, shell, exoskeleton. Eventually things like cartilidge and bone may start to emerge. again this section is rather vague.
But it is a similar process to the one with the shrimp and crab. Eventually it may be found that as more crush damage is exerted on your species, more frequently, organisms with harder or stronger structures, such as backbones, shells, carapaces etc will be much better at surviving and will hence be much more present in the population.
Basically......
Damage taken from crush damage such as bites, strikes, blunts, pincers, graspers, stomps, should be associated with the hardness of the creatures skeleton. Be it an internal, external, a shell etc.
Species skeletons which frequently take crush damage will over time become harder as the softer skeletons have been selected against.
Again. BAD PROGRAMMING CODE. BE WARNED
"If Crush Damage Frequency = 5 per generation, Increase Skeleton Hardness variable by 1" "If Skeleton Hardness Variable = 5, Give option of [Increase Skeleton Hardness]"
And for Damage: "Crushdamage = AttackerStrength.AttackerCrushWeaponHardness.Attacker[insert-additional-variables-here] / DefenderSkeletonHardness.[Anythingelsesrelevant]"
Skeleton is a word I'm using to apply to all forms of structure/defence.
Well... Im really sorry for this horribly long and painful post. I hope atleast say 3% of it has made sense and is relevant and could possibly help future developments. I know i really didnt touch much on the actual programming of the Auto evo in the early celluar/multicelluar stages but I hope that the ideas I've brought up could help turn this idea into programming :] Thanks for reading And sorry MOD: Spoiler tags are your friend | |
| | | GamerXA Regular
Posts : 285 Reputation : 12 Join date : 2010-07-06 Age : 36 Location : Australia, Queensland
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 5:04 am | |
| - Quote :
- This could occur via a random change to the share code, or if the player is killed enough by this crab for instance, it is common sense to assume that an offspring with a random mutation giving it a harder carapace would be better at surviving the crushing pincer. This could be through a stage in which the player chooses "Increase Carapace Thickness" as a selected pressure in Darwinism. Shrimps with softer carapaces are more easily eaten by the crab, where as shrimp with harder carapaces are harder to crush and will be able to get away easier and hence will be mire frequent in future generations as they survive to pass on their share code (Genes) containing the code for a hard carapace.
This presents a few problems. How would the Program know that the Organism should increase the thickness, unless your suggesting a generalized field were many many options for evolution are present. But then this would be extremely difficult to program in terms of knowing where and what everything is, in fact, it's pretty much the same problem that Spore had. The immense size of such a window would also present a horrible UI. Given the versatility in which we are trying to create the OE, this would mean that we would have to revert to something like what Spore is. The Program would not know what the shell of the Organism is and even most likely what the cause of death of the Organism was, at least in enough detail to comprehend that it was crushed by another Organisms jaw. If I accidentally misread your post and went off on a completely different tangent... Oops. | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 6:57 am | |
| - GamerXA wrote:
- With Mutations the Organism's Share Code will be modified in a small or large amount semi-randomly. The share code has values such as the radius of almost any given segment of the Organisms body and then only needs the values for which branch (or appendage) a feature is on, the length down the branch and the coördinates around the branch. The coördinates will be changes slightly by adding or subtracting values in random increments and the size of objects will me modify in a similar way. Over time this will cause appendages to move a distance on the body.
The addition of skin between appendages, lengthening or thickening of a bone, modification of the skin parameters (such as thickness roughness, stretching, etc), Organ Doubling, Organ 'Rewiring' (by modification of the internal configuration such as connections, size and generalized function), etc. Other larger changes could occur such as large mutations that may cause an appendage to be doubled at a joint. This presents a few problems. How would the Program know how to convert the "share codes" into performance values, unless your suggesting a generalized field where many options for organism performance are present. . But then this would be extremely difficult to program in terms of knowing where and what everything is, in fact, it's pretty much the same problem that Pezzalis had. The immense size of such a system would also present lamarkian evolution apparently. Apparently we are not supposed to even have an OE, as auto-evo is supposed to negate that . The Program would know what the shell of the Organism is and even most likely what the cause of death of the Organism was, in enough detail to comprehend that it was crushed by another Organisms jaw, because that has nothing to do with anything being discussed here, actually. If I accidentally misread your post and went off on a completely different tangent... Oops. | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 7:33 am | |
| - Quote :
Now! Backbone development... Now... Imagine you are a shrimp like creature (Yeah sorry I skipped an incredibly vital stage but I dont have much knowledge on that area)
as the amount of cells increases into to the hundreds, the camera continues to zoom out, and behind the scenes, the multiple cells get turned into a single entity. This entity has a single bone that is of length 0. You can go from there
Last edited by Bashinerox on Mon Sep 20, 2010 8:25 pm; edited 1 time in total | |
| | | eumesmo Regular
Posts : 297 Reputation : 4 Join date : 2010-07-09
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 2:40 pm | |
| bashinerox, lets not think bout looking good or not, the creatures and all components and positions can be reduced to a stream of code that can be reassembled, right?
so lets assume we have something like a a starting blob, with a simple feeding organ and movement part: ()
now, there would be the possibility in certain modes for you to add a simple bone structure that would trigger mutations in it obviously. So lets do some random math in the initial stream of code. you add a simple vestigial bone in the creature. (.)
we can get 5 basic possibilities for the edits: add(adds a basic unit), increase, decrease, remove and clone. if the object goes smaller then too much or becomes unneeded. a underwater creature would get mutations in the breathing system to go to land.
now after some generations the central bone gets larger by a increase in the size (|)
good, now we have a basic creature that would lets say get larger and with a head
(|) (|) (|) (|)
we can have a couple of basic things like a variable of nº of spines. a special case for a blob, a one spined creature and one with more then one. we also need a array for limbs and a set of variables to see if boneless, with bone or exoskeleton. our creature has gotten a bit smaller and with a exoskeleton since the atmospheric pressure made those with those mutations more likely to survive.
(-) (-) (-)
notice that the split caused other species to develop...
now your species gets a improved feeding system since those with suffered a change in the stream to add that fed more efficiently so they overrun the previous species (-) (-) (-) -º-
now the creature gets limbs, they are usually symetric or t the center, but they can have small independent changes.... the creature gets 2 legs at first and 2 later in a mutation that added an extra set of limbs -(-)- -(-)- -º-
and you have there a insect like creature this ll be done by several changes over many generations and could and up with other results. notice that we can start with some preset variables like size, bones, exoskeleton and nº and proprieties of limbs
i see this wont be probably a perfect post but i'll update later | |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Mon Sep 20, 2010 8:40 pm | |
| - eumesmo wrote:
Summary on what evolution is
what determines what creatures live and die? Okay, How do we determine that (|) (|) Is better than (|) (|) mm? Ill answer that one for you. A fitness algorithm (a mathematical equation, or sets of equations, that determine how well a creature performs) Regardless of weither it is used to produce the "stats" of each creature object or weither it is used as part of a selection process between generations like pretty much all other genetic algorithms you need a bunch of inputs an equation or mutliple equations and a bunch of outputs So then what are these inputs, and what is the equation that produces the outputs? and something like "the efficiency of its leg" is not an answer. How do you determine the efficiency of a leg? how do you determine what a leg is? | |
| | | eumesmo Regular
Posts : 297 Reputation : 4 Join date : 2010-07-09
| Subject: Re: Couple quick ideas Tue Sep 21, 2010 9:51 am | |
| (|) (|) is more efficient then something else if it is more successful in surviving, eating and passing his genes to the next generation . that would need to take in consideration, attack, defense, size, speed, senses, reproducing rate, breathing capacity, eating efficiency (developed digestive organs can get more energy with less food) and the required input energy.
if the species A is stronger and has more eating efficiency, but needs more energy and reproduces slower then B, it MIGHT make B fittest. i think the output should be a value from 0 to 1 from some key values that we should have when basing in what we know of carbon based life forms.
about the leg. We should be able to make LIMBS. A limb is considered a leg by the computer when: A) is touching the ground and or B) has a feet class object in it.
LIMBS can be boneless or with bone and or exoskeleton... they might also have texture skins in them to define some things like thermo or photosynthesis .
a feet class object might be a "foot" or just a marker, but if the thing is in contact with the ground, then the program should auto assume a feet tag in that limb. Notice a LEG might become a arm for several reasons like player interference, random mutation or just the fact that they stop having them in the ground unchecks them as legs.
without leg it'd walk like a snake or a worm (this in land)
it's efficiency can be calculated by making a ball and stick model walk in a straight line in a artificial scenario, giving the model the strength that comes from the muscles or any structure that it has. Please consider that simulating that movement, giving it the muscles, size and feet (if not nil) in a background scenario wouldn't be that heavy since it's a simpler model of one single creature in a straight path and then in a couple of different inclinations
| |
| | | Bashinerox Programming Team lead
Posts : 238 Reputation : 8 Join date : 2010-07-07 Age : 35 Location : Australia
| Subject: Re: Couple quick ideas Tue Sep 21, 2010 7:41 pm | |
| I dont know why i keep making it posssible to dodge the quetsion, so i'll be short and sweet this time. Please complete the following: - Code:
-
fitness =
| |
| | | Sponsored content
| Subject: Re: Couple quick ideas | |
| |
| | | | Couple quick ideas | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |