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 2 users online :: 0 Registered, 0 Hidden and 2 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
|
|
| NPC Auto-Evo Thread | |
|
+20NickTheNick Zetal GamerXA tklarenb Dr_Chillgood GhengopelALPHA Redstar guitar999111 Seregon Tenebrarum Commander Keen ADMIN GalvinNerth US_of_Alaska roadkillguy Mysterious_Calligrapher AIs-null The Uteen Pezzalis ~sciocont 24 posters | |
Author | Message |
---|
Tenebrarum Society Team Lead
Posts : 1179 Reputation : 32 Join date : 2010-10-01 Age : 31 Location : ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
| Subject: Re: NPC Auto-Evo Thread Tue Jun 28, 2011 12:53 am | |
| Okay, I read through the entire thread, and I really can't see any problems, except one.
If low trophic levels have an automatically increased chance of mutation, than producers (e.g. Plants) are going to mutate much faster than they do irl. Many organisms irl reach a point where they are so successful that any change in the environment has to be SUPER MEGA TOTALLY DIFFERENT TYPE DEALY-OH in order to significantly effect the populations. Also note that when dealing with plants in particular, they can be fed off of without killing the plant itself, and in some cases the plant case even use this to it's advantage. (Pollination for example)
Is this relevent or is this base already covered? | |
| | | Mysterious_Calligrapher Biome Team Lead
Posts : 1034 Reputation : 26 Join date : 2010-11-26 Age : 32 Location : Earth, the solar system, the milky way...
| Subject: Re: NPC Auto-Evo Thread Tue Jun 28, 2011 12:24 pm | |
| - Tenebrarum wrote:
- Okay, I read through the entire thread, and I really can't see any problems, except one.
If low trophic levels have an automatically increased chance of mutation, than producers (e.g. Plants) are going to mutate much faster than they do irl. Many organisms irl reach a point where they are so successful that any change in the environment has to be SUPER MEGA TOTALLY DIFFERENT TYPE DEALY-OH in order to significantly effect the populations. Also note that when dealing with plants in particular, they can be fed off of without killing the plant itself, and in some cases the plant case even use this to it's advantage. (Pollination for example)
Is this relevent or is this base already covered? Hadn't done the plant's perspective, now that I think of it. I suppose some things (fruit, for example) it would be easy to say that eating it doesn't really damage the plant. It was mentioned over in niches (in the context of uberspecialization) that some things would end up 'stuck' wherever they were... I need to go find that thread now, I forget what the conclusion there was. Gottem. Thread is here, conclusions as I read them were more or less along the lines of: 1) Evolution on speed is OK, (me) as we don't want the player to sit through a milion hours of gameplay just to progress from gills to rudimentary lungs. Same for plants - species diversification will happen, so that a sucessfull model will be able to cover multiple more specific niches. (Think sharks. How many varieties of shark do you see? Though they're possibly the most sucessful vertibrate groups of species ever, you can bet your Carcaradon Megalodon and Great White that it wasn't the same species all the time - when the environment around them changes, even a little, they adapt seamlessly.) < Point #2 was in there, somewhere. 3) I need to do pollination. Gah. Scio, what's the verdict on insects and how fast can you hand me the concept? 4) Population dynamics and the food chain is still our best bet for giving a bit of a shake to an otherwise stagnant top predator species. For example, something cuts down on the population of rabbits: the population of rabbit-dependent predators (anything for whom rabbits are tagged as over a certain % of their food) goes down. They can either get better at catching more rabbits, start eating more squirrels instead, or try a totally new food, like toads. Dunno if that answers the question entirely. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Tue Jun 28, 2011 1:34 pm | |
| @scio, I think I see now. However, I think populations should be evo points after being modified.. It threw me off for a bit.
I might put this into code sometime. It's good to write pseudo-code first.
I started with this:
*Randomize all organisms Check for conflicts between organisms When conflict is found, modify evo-points based on conflict *Evolve organisms Update Niches Calculate populations
*But then I realized the conflicting evolution pattern. Do we evolve twice? Conflicts cannot be found without first evolving some organisms.
Should it be this?:
Randomize one randomly selected organism Check for conflicts between selected organism and others When conflict is found, modify evo-points based on conflict *Randomize other organisms (How many?) Update Niches Calculate populations
*Wouldn't we need to check after this? At what point would we stop checking/looping through this? It's a standard recursion problem.
I'm not trying to destroy this idea, I think it's really good, there's just some programmatical issues that need to be solved out first. | |
| | | The Uteen Sandbox Team Lead
Posts : 1476 Reputation : 70 Join date : 2010-07-06 Age : 28 Location : England, Virgo Supercluster
| Subject: Re: NPC Auto-Evo Thread Tue Jun 28, 2011 2:41 pm | |
| Also a biological correctness issue. - ~sciocont wrote:
- So say the frog becomes toxic. An eagle, a large lizard and a snake all rely on the frog as a food resource. This means that each of these animals gets a heightened chance of evolving, say 10x more likely.
It's not that simple... The consumers of that creature, assuming they have multiple food sources, should be able to eat quite a few of these creatures without getting dangerous levels of toxins. It's the things that eat them that should be worrying. If they eat lots of those creatures with small amounts of the toxins in them, the toxins can build up in its body and eventually kill it. I know it isn't that big of a thing, but it stood out to me because I had a lesson on it quite a long time ago. But that's not the point, the point is: How does the mutations rates system work in this situation? The primary predators of the toxin-wielding frog should be more healthy with the resistance, but it is in fact, those predators above them that are at risk, even though they are not directly eating the toxin frog. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Tue Jun 28, 2011 3:07 pm | |
| - roadkillguy wrote:
- @scio, I think I see now. However, I think populations should be evo points after being modified.. It threw me off for a bit.
I might put this into code sometime. It's good to write pseudo-code first.
I started with this:
*Randomize all organisms Check for conflicts between organisms When conflict is found, modify evo-points based on conflict *Evolve organisms Update Niches Calculate populations
*But then I realized the conflicting evolution pattern. Do we evolve twice? Conflicts cannot be found without first evolving some organisms.
Should it be this?:
Randomize one randomly selected organism Check for conflicts between selected organism and others When conflict is found, modify evo-points based on conflict *Randomize other organisms (How many?) Update Niches Calculate populations
*Wouldn't we need to check after this? At what point would we stop checking/looping through this? It's a standard recursion problem.
I'm not trying to destroy this idea, I think it's really good, there's just some programmatical issues that need to be solved out first. I believe this was basically answered in my first longpost on the subject, but it may not have been clear. The first mutation will be given out randomly, with each species getting a chance to evolve based on their population. Only one species can evolve per generation. If a mutation creates a conflict, the orgs affected get heightened chances of evolving (based on multiplying their population [your evo points]) If one of those orgs affected is chosen, they can have a reaction mutation. Then the process continues. If one of those orgs does not mutate, then a different org gets a random mutation, and we're back to where it started. Remember, only one org mutated in a generation. @Uteen- we're talking kill-your-Belgium-off poison dart frog toxins, not Methylmercury and DDT. In evolution, toxins like that don't help your creature survive and reproduce. @Tenebrarum- we can adjust population multipliers by trophic level- lower levels can get significantly lower bonuses when they have a chance to react. @Calli- what do you mean "verdict on insects"? | |
| | | Mysterious_Calligrapher Biome Team Lead
Posts : 1034 Reputation : 26 Join date : 2010-11-26 Age : 32 Location : Earth, the solar system, the milky way...
| Subject: Re: NPC Auto-Evo Thread Wed Jun 29, 2011 10:15 am | |
| - ~sciocont wrote:
- I believe this was basically answered in my first longpost on the subject, but it may not have been clear. Let me ask some questions then.
The first mutation will be given out randomly, with each species getting a chance to evolve based on their population. Only one species can evolve per generation.I am only assuming that this means one species per biome. I will figure out later what this means to our transient species, as they kind of throw off the one biome=one food web model, and they will obviously adapt as well. Also, how many species are we looking at here? If we have a biome with, say, 5 species (which wouldn't be viable - every creature needs at least two potential food sources) then this would make sense. The reality? We're probably going to have to have upwards of 10 plant species and a minimum of 6 animal species, and I think maybe having a plant and an animal evolve would fit much better. Not all mutations will be predator/prey types - and some could potentially open up a new niche.
If a mutation creates a conflict, the orgs affected get heightened chances of evolving (based on multiplying their population [your evo points])Again, assuming that each org. affected has a heightened chance of evolving the next generation after they are affected, we need to have more than one org able to evolve. For example, a wolf learns a behavior that allows it to be more successful in hunting and eating it's three primary food species: Deer, rabbits, and sheep. Deer, rabbits and sheep all have their populations go down for the generation, because they are being eaten more. If only one of these creatures could evolve, how would we decide which one? The one that's the primary food source? But if deer is 40%, sheep is 40%, and rabbits are 20%, we have an issue. Should deer evolve in one generation? or should Sheep? What about the other creature that relies on sheep as it's major food source - the shepherd? If sheep are 50% of the (admittedly omnivorous) shepherd's diet, then a decline in sheep is going to affect it more seriously than the wolves, who can eat two other creatures. So the shepherd could also evolve, because it's food source has been disturbed, theoretically. Just questions. But they are revelant to the niches system and to population dynamics - and population dynamics has already been confirmed as the only way to do all of this math.
If one of those orgs affected is chosen, they can have a reaction mutation. Then the process continues. Essentially, you can go several generations before the deer get faster and can outrun the new wolves. This actually makes some sense, but we need to be careful about how we adjust the chances. We don't want it to still be full-on random, but we don't need two species to be locked in an arms race, with no other creature able to adapt.
If one of those orgs does not mutate, then a different org gets a random mutation, and we're back to where it started.
Remember, only one org mutated in a generation. Sorry, going to have to scrap that, at least in the case of disturbances. For plain population dynamics pressures, we could make it work, but if you suddenly have my volcano erupt in the middle of your savannah, you have at the outside three or four generations for a minimum of 15 plant and animal species to flee, adapt, or die. Not every volcano will or should cause the extinction of an entire biome. And this isn't even talking about my ice ages and global warming either, though those would admittedly have a slower onset. There's also a bunch of other biome-specific things that cause evolution pressure across the board. They've been discussed; loss of a non-living resource (water, salt, some sort of geographical shelter) and isolation will drive up evolution pressures on each species, and in many cases it won't have anything to do with the food chain - creatures too large, or consuming too many resources, will die out on an island within a very short amount of generations unless more than one species can, say, adapt to be smaller overall, at a time.
@Uteen- we're talking kill-your-Belgium-off poison dart frog toxins, not Methylmercury and DDT. In evolution, toxins like that don't help your creature survive and reproduce. Actually, DDT inhibits reproduction. Hi, Uteen!
@Tenebrarum- we can adjust population multipliers by trophic level- lower levels can get significantly lower bonuses when they have a chance to react.
@Calli- what do you mean "verdict on insects"? Scio: Are we bothering with insects, was more or less the question. Or are we just passing over bugs + pollination + bug-transmitted diseases + I'm not doing the belgiumming numbers for them + what if someone wants to be a mayfly? Because I can just do a giant handwave over population and say "it happens" and that flowers mysteriously get pollinated and become fruit, but there may be issues with that which I haven't foreseen. I know it's been discussed... somewhere... | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Wed Jun 29, 2011 12:50 pm | |
| So this is more like it:
Randomize one randomly selected organism Check for conflicts between selected organism and others When conflict is found, solve it randomly. If the solution makes another conflict, solve it too. Calculate populations
It would then recursively (look it up if you don't know what that means) check all other organisms until the ecosystem is stable again.
If the ecosystem of your biome is destroyed, I believe the game should let the player know how and what happened.. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Wed Jun 29, 2011 2:41 pm | |
| @cali Only one species per Biome, # of species in a biome is part of the Biome's properties. # of species = number of niches. Some niches will have the same definition (3 small herbivores in a biome). Those niches don't have to be filled all the time But you obviously need to have enough in each trophic level for a stable biome.
Only one mutation per generation, a two mutation generation might be thrown in randomly, but not because of anything.
The limited probability of evolving negates arms races as being the norm.
If a volcano erupts or disaster occurs, the biome will be hit hard, just as in real life. I see no reason to speed up mutations because of a disaster, because that doesn't happen in the real world. extinctions must occur and biomes must fall. Nothing is forever. If a supervolcano erupts and wipes out your entire species, tough Belgium. This game is about life, and life isn't easy.
DDT only inhibits reproduction in the osprey because it thins out their egg shells. Its effect is really of no consequence.
@ Roadkill- the game doesn't solve all conflicts. A check for stability is good, but if mutations are random, what will it affect? If you biome dies, you'll probably know a bit about it, but a mutation log would be good and easy, and probably necessary. | |
| | | Mysterious_Calligrapher Biome Team Lead
Posts : 1034 Reputation : 26 Join date : 2010-11-26 Age : 32 Location : Earth, the solar system, the milky way...
| Subject: Re: NPC Auto-Evo Thread Wed Jun 29, 2011 9:52 pm | |
| - ~sciocont wrote:
- If a volcano erupts or disaster occurs, the biome will be hit hard, just as in real life. I see no reason to speed up mutations because of a disaster, because that doesn't happen in the real world. extinctions must occur and biomes must fall. Nothing is forever. If a supervolcano erupts and wipes out your entire species, tough Belgium. This game is about life, and life isn't easy.
That isn't speeding up evolution, Scio. That's giving us the chance that more than one species in your biome could survive. If only one species out of 20 is allowed to respond to a situation in the "adapt, move or die" scenario, our whole planet is going to die. Simple math example: you have a continent with three biomes. A volcano erupts over three of them. Only three species live. Two are animals, one is a plant. Game over for your continent. In real life, far more plant species would survive or re-colonize, because they have seeds that are borne by water and wind, and can emerge from under the ash. Arbitrarily deciding that only one species out of a biome can survive is bunk. I'm not talking about the dinosarurs here. I'm talking about a situation in which, say, a river dries up. There are 40 species, plant and animal, in the biome. 2 are currently marked transient. Those two probably won't be killed off unless there is no other location in which their required water resources are, but out of the remaining 38, it makes no sense for 37 to go extinct - the plants in that area will die off, though probably not the species: plant species can span multiple biomes, due to secession. However, if you have, say, 14 animal species hanging out, you need to allow for the possibility that more than one of these species might survive. Assigning different probabilities of evolution due to different trophic levels is fine for normal evolution, but when it comes to true adaptability, it means squat. You need multiple trophic levels for life - even bacteria have producers and consumers. Anyhow, my point was that selection pressures due to disasters affect all organisms - you really can't line them up and have one species respond per generation. We need some sort of middle ground where everything is slightly more likely to have adaptation x - enough that things will still be dying off, especially if the computer chooses that their adaptation for the generation is not the right one, but we still need the ability for a temporary "multiple species can adapt thusly" situation. I'm not guaranteeing that lots of things will survive, but we do need a certain amount of give to keep it realistic to life - which can be pretty darn resilient when it has to be. Listen to your ecologist, I'm getting a degree in this stuff. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Wed Jun 29, 2011 10:13 pm | |
| - Mysterious_Calligrapher wrote:
- ~sciocont wrote:
- If a volcano erupts or disaster occurs, the biome will be hit hard, just as in real life. I see no reason to speed up mutations because of a disaster, because that doesn't happen in the real world. extinctions must occur and biomes must fall. Nothing is forever. If a supervolcano erupts and wipes out your entire species, tough Belgium. This game is about life, and life isn't easy.
That isn't speeding up evolution, Scio. That's giving us the chance that more than one species in your biome could survive. If only one species out of 20 is allowed to respond to a situation in the "adapt, move or die" scenario, our whole planet is going to die. Simple math example: you have a continent with three biomes. A volcano erupts over three of them. Only three species live. Two are animals, one is a plant. Game over for your continent. In real life, far more plant species would survive or re-colonize, because they have seeds that are borne by water and wind, and can emerge from under the ash. Arbitrarily deciding that only one species out of a biome can survive is bunk.
I'm not talking about the dinosarurs here. I'm talking about a situation in which, say, a river dries up. There are 40 species, plant and animal, in the biome. 2 are currently marked transient. Those two probably won't be killed off unless there is no other location in which their required water resources are, but out of the remaining 38, it makes no sense for 37 to go extinct - the plants in that area will die off, though probably not the species: plant species can span multiple biomes, due to secession. However, if you have, say, 14 animal species hanging out, you need to allow for the possibility that more than one of these species might survive. Assigning different probabilities of evolution due to different trophic levels is fine for normal evolution, but when it comes to true adaptability, it means squat. You need multiple trophic levels for life - even bacteria have producers and consumers.
Anyhow, my point was that selection pressures due to disasters affect all organisms - you really can't line them up and have one species respond per generation. We need some sort of middle ground where everything is slightly more likely to have adaptation x - enough that things will still be dying off, especially if the computer chooses that their adaptation for the generation is not the right one, but we still need the ability for a temporary "multiple species can adapt thusly" situation. I'm not guaranteeing that lots of things will survive, but we do need a certain amount of give to keep it realistic to life - which can be pretty darn resilient when it has to be.
Listen to your ecologist, I'm getting a degree in this stuff. I agree with this. Disasters would be ridiculous. | |
| | | 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: NPC Auto-Evo Thread Thu Jun 30, 2011 4:48 am | |
| More infuriating than ridiculous, but still. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 11:35 am | |
| Sure, why not. As we speak I'm writing a function that basically takes an organism, and places it in the appropriate niche. - Code:
-
Niche * Biome::checkOrganism(Organism * _organism) { for(int i = 0;i < m_nicheNum;i ++) //THIS MEANS GO THROUGH ALL THE NICHES { Niche * niche = m_nicheList[i]; //IGNORE THIS //NOW WHAT? } } Now what? We need some sort of unfitness score that tells us how unfit our current organism is for the current niche. We would then place the organism in the niche with the smallest unfit score. This is back to bashinerox's question: fitness = ? Basically, what exactly ARE the properties the niches describe, and HOW will we compare them to an organism?
Last edited by roadkillguy on Thu Jun 30, 2011 4:18 pm; edited 3 times in total | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 4:11 pm | |
| The problem with more than one mutation at once means that situations get very complex very fast. Adding in two mutations per generation could result in some extreme conflicts. What if the frog and the snake evolve at the same time? NOW, the chance for an arms race becomes much higher. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 4:14 pm | |
| What is your definition of an arms race? | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 6:43 pm | |
| - roadkillguy wrote:
- What is your definition of an arms race?
A long chain of evolution by only two or three species who all react to one another's mutations, shutting out progress for others. | |
| | | Tenebrarum Society Team Lead
Posts : 1179 Reputation : 32 Join date : 2010-10-01 Age : 31 Location : ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 7:21 pm | |
| Solution to arms race: Arbitrarily stop it.
Guys, we are making the code here. We have control over this stuff. Just set it up so that if two or three organisms are getting all the mutations, just decrease the likelyhood of them getting the mutations next time round, to zero if nessicary.
Admitidly, this would presumably hurt their population, but they can always move.
And besides, we're just saying "mutations," not "adaptations." There's no garuntee that any mutation will be beneficial. Some may even be detrimental.
That brings up another problem: we still haven't descided how we're going to descide what works and what doesn't in terms of mutations outside of either lamarkian "pre-program EVERYTHING" or Darwinian "simulate EVERYTHING." | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 8:03 pm | |
| So does this happen during a single generation? If do nothing was one of the random solutions, it would stop itself. It's just a matter of ending a recursive loop.
*ahem* fitness = ? | |
| | | Tenebrarum Society Team Lead
Posts : 1179 Reputation : 32 Join date : 2010-10-01 Age : 31 Location : ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 8:13 pm | |
| - roadkillguy wrote:
- *ahem* fitness = ?
QF Belgiuming T We need to get on this guys. It's the only way to actually determine evolution. The way I see it, we need to run simulations. This is how all evolution sims work. There's no way around it. Now, we can do this in two ways I think. Either collect survival rates while the player is running around in-game, or run the numbers in the background at some point, without rendering the graphics/sounds. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 8:29 pm | |
| Apparently we've been building a bunch of preset biomes and their niches, and we can get organism data, so it's just a matter of comparison.
I just need to know what data we're comparing. I.E. Abilities such as walking, swimming, climbing or flying. (Or whatever else the niches can define)
| |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 10:25 pm | |
| - roadkillguy wrote:
- Apparently we've been building a bunch of preset biomes and their niches, and we can get organism data, so it's just a matter of comparison.
I just need to know what data we're comparing. I.E. Abilities such as walking, swimming, climbing or flying. (Or whatever else the niches can define)
Ok, we can up the mutation count. It make things more complicated, but I guess not by too much, and you've shown there is a good reason to do so. You're completely right. We need to make a list of different traits that define niches. The way i think we should determine fitness is a simple system- if it works, we keep it. -As long as an org meets all of the requirements for its niche, it can stay there. -Specials like extra methods of movement, special abilities (poison, etc.) give it an advantage if its niche is challenged by another org -if an orgs niche is challenged, it is allowed a reaction mutation chance the same as any other org affected by another orgs mutation. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Thu Jun 30, 2011 10:38 pm | |
| So there should be a bonus attribute list, and a required attribute list.
We should make a list of possible attributes, and each niche needs to define a selection of those attributes as bonus or required. | |
| | | Mysterious_Calligrapher Biome Team Lead
Posts : 1034 Reputation : 26 Join date : 2010-11-26 Age : 32 Location : Earth, the solar system, the milky way...
| Subject: Re: NPC Auto-Evo Thread Fri Jul 01, 2011 11:09 am | |
| - roadkillguy wrote:
- So there should be a bonus attribute list, and a required attribute list.
We should make a list of possible attributes, and each niche needs to define a selection of those attributes as bonus or required. Been through that. Came up with the only way is to have a list of properties of an attribute, rather than required attributes per niche in a biome. Mostly because the first way is shorter. @ the current moment, we're working on simply gathering enough biomes to be able to cover all ranges of development, temperature/altitude and precipitation that the game can have. Meaning I haven't even started on niches yet. Figure out what we want to program, niche wise, and we'll toss the concept back and forth until something works. For now, I'm trying to figure out the minimum number of niches required for each sucession stage. (More can and will be attatched. So far, my min. requirements are Stage 1plant species min: 4 transient niches open min: 2 resident niches open herbivore min: 1 I still need to do some maths and toss this around until I figure out if this would work. I'm thinking that the [i]absolute[i] minimum number of plant and animal niches open per biome is going to have to be closer to 10 than seven in the end. | |
| | | roadkillguy Experienced
Posts : 528 Reputation : 17 Join date : 2010-08-25 Age : 31 Location : Rhode Island
| Subject: Re: NPC Auto-Evo Thread Fri Jul 01, 2011 1:08 pm | |
| This is what I have so far: - Code:
-
int main(int _argc, char ** _argv) { Biome * biome = new Biome(10, 10); //MAX 10 NICHES, MAX 10 MAX RESOURCES Niche * niche; niche = new Niche("Land Creature"); niche->addAttribute(ANIM_ATTRIB_CAN_WALK, true); //WALKING IS REQUIRED niche->addAttribute(ANIM_ATTRIB_CAN_SWIM, false); //SWIMMING IS A BONUS biome->addNiche(niche); niche2 = new Niche("Tree Dweller"); niche2->addAttribute(ANIM_ATTRIB_CAN_WALK, true); //WALKING IS REQUIRED niche2->addAttribute(ANIM_ATTRIB_CAN_CLIMB, true); //CLIMBING IS REQUIRED biome->addNiche(niche2); Organism * organism = new Organism("Walky"); organism->addAttribute(ANIM_ATTRIB_CAN_WALK); //CAN WALK biome->checkOrganism(organism); Organism * organism2 = new Organism("Amphibian"); organism2->addAttribute(ANIM_ATTRIB_CAN_WALK); //CAN WALK organism2->addAttribute(ANIM_ATTRIB_CAN_SWIM); //CAN SWIM biome->checkOrganism(organism2); Organism * organism3 = new Organism("Swimmy"); organism3->addAttribute(ANIM_ATTRIB_CAN_SWIM); //CAN SWIM biome->checkOrganism(organism3); delete biome; delete niche; delete niche2; delete organism; delete organism2; delete organism3; exit(0); } This is what it outputs: - Code:
-
Organism Walky (0x8f2c130) was added to niche Land Creature with a score of 0.5 Organism Amphibian (0x8f2c1b8) replaced organism Walky in niche Land Creature with a score of 0 Organism Walky (0x8f2c130) couldn't be added to any niche. Organism Swimmy (0x8f2c220) couldn't be added to any niche.
Thusly, because the niche Land Creature has a bonus attribute of swimming, Amphibian happened to be a better fit than Walky, who couldn't swim. (A lower score is better.) Walky is then checked again, and unfortunately cannot fit any more niches. Swimmy, not being able to walk nor climb, couldn't be added to any of this biome's niches. These attributes are very dynamic, I.E. they can be modified at any time, and the Niche Compare function will still compare them perfectly. It doesn't compare food types yet, so that's what I'll work on next. | |
| | | Mysterious_Calligrapher Biome Team Lead
Posts : 1034 Reputation : 26 Join date : 2010-11-26 Age : 32 Location : Earth, the solar system, the milky way...
| Subject: Re: NPC Auto-Evo Thread Fri Jul 01, 2011 1:50 pm | |
| What I understood of that, I loved, Roadkill. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: NPC Auto-Evo Thread Fri Jul 01, 2011 4:28 pm | |
| I am liking this a lot. So, we're all clear on how this is going to work now? All we have to do is map out the niches for each biome, including all of their required attributes, then roadkill has the code for placement. | |
| | | Sponsored content
| Subject: Re: NPC Auto-Evo Thread | |
| |
| | | | NPC Auto-Evo Thread | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |