Posts : 50 Reputation : 2 Join date : 2012-10-20 Age : 27 Location : Either Golarion, Nirn, or Boatmurdered
Subject: Species: Artificial Life Wed Jan 23, 2013 2:15 am
Hey guys, I wanted to post this in the Aware stage section, but it wouldn't let me. Anyways, I found this: http://www.speciesgame.com/. Maybe you could figure out a way to use this information.
Poisson Regular
Posts : 322 Reputation : 11 Join date : 2010-07-07 Age : 29 Location : AK (GMT -9)
Subject: Re: Species: Artificial Life Wed Jan 23, 2013 3:24 am
That is very interesting, and a good find. I'll definitely download that by this weekend to take a look at. Belgium! If only we had some stuff done to possibly give this guy reason to discuss his work with us. It looks a lot like it could become what we want out of the 'creature stage' portion of Thrive.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Species: Artificial Life Wed Jan 23, 2013 7:39 pm
Oh, yes, this game. I have happened to stumble across it a month ago. I was almost disappointed that someone had beaten us to making such a game, but it actually isn't a game of sorts, its more of a simulator. You play as an observer and you can do certain actions to alter the environment to see how it affects evolution. Also, this doesn't hold the same scope as our concept.
Nonetheless, friendly competition aside, it would be great to work with this guy, or girl, or people. as it seems they have achieved far more than we have...
Armok: God of Blood Newcomer
Posts : 50 Reputation : 2 Join date : 2012-10-20 Age : 27 Location : Either Golarion, Nirn, or Boatmurdered
Subject: Re: Species: Artificial Life Wed Jan 23, 2013 7:49 pm
In all fairness, he has a year on us, and he's trying to develop a much simpler game, as NicktheNick said.
Thriving Cheese Art Team Lead
Posts : 321 Reputation : 9 Join date : 2013-01-06 Age : 25 Location : Sweden
Subject: Re: Species: Artificial Life Thu Jan 24, 2013 2:41 am
Yet I tested it and it's "natural selection" system was pretty cool
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Species: Artificial Life Thu Jan 24, 2013 11:47 pm
This is really, really cool and I'll have to take a close look at it. You'll notice how crazy the organisms in it got- that's because they're using a true darwinian model. The mutations are almost completely unrestrained because the environment is so simple. This is what we're trying to avoid with our auto-evo system.
Armok: God of Blood Newcomer
Posts : 50 Reputation : 2 Join date : 2012-10-20 Age : 27 Location : Either Golarion, Nirn, or Boatmurdered
Subject: Re: Species: Artificial Life Fri Jan 25, 2013 3:12 am
Maybe we should get the outreach team in contact with the dev. We just need an outreach team.
The Uteen Sandbox Team Lead
Posts : 1476 Reputation : 70 Join date : 2010-07-06 Age : 28 Location : England, Virgo Supercluster
Subject: Re: Species: Artificial Life Fri Jan 25, 2013 11:45 am
I've had a quick go with it, and it looks pretty good. Making the camera fall back to the ground is an interesting decision - it seems like it would get annoying, but it works pretty well.
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Sat Jan 26, 2013 7:48 am
Poisson wrote:
I'll definitely download that by this weekend to take a look at. Belgium! If only we had some stuff done to possibly give this guy reason to discuss his work with us.
Who needs reasons? I'd be happy to discuss what I've learned, if it'd be of any help.
Thrive looks interesting, and different enough to Species to make me think the two games will end up complimenting rather than competing with each other. The simple fact that you'll be controlling one of the in-game creatures in Thrive with the goal of evolving to sapience already sets it worlds apart from Species, where the eventual plan is you'll be controlling a scientific facility with the goal of screwing about with (but never controlling) the simulation.
And, as NickTheNick notes, the scope of Species is smaller than that of Thrive, mainly because of one of my secondary design goals: the simulation aspects in Species must be scientifically accurate: not just founded in science, but an accurate representation of it. And since the creatures AI is one of the simulation aspects, I'd have to simulate sapience from first-principles, which would be... impractical.
Quote :
Making the camera fall back to the ground is an interesting decision - it seems like it would get annoying, but it works pretty well.
Spacebar toggles that on and off, because it does indeed get annoying. To me, at least.
NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
Subject: Re: Species: Artificial Life Sat Jan 26, 2013 3:55 pm
Ahh, wonderful to see you here Quasar!
How did you find us, and this thread in particular?
Anyways, its a great pleasure to see you here. Could you maybe, to start off the discussion, explain how the evolution works in your game? We could compare our two models, since ours (Auto-Evo) follows a different route. Sciocont, or someone else more well versed in our evolution model, could explain it to you better.
Armok: God of Blood Newcomer
Posts : 50 Reputation : 2 Join date : 2012-10-20 Age : 27 Location : Either Golarion, Nirn, or Boatmurdered
Subject: Re: Species: Artificial Life Sat Jan 26, 2013 5:28 pm
Wow... It's Quasar himself.
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Sat Jan 26, 2013 7:39 pm
NickTheNick wrote:
Ahh, wonderful to see you here Quasar!
How did you find us, and this thread in particular?.
High altitude spy planes. Also, my website has a "Top referrals" report, which is great for finding people who link me.
Quote :
Anyways, its a great pleasure to see you here. Could you maybe, to start off the discussion, explain how the evolution works in your game? We could compare our two models, since ours (Auto-Evo) follows a different route. Sciocont, or someone else more well versed in our evolution model, could explain it to you better.
Sure. It'd be interested to hear what you have planned for your auto-evo system: I read the wiki page, but I'm still a little unsure on what your plan is.
The goal of Species is to simulate evolution from scratch, as an emergent property of the game. To this end I've implemented the first principles of Darwinian evolution: hereditable, randomly mutating creatures, and an environment that provides natural selection. From there, the actual evolution is something that happens by itself: my programming of the simulation is usually several steps removed from it.
This of course means I have very little control over the "end-result" of the simulation, which is excellent for the simulation, but difficult from a gameplay perspective. At the moment, the simulation is somewhat biased towards large, fat, slow moving creatures with thin legs, but that will undoubtedly change with the next release since every tweak to the simulation changes the end result (usually in ways I'm not expecting).
The other big disadvantage of this simulation-first approach is CPU cost. Since every creature is unique (even members of the same species that look pretty much the same have a plethora of minor differences) I can't instance their meshes or apply a variety of other performance tricks. And since I need to support a fairly large population of creatures for any level of biodiversity to be viable, I'm limited to how complex I can make their behavior and appearance without lagging the machine.
Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 30 Location : Spain
Subject: Re: Species: Artificial Life Sat Jan 26, 2013 9:41 pm
Well, that's what we thought, having too many individual specimens would be too memory and processor-intensive.
What we have in plan, is havin all individuals from each specie the same (no variations at all inside the same specie), and having random mutations on the whole specie at once. That mutations will be biased towards the specie's benefit, so they thrive. xD That means that the evolution is less realistic, but we can simulate more species with as much specimens in them as we want (the specimen count just affect population, which in turn makes mutations more/less frequent, affect population growth of it's own species, and of the ones just above and bellow its food chain, and a bunch of other things).
Individual specimens are only simulated when they are close to the player, and get deleted when the player leaves the loaded area. The individuals simulated dont affect the species evolution at all, only its AI (if it gets implemented). I dont like the idea of the individuals not affecting the specie, but it's the actual plan.
At least, that is an overview of the plan. Things will change on the way.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Species: Artificial Life Sun Jan 27, 2013 1:07 pm
Hey there, thanks for stopping in, I'm the head of this misguided venture, so I should be able to answer any questions you might have. I have to commend you on this simulation- though I haven't had time to play with it yet, from what I've seen it's fairly impressive.
At one point, we did consider running, as you have, a purely Darwinian system. This was an issue close to my heart, since I'm a huge evolutionary biology buff. however, as you've seen firsthand, that's not really the most efficient way to create a facsimile of an ecosystem. It's highly computation intensive and, because of the simplicity of any simulated environment, will result in somewhat maladaptive creatures. I made a name for myself in this project by conceptually defining how organisms will be built, whether by players or by the computer. This is our organism editor. For a year or so after that, we still couldn't decide how to run auto-evo, which was a bit embarrassing as that was the entire point of our game. Finally, we came to the realization that we needn't directly simulate the process, we could decide to only simulate the end results. this brought us to our curent concept of biome-centered, step-based procedural evolution. We evolve a species as a whole instead of mutating individuals, since this is less computationally intensive and achieves the same end result- an entire species now has a beneficial mutation- we assume the mutation occurred in some individual several generations ago and has now spread to the species as a whole. The system is quite elegant, if I do say so myself.
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Mon Jan 28, 2013 5:31 am
Daniferrito wrote:
What we have in plan, is havin all individuals from each specie the same (no variations at all inside the same specie), and having random mutations on the whole specie at once.
That's a good approach: it opens up a whole variety of options that weren't avaliable to me (the most important one being, you can send the creature as a whole to the shader, rather than breaking it up into body parts)
Quote :
That mutations will be biased towards the specie's benefit, so they thrive. xD
Hmm... by "biased", do you mean each mutation is by definition beneficial, or just that there's a greater percentage it will be?
I notice that you're doing it by turns. What will these turns be initiated by? By that I mean, will the other species evolve when the player visits the creature editor, or in responce to some other influence like gameplay time (like, one mutation per ten minutes)?
This is probably something that's already been discussed many times, but it occurs to me that hiding these turns behind a brief 'loading' screen (like during entering or leaving the creature editor) could provide you with an interesting opportunity to do some heavy simulation work: performing physical analysis or generational steps that can't be done during real-time rendering, for fear of lag. With a bit of applied selection pressure, you might even be able to achieve something like Karl Sims or 3DVCE without sacrificing real-time performance.
Quote :
the specimen count just affect population, which in turn makes mutations more/less frequent, affect population growth of it's own species, and of the ones just above and bellow its food chain, and a bunch of other things).
Be careful with how you tie mutation rate to population size: as a general rule (I've seen this happening in Species), larger populations 'absorb' mutations, both positive and negative, resulting in slow but steady beneficial change, while smaller populations will change rapidly (especially during bottlenecks), but with little-to-no discernable 'direction'.
Quote :
Individual specimens are only simulated when they are close to the player, and get deleted when the player leaves the loaded area.
Oh, I wouldn't delete them: you can see this in a variety of sandbox games, and it's always annoying if you're trying to interact with the deleted entities. Something I've learned: with the exception of memory leaks and other bugs, you can throw just about anything at a modern computers RAM and it'll happily store it for you (I'm planning on storing the genetic relationships between every creature on the map just to save a few CPU spikes). So just keep a list of the positions and ID of any unsimulated creatures, and re-load them when they come back into sight.
Quote :
It's highly computation intensive and, because of the simplicity of any simulated environment, will result in somewhat maladaptive creatures.
Perhaps surprisingly, it's not actually the simplicity of the environment that causes maladaptive creatures. The Karl Sims simulations linked above had an extremely simple environment: go faster, your mutations survive. Go slower, they don't.
Instead, the various oddities of Species are, for the most part, artefacts of the need for short-spanned creature. An ecosystem on a human scale, with creatures that move and react at a human pace, doesn't scale down well to creatures that don't last longer than a few minutes. On an evolutionary level they tend to act more like microbes than full-scale creatures.
Of course, I hope to suppress these and encourage more biodiversity with future versions of the game. Yay for evolving projects!
Quote :
We evolve a species as a whole instead of mutating individuals, since this is less computationally intensive and achieves the same end result- an entire species now has a beneficial mutation- we assume the mutation occurred in some individual several generations ago and has now spread to the species as a whole.
I like it: it might not be a perfectly accurate simulation, but it gives you the freedom to make third-person creature control gameplay without sacrificing too much of the scientific basis that motivated it in the first place.
Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 30 Location : Spain
Subject: Re: Species: Artificial Life Mon Jan 28, 2013 10:34 am
Yes, more population means less "effective" mutations, that's why in cases of near extintion evolution goes crazy, it's when survival of the fittness is more important. Probably in the case of the bigger population the mutations that do happen are more probable to be benefficial?
When i said biased, i meant that mutations are mostly beneficial, but some might just be random. Maybe something like: 50% chance of beneficial mutation 50% chance of completelly random mutation
This means that some of the random mutations (second half) can also be benefficial, so more than half of the mutations wil be beneficial.
By beneficial, I mean that in the statistical simulation, the population growth will go up.
Probably all mutations on the whole game will happen at once, when a new generation of creatures is born. That means either a loading screen (if player doesen't decide upon it's own evolution) or when the player is making decissions about its own species, which will give us lots of time to make calculations. The more time the player spends in the creature editor, the more simulations we can perform to decide how populations change and what mutations are done.
Edit: And yes, the benefit of only having to generate and store a model for each species, instead of one for each individual is also good.
Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
Subject: Re: Species: Artificial Life Mon Jan 28, 2013 11:06 am
Hi Quasar, it's great to have your input here!
The turns we have in mind are play-time based, so a new generation is calculate (for example) every 10 minutes. We're hoping to avoid a loading screen by precalculating mutations on a seperate thread during each generation. As theres relatively little feedback from the game into the evo step, we don't need to wait until the end of the generation to make the step. We may need to calculate the player species last to use some input from the player, or otherwise buffer the players actions and use that information in the next evo step. With the work spread out over a full 10 minutes (rather than a 20-30 second loading screen), it might be possible to do so without affecting performance, but this is something we'll only know with testing.
For dealing with the effect of population size on mutation right, I've suggested the following (I'm not sure where I've posted this before) - mutation is limited by genetic diversity, which is measured seperately for every evolvable trait. Mutation uses up this diversity, preventing excessive mutation in one direction. The larger the population, the more quickly this diversity is generated, allowing it to evolve in a more directed way (as you observed). Smaller populations mutate more quickly (as the mutation doesn't have to spread as far to affect the entire population), but their limited genetic diversity means they can't mutate just one trait for very long.
I'd also like to ask how you handle 'animation'? Are your creatures' movements predefined animations, procedural (based on body structure), or controlled by some evolved AI?
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Mon Jan 28, 2013 5:34 pm
Seregon wrote:
I'd also like to ask how you handle 'animation'? Are your creatures' movements predefined animations, procedural (based on body structure), or controlled by some evolved AI?
At the moment they're a combination of the first two. The torso wriggling for legless creatures and the head and eye-movements are all procedurally generated, but the limb, neck and tail movements are predefined.
I have long-term plans to upgrade the limbs and their movements into a semi-physical simulation, based on a heirachy of limb-nodes, and that would involve evolvable animation, but that's a long way off yet.
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Sat Jun 29, 2013 12:50 am
FYI guys: Species 0.6.0 is out. It's got Rovers, Sat Maps and a Clade Diagram.
I did a gameplay video of it here:
Cheers, Qu
PS: I've since released hotfixes for all the bugs featured in the video. Except the spinning dancing rover thing, I have no idea what the bleep that even was.
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
Subject: Re: Species: Artificial Life Sat Jun 29, 2013 8:48 am
Congratulations, it looks fantastic! Wish we had you working for us, Quasar. Hey, do you want some free publicity? We can post this up on our twitter and facebook feeds- that's ~750 people we could reach.
Quasar Newcomer
Posts : 17 Reputation : 7 Join date : 2013-01-25
Subject: Re: Species: Artificial Life Sat Jun 29, 2013 5:42 pm
~sciocont wrote:
Hey, do you want some free publicity? We can post this up on our twitter and facebook feeds- that's ~750 people we could reach.
Subject: Re: Species: Artificial Life Tue Jul 02, 2013 12:41 am
Interesting, I checked it out, you did a very good job at the evolution system, it reminds me of the prototype I made awhile back. I even got some friends to download it. I always enjoyed making evolution simulators, even when I was 9 and playing roblox I attempted this.
WilliamstheJohn Regular
Posts : 409 Reputation : 10 Join date : 2012-12-26 Age : 31 Location : Third Rock from Sol
Subject: Re: Species: Artificial Life Tue Jul 02, 2013 3:08 am
It looks amazing Quasar! Sadly, i cant run it on my computer... :(
~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
FYI guys: Species 0.6.0 is out. It's got Rovers, Sat Maps and a Clade Diagram.
I did a gameplay video of it here:
Cheers, Qu
PS: I've since released hotfixes for all the bugs featured in the video. Except the spinning dancing rover thing, I have no idea what the bleep that even was.
Oh, wow, I can't wait to try! So far I have only watched videos of people play it.