We made it! Species 0.9.0 has been released, and is now wildly rampaging amongst the pitiful masses of humanity.
Here’s what to expect: (screaming of puny humans not included. That’s just a bonus)
- The Nursery, wherein you can contain a live population of organisms and bend them to your whimsical designs by means of artificial selection and a pair of miniaturized rovers.
- Your Own Species, created by causing aforementioned live population to speciate from their wild counterparts. What you do with them after that is your own business. Live in harmony? Take over the world? Drive everything else to extinction? It’s up to you.
- Automatic Population Control. Who needs human interaction anyway? Those long running sims don’t need you nannying them anymore: the game can keep the population in reasonable limits for you by messing with the food efficiencies.
- Sexual and Asexual Reproduction Modes. Feeling prudish? Disable mating completely! Feeling… uh… not prudish? Enforce it as a requirement before creatures are able to reproduce.
- Double Scale Worlds. Bigger tree’s, bigger cliffs, but same-sized creatures.
- XML Save/Load. More robust, human-readable save files.
- And a load of minor fixes and improvements!
Check out this amazing dramatic fan trailer for the upcoming Species 0.9.0 by Youtuber GameGabster:
GameGabster’s been doing Species ALRE lets play’s for quite some time, plus a bunch of other games of a similar nature, so check out the rest of his channel while you’re over there.
Species ALRE 0.9.0 Alpha will be released on Thursday the 31st March
To celebrate this milestone, I’ve been playing around with the creatures designer. You can click-and-drag to rotate the camera in it now, too. Plus it displays some basic stats about the abomination you design.
Here’s a bear I made out of a Primum specium.
And here’s a speed-oriented creature that makes me want to implement proper running animations (not for 0.9.0, sorry).
And then there’s… this.
Prerelease community bug-testing will commence tomorrow. If you want to be involved, sign up to the forums at speciesgame.com/forum.
Best of luck keeping these things from haunting your nightmares!
You know, the evolution game community is pretty neat. It’s not a big community, but it has heart. Or at least a primitive organ for the circulation of internal fluids.
Tactical weaknesses of puny terrestrial organisms aside, I’ve been in contact with the folks from Revolutionary Games (makers of the evolution game Thrive) to discuss our work to-date and our mutually bonkers ambitions. I’ve also been attempting to try out the Mindmonkeys on human test subjects, but I haven’t been able to get the larvae into their tea without them noticing, so I may have to forgo that part of the plan. It’s been fun and enlightening chatting with them, so we thought a mutual dev-blog would be an interesting collaborative project.
Thrive, for those unfamiliar with the project, is an attempt to allow the player to guide their species from the tidepool to the stars. They’re just as inspired by the actual science as we are here, but by forgoing the strict rules of hands-off Darwinian evolution I constrain myself to in Species, Thrive hopes to offer a different style of game: a more tailored experience with a much larger scope, more akin to a Role Playing Game in comparison to Species‘ strict focus on scientifically accurate simulation.
Unlike Species, Thrive is also completely open-source, so if anyone reading here has any programming knowledge and wants to help make Thrive a reality, please head on over!
You can read their version of this post here: http://revolutionarygamesstudio.com/devblog-5-thrive-vs-species/
Developer: Revolutionary Games
Thrive originally grew from the idea of remaking Spore, billed as a scientifically accurate God game, the way it was meant to be, though the motives have shifted during its development towards simply simulating the development of sentient life in a game environment. It’s an open-source project, so anyone can help out as much as they wish, and the game will always be free to download. At the moment, an early release is out for the microbe stage, incorporating editing, compound processing and more, with further updates on the horizon.
Species: Artificial Life, Real Evolution
Species ALRE is both a sandbox video game, and a ground-up simulation of Darwinian evolution in a 3D environment. Every creature in the game struggles to grow up, find food and reproduce before they die, and when they do reproduce, their offspring will be slightly different to them via random mutation. Since not all creature’s will naturally survive to reproduce, selection pressures kick in and everything from there is (natural) history.
From this simple concept, the game ends up replicating a lot of the complex processes of evolution on earth. And if you don’t have the patience for that side of the game, there are always plenty of ways to commit horrible genocide and/or create hideous abominations of science. That works too.
The game is fairly well into it’s alpha stage, and is available for free download.
We asked each other a series of questions, some applicable to both games, and between us answered those we thought relevant.
What is your game about?
Thrive is first and foremost a game about evolution, similar to Species. We want to explore the possibilities of simulation within a game context, not only biological, but chemical, physical and societal too.
From the player’s point of view, Thrive is a journey from unicellular insignificance to galactic domination, as they guide their own species towards increased intelligence. We want to pit the player against the environment itself, and challenge them to outwit or exploit the forces of evolution for their own ends. In the editor, your job is to make it as easy as possible to survive long enough to reproduce again; while playing, your job is to actually do that. The best adapted organism in the world means nothing unless you’re good at using it, since your own species’ evolution is fixed to when you can reproduce.
Species is an accurate simulation, with emphasis on the accurate. All the gameplay stems from exploring and manipulating the simulation.
Unlike Thrive, the player in Species doesn’t act as an agent within the game: instead they act on it, making changes to the world and environment and observing whatever results those changes may bring.
The game’s job, then, is to provide tools for the player to experiment with. From the ability to change the world’s climate and sea levels and rovers capable of performing automated artificial selection, to observation tools like the satellite map and real-time clade diagram.
How did the project originate?
Back in my high-school years I discovered the microbial evolution simulator Primordial Life (no longer available online, but you can still get its spiritual successor Biogenesis). It was such a neat idea I went looking for larger scale evolution simulators, and was genuinely surprised to discover that there really wasn’t much in the genre. It seemed like such an obvious and interesting idea for a game I couldn’t believe nobody had invested in it.
The idea stuck with me until 2007, by which stage I had discovered the XNA framework and decided that, if nobody was going to make a full-scale evolution simulator for me, I’d just do it myself.
The project actually started as a hoax to persuade Maxis into producing a better game with Spore. When Spore disappointed the founders of the hoax, they decided to actually pursue the hoax as a project. The team got really excited to produce a game that integrated elements of games from many genres, such as Civilization, Mount and Blade, Spore, Sim City, etc. However, the team had difficulty working with the project’s leader, so they moved to a new forum and renamed the project to Thrive. Since then, several generations of users came and left the project, until a few years ago a burst of activity caused by a Reddit post kickstarted the project into action and got a few programmers on board, and it’s been slowly chugging along ever since.
What are the main themes of your game?
Thrive has several fundamental themes. One is evolution. The whole game is about evolution. First your species from natural selection, and then your civilization from technological innovation. However, not only will your species or civilization evolve, but so too will their surroundings. As a species your ecosystem will always be changing, continents will shift, other creatures will evolve, climates will fluctuate, etc. As a civilization, religions emerge and spread, diseases will strike, populations will migrate, etc. In both these periods your success will be determined by how well you evolve to adapt to the evolution of your surroundings.
This leads into another important theme of the game, interaction. We want the player to be able to interact with the game and customize it. This is mostly characterized by the editors. The Microbe Editor, Organism Editor, Technology Editor, and Unit Editor are examples of editors meant to allow the player to directly evolve and customize their species or civilization as they see fit.
Another big theme for the game is realism with compelling gameplay. We want to make the game as realistic as possible, while still offering the player a fun and unique experience. An example of this is that, in the Organism Mode, we traded some realism in allowing the player to choose their mutations each generation. Obviously, the ability to evolve your creature is one of the most essential parts of the game and so we can overlook that it’s not very realistic.
Much like Thrive, evolution is the obvious one: a lot of the visual design involves things like cladeograms, and providing a sense of change over time is the reason for other features like the climate, adaptive biomes and vegetation growth system.
After that, it’s a game fundamentally about science and experimentation: that’s why the rovers resemble NASA rovers, and why the evolving creatures are autonomous beings, rather than player-controlled. My plans for future gameplay further emphasize this: species gameplay cycle will involve making changes to the simulation, followed by a period of observation and study while you try to work out what effects those changes had and how to tweak them better for the next round.
What are the unique elements of your game?
Individually, nothing is unique. Macroscopic ecosystem simulators have been done before in the form of games like SimLife, as have fast-paced natural selection sims like Biogenesis. But as far as I know, Species is the first time the two have met in the same program.
As with Species, Thrive doesn’t have anything that is unique to the game on its own. It does have a few uncommon elements, and the specific combination of these common and uncommon elements found in Thrive is what makes it unique. For example, strategy games have been made plenty of times before, and Thrive won’t deviate too far from that, but there are very few out there that actually have the whole world and ecosystem evolve into place before the strategy gameplay even begins, and allow the player to customize every tool, vehicle, and building that their species uses.
What is the current state of development?
We’ve had several releases out, the latest of which features a procedural microbe membrane and organelle models, and we’re aiming next for compatibility fixes, gameplay features and deeper simulation. Could you call that Alpha? We’re not even sure – it’s still a way away from the final product, but we do have a solid plan with the basics already in place. Slow and steady (hopefully) wins the race. If you’re more interested in the day-to-day work that goes on, you can always follow the development of our codebase on GitHub.
Alpha. It says something about the ambitiousness of this project that, 8 years since I began work on it, even some of the core features are still in a placeholder state. We are nearing beta, however, and I’m excited for that. Beta will allow me to add a lot of the flashy ‘non-core’ features, like flight and swimming.
What goals do you have for the near-future?
The next release will include a Nursery and a Player Species, which will show up on the clade diagram. This will give players the ability to design their own creature (via automated artificial selection), as well as giving them a stake in the world.
The game still won’t have any explicit goals, but with ownership over their own species the player can aim to co-exist with the wild species or, more likely, drive them all to extinction and take over the world. Maniacal laughter optional.
We’ve just released 0.3.1, which features Linux compatibility, some semi-major features and other minor fixes. Beyond that, we’ll start to implement some of the more important features of the game from both a gameplay and simulation standpoint.
Compound clouds – nutrients suspended in a fluid dynamics simulation for microbes to gather or add to – are on the horizon, followed by free-roaming bacteria, overhauls of the health, reproduction and death systems and iterative additions to the CPA (Compounds, Population Dynamics, Auto-Evo) algorithm. This along with editor improvements, combat and a general fleshing out of what we have now.
Revolutionary Games: How is a species defined, and when is it determined that a new species has been formed? Is there a measurement of change from the original species?
Species: A “species” is defined, at least in the context of the game (it’s a bit fuzzier in real life), as a collection of creatures connected by the ability to breed.
A Dachshund and a Chihuahua don’t have to be able to mate to be the same species, but so long as there’s a continuum of ‘intermediate’ creatures they can mate with, they remain the same species. This is what is known as a ring species. It’s only when that continuum is broken by the death of those intermediates that they will speciate.
Individually, creatures ability to mate is determined by their “genetic distance”, a measure of how similar their genomes are to one another.
Quasar: Metabolism is a complex concept. Are you planning to visualise the in-game metabolism at all, or hide it and simply let them work with the end results?
Thrive: Obviously the astute player should be able to look at what’s going on to better optimise their organism, so we won’t hide the inner workings completely. Think of building organelles in the editor like a production line, with each having an input, output and an energy upkeep requirement. These values will all be visible when building the cell, but should mostly be out of sight during gameplay.
That said, we do want some visual cues. We previously had hex organelles change colour based on processing rate, and animating their activities is an option with the proper models. The UI will also show compound stores if nothing else.
Revolutionary Games: We use an arbitrary currency called Mutation Points to prevent wild changes to a species within a single generation. What limits the maximum possible change caused by a mutation in one generation in Species?
Species: Since the genes are represented as numbers, most mutations are applied as a simple random number between -1 and 1, multiplied by a modifier (factoring in the background mutation rate and individual radiation exposure).
The modifier is unlimited, though. The quickest and most hilarious way to break the game is to put a stupidly large value into the Mutation Rate. But don’t tell anyone that, it’s a secret.
Quasar: Some features could steer the game towards adult themes: will you have things like inbreeding, cannibalism, the ability to eat other creatures before they’re killed, etc?
Thrive: From the start some people have labelled us simply as ‘Spore but more mature’, which we appreciate but would like to steer away from. Much as people want it as a lost feature of Spore, blood spewing from your prey is not a priority. Sorry.
It’s a bit early to say what our approach to these questions will be. Microbes cannibalising each other isn’t anywhere near as controversial as macroscopic organisms, so it isn’t a worry for the near future. We aren’t averse to having some mature themes, but it’s by no means a goal, and adding them only for the sake of adding them would in our opinion detract from the overall game.
Revolutionary Games: I can see variables like aggressiveness and curiosity, but how would they operate in an in-game situation?
Species: The creatures act on an emotional basis: they will eat when hungry, flee when scared, attack when angry, and so on. Each behavior/emotion pair is tied to a personality gene, so a high aggression makes them more easily angered, which in turn makes them more likely to attack others when angered.
They still need to be angered by something in the first place, though. A creature will never just lash out for no reason, but being targeted or attacked by a predator cause bursts of anger, as does overcrowding.
Quasar: Will the game be merciful towards players who make mistakes, or will it kill them repeatedly until they learn not to do that?
Thrive: It depends on the difficulty settings and how the world around them has developed. If set very low, a player could get away with using organisms which wouldn’t actually be able to survive properly, but at the highest level they’ll have to work hard to keep up with the pace of AI evolution and make logical choices about how to evolve (depending on their customised settings, they could also be wiped out by meteorites and gamma ray bursts without warning, but that’s a topic for another day).
Revolutionary Games: How do you distinguish between behavioral evolution, and adapted behavior?
Species: Due to the average length of an organisms lifespan, individual learning won’t be a part of the simulation. It’s short. Like really, really short. Imagine a tortured metaphor about mayflies or George R. R. Martin characters here, that’s how short we’re talking. It keeps the pace of in-game evolution high, but it means they wouldn’t have time to learn things, even if they were capable of doing so.
Their personality and instincts will change and adapt via natural selection, but each individual dies as dumb as when they were born.
Both (Jinx!): How does the ontogenical process affect an organism?
Species: At the moment, it doesn’t. Creatures are spawned as fully formed juveniles, they don’t develop from a zygote, so the development process doesn’t exist for them.
However, I would definitely like to see some elements of it implemented: certainly oviparity vs viviparity (egg laying vs not) is a shoe-in, and there should definitely be consequences to having small eggs and short incubation times in the form of smaller, more undeveloped offspring. As I so often find myself saying with Species, though, that’s a long-term goal.
Thrive: This concept has not yet reached a full consensus. Originally, it was never specified during discussions whether organisms would age or simply be born as adults. Having all organisms always be adults certainly makes modelling species over time (Auto-Evo) much easier, but at the same time detracts from the entire experience of living as an organism from birth to death, and experiencing the changing gameplay as you age. The tentative answer we’ve settled on for the moment is that organisms will age, but it will be restricted to a simple aging process, in that the only result of aging will be a gradual increase in your body size and related attributes. This concept will definitely be discussed in much more detail when we get to implementing the later stages.
Revolutionary: How do you relate the structure and design of an organism with its attributes, like strength and speed?
Species: For most stats, it’s generally a combination of math… (for example: Leg Speed = Leg Type Base Speed / (Bicep Width + Tricep Width + 0.5) * Size)… and simply eyeballing the numbers. (“Leg Type Base Speed” is a value stored alongside the leg model asset).
That said, many stats also include physical variables like mass, surface area and volume into their calculations. Some of the more complex attributes, like stamina and balance, even have me doing skeletal physics, calculating of things like joint torques, and compressive/tensile strength’s for each bone in the body. It’s surprising how much complexity it can take to make a stat’s behavior act intuitively.
Quasar: Will organs be implemented in future?
Thrive: Organs will definitely be implemented. The player will be able to add organs specialized towards circulation, respiration, reproduction, nervous control, digestion, and several other functions.
The organism will have an internal structure, where the organs will be placed, and most organ systems will be connected via a tube and node system.
Revolutionary Games: Will you implement organs in Species? If not, what parts of a creature’s structure simulates the effects of organs?
Species: I’m unsure: I have several ideas on the subject that would be worth exploring, but it’s not a high priority since you can’t see organs by default, and it’s against my design goals to implement ‘invisible’ genes that would affect a creature’s evolution.
For the moment, stats relating to organs are mostly just defined on an intuitive basis: for example, a larger ‘gut’ (middle part of the torso) corresponds to increased stomach capacity.
Revolutionary Games: What are the goals for underwater and flying creatures?
Species: Definitely planned, and hopefully within a few versions. As Terry Pratchett put it, “Water is just a wetter form of air”. I’d like to implement both flight and swimming as part of a single “movement in fluid” system. The difference will be one of drag and lift, with the former being the limiting factor for movement in water, while the latter is the limiting factor for movement in air.
Quasar: Playing with your prototype, I noticed that your microbes are simulated as rigid-body objects. Are you planning to extend that to soft-body physics?
Thrive: That’s the ideal, yes. If it works we envision flexible membranes undergoing distortion in collisions and under movement, but we realize this could be incredibly difficult, both in implementation and game computation. We want to move to soft-body physics and we’ve discussed some ideas, but we don’t currently have viable short-term plans to get it going.
Revolutionary Games: I noticed a lack of social structure within species. Will there be implementation of group dynamics in the future, such as herds of grazers, or packs of carnivores?
Species: There are plans for this, yes, but it will most likely be temporary and situational. For example, a creature going hunting or grazing may ‘ping’ other nearby creatures with a request to join/aid them, and the other creatures will choose to do so or not based on their own needs and genetic tendency towards cooperation.
I don’t have any plans for family or social groups, although it’s quite possible a highly cooperative species will stick together for many generations simply by always responding to each others pings.
Both: what is a feature, currently not in-game, that you most look forward to implementing?
Thrive: Auto-Evo, no question. It’s a game about evolution…and it doesn’t even have any real evolution in it yet. Bad mark for us there.
If you’re wondering, Auto-Evo is the term we use for the algorithm which determines which species evolve and in what way. It isn’t completely Darwinian, as with Species. Instead it’s a lot of abstraction, with species outside the player’s area interacting only via procedural food chains and the algorithm predicting how well on average they’d do at obtaining enough compounds to survive. Unsuccessful species are killed off, while successful ones have a chance of evolving which scales with their population number. Occasionally species will split and diverge. The player’s species is also subject to this system, so their job is to make it as well adapted as possible. Their actions will butterfly out into the rest of the global ecosystem, just as global biodiversity will influence their experiences in an intricate feedback loop.
Species: Well, I know from people contacting me that the feature most looked forward to by everyone else is flight and swimming, and that’s completely understandable. It’s a big feature, and one that will hopefully make a huge difference to the game, and I am prioritizing it because of that.
But personally, as a developer, I’m really looking forward to implementing a biochemistry simulation to handle the creature’s diet. The idea is that creatures would need to consume carbohydrates, protein and lipids, and break them down into ATP (energy) to live and amino acids to grow. That system would hopefully lead to more food sources and dietary niches in the game, which is a major driving force behind evolution in real life.
Well that was fun, and I learned things! For example, I learned Mindmonkey larvae can’t survive in boiling hot tea.
Thanks to the folks from Revolutionary Games for agreeing to this collaboration, and best of luck to them! Seriously, go check Thrive out. They’ve just released a new update for their Microbe stage prototype and another is soon to come, so keep an eye out for that too!
Speaking of keeping an eye out for new versions of games (dat segue), development on Species 0.9.0 is nearing the final stages. All the main features are in (I’ll do another blog post soon) and I’m tallying up the bugs and polishments. So stay tuned here as well!
Quasar and the Revolutionary Games team.
Species has a messaging system now!
Don’t worry: they are designed to be unobtrusive and easily ignored: the font is small, they use slow fades to appear and disappear, and they don’t make any noise. This is all partially because there’s likely to be a lot of repetitive ‘speciation spam’ in them, but mainly because City: Skyline’s fake-twitter is the most annoying game mechanic in all existence (in an otherwise great game). I erred on the side of not-being-an-obnoxious-twitbag.
Species has sexual reproduction mode and automated population control now!
I think I’ve discussed the automated population control before: it works by carefully adjusting the global food efficiencies in ways designed to dampen both population explosions and mass extinctions. It makes hands-off simulations easier to run.
Asexual/Sexual reproduction modes (or more accurately, Parthenogenic/Hermaphroditic reproduction modes), on the other hand, are new: I only implemented it this morning. I was surprised to find that Primum specium are actually quite okay at finding mates by smell. They don’t survive, but they do hang on for quite a few generations before extinction.
You do still need to give them more food to make up for the additional survival requirement. I’m planning on running a longer simulation later today to see whether it’s sustainable once they start speciating and the available mating pool diminishes.
I’m expecting this to have some interesting effects on speciation, as well. For one thing, sterile mutants will no longer be able to found entirely new lineages.
Species has fewer bugs than it did yesterday now!
Which is, yeah, pretty normal. We’re in bug fixing mode, which means I’m feeling more and more confident about when I’ll be able to release 0.9.0.
Tremble mortals and despair blah blah maniacal laughter blah blah kill off a main character to prove I’m a threat etcetera etcetera blah blah blah. Nothing you haven’t seen before, let’s move on to the interesting stuff:
I have been trapped in the endless dull hell that is the content management system, hence the lack of blogmaking and/or world conquering. While I was adding some of the new head types back in January, I found the whole system a pain to work with, so I attempted to improve upon it.
The attempt went poorly and I systematically broke all of the things (ALL OF THEM) but the sunk cost fallacy is strong with this one, so I kept plugging away at it.
I eventually reached critical shark quota and realised I was doing things wrong, cut a few losses and managed to bring the game back to ‘workable’. At which point, after careful consideration of the pro’s and con’s of various options, I gave up.
The content management system is functional and a lot better than it was. Asset stats are all written to a single file, I can specify and write them via the Mutation Map editor, and they show up in the editor without me needing to manually type placeholder nodes into the mutationmap.txt file. All good, if somewhat dull, things.
It’s still not quite as streamlined as I was aiming for, but that’s not my problem now, ’cause I’m working on other things for now. Future me can deal with that. May the gods have mercy on his soul.
So I’m back onto fun stuff! Starting with this:
It’s the new User Interface for the nursery. The box on the left shows the current average of all player-owned creatures: the box on the right shows the ‘Target’, that you can set either from exported creatures, or by the gene editor.
Over time, the nurse bots will artifically select for creatures that match the genetic profile of the target, breeding those that do and culling those that don’t.
The bar just underneath the creature images acts as a progress bar of sorts. Each blue dot represents a creature in the nursery, and it’s distance along the bar represents it’s genetic distance to the target. As new creatures are born and selected for, their genetic distance will close and the distribution of dots will drift from left to right.
Things I learned today # 1: wordpress can do slideshows!
As you’d expect, evolution in the nursery is faster than in the wild, but it’s still not fast, nor perfect. Even with a few in-game hours, it’s unlikely that whatever you evolve will be an exact replica of your target. I consider this a feature rather than a bug: designing your own species should be something with a bit of weight and randomness to it.
As a result, I’m planning on adjusting the way exporting and importing works in 0.9.0. There will be two types of exported creature: Specimens (exported by selecting a creature and clicking ‘Export’) and Genomes (exported via the Gene editor). Genomes can only be used as targets: they cannot be imported as living creatures.
Oh, and you can now position the nursery anywhere you like on the map during world generation simply by clicking on the map preview. Which is neato.
So… where does that leave us, re: the 0.9.0 release? Yes, I’m aware it’s well overdue, and I’ve made some changes to the plan to compensate:
* I’ve dumped the original plan of overhauling the UI. It’s still a pain to work with, but I can’t justify the time it would take. I’ll focus more on incremental improvements over the next few version than on one big overhaul.
* As far as mechanics go, I’ve implemented most of them. In addition to splitting exported creatures into specimens and genomes, I still have one moderately-sized one to add: a messaging system to help keep you appraised of events in the world, particularly ones related to your species. Together with some sort of easier way to find your creatures in the world, this should help tie the whole ‘player-interaction’ update together.
* I’d also like to get a decent number of additional new head types in: we’ve got the grazing-mammal branch in (horses, bovines, dromediares), and I’ve started on the carnivorous-mammal branch as well (canine, feline, bear), but thanks to the decision to use internet assets I have a lot more assets waiting in the wings. Just need to spare some time to add transitional forms, fur polygons, texturing and stats.
* After that, it’s really all just polish and bug fixing. The nurse bots need textures and additional code to stop them from driving through walls, there are a few freshly minted bugs with the UI to iron out, the display of player-owned clades in the clade diagram needs to be vastly improved, and I still need to track down that persistent bloody stack-overflow bug in the clade diagram that causes the game to crash during long simulations.
I’m not ready to commit to a release date until all the features are complete, but we’re on the home stretch to kick the shuttlecock into the hoop for massive damage. Touchgoal!
I am not a sports person. The point is, the end is in sight, and I’m already planning out what I want to work on for 0.10.0.