So. We’ve updated the Environmental systems in 0.5.0, and the Gameplay options in 0.6.0: it’s time to go back to basics. 0.7.0 will be the Utilitarian Update, focusing primarily on the backend systems behind simulating and displaying creatures.
As the name suggests, this will not be a big fancy update. We’ll be upgrading the elements that have been left behind in quality as everything else has improved, so there won’t be any brand new features: just improvements on old systems. But that doesn’t mean there’s not going to be loads of awesome stuff! Our goals for this update are:
Code Cleanup And Modularisation
Okay, boring stuff out of the way first. This update will serve as the foundation for more impressive updates in the future, so the code needs extensive cleaning, with a focus on object orientation and modularisation. This part of the update is about turning what is essentially a glorified prototype into a solid, extendable game engine.
This step will probably contribute more to the long term development of the game than anything I’ve done on it so far, so for all it’s boringness it’s worth the investment.
A few simulation-centric elements to address, mostly centered around the gameworlds physics:
– physical values. Switching the underlying stat formulae from generic, relative values like “size” and “stamina” to deeper, more realistic values like “volume”, “mass” and “surface area” will improve the simulation’s accuracy and ultimately result in more accurate and emergent evolutionary pressures. It will also allow us to make use of real-world relationships between variables (for example, the laws of thermodynamics, or newtons laws of motion) rather than trying to make our own rules via trial and error.
– metric units. Tying in with the previous point, metriking the game will make it more scientific and easier to program based on actual, physical laws. For all those who would rather we use imperial units… pfffHAAAAAAAHAHAHAHAHaHaHaHaHahahahahaaah.
– the vertical axis. At the moment, Y position has very little influence on the game: Species is basically a 2d game playing out in a 3d environment. This will change that, by introducing gravity and bouyancy as actual forces on the creatures, applying modifiers to eyesight based on head height, introducing a neck range which affects what plants a creature can and cannot eat, keeping them from hovering, preventing needle legs and necks, and so on. And I’m sure you can imagine one or two planned future elements which will rely on vertical physics to work…
– LOD. The level of detail system is a mess, combining two or three seperate systems for creature animation, detail and the far-distance sprite imposters. Replacing and optimising it should be worthwhile from a performance and visual standpoint. (this point ties in with both Cleanup and Aesthetics as well)
You didn’t think I’d stop with Procedural Texturing, did you? Improving the creature aesthetics will involve three more steps this update:
– Under/Over textures. Tri-planar texturing should allow us to apply a different texture to the creatures back and underbelly, giving them more definition and a better appearance overall.
– Manually applied textures. Some textures, such as those for claws, teeth and mouthes, should be tailored to the body part they’re applied to. This will give creatures face and limbs more definition and allow us to give the creatures even more hideous faces than ever before.
– Fur. Not High Level Shader Fur: that’s too much of a performance impact, but fur polygons, like what Skyrim has. You can see it best around the edges of this image:
I have no idea how well this will turn out, but I desperately want to try it out and (in theory at least) it’s performance impact should by limited to the GPU. We’re just trying this as an experiment, so no promises it’ll make it into the game. This is not really an essential feature so much as developers prerogative, and that’s me so I get all the prerogratives. ALL OF THEM.
(You may have noticed that I haven’t mentioned Normal Mapping or Gloss Mapping here. The reason for this is simple: we’re prioritising Aesthetics over Graphics. Mapping techniques are fascinating and valuable tools in their own right, but ultimately they’re varnish. If the creatures look terrible without them, they’ll look shinybumpyterrible with them, and shinybumpyterrible is still terrible.)
– We also want to add basic procedural animations for eating tree’s, corpses and grass. This won’t be anything complex, just moving their heads into the appropriate position, but it should provide a bit more context to the creatures behavior.
Saving the best for last: we’ll be bringing all the stage 1 placeholder assets up to at least stage 2 placeholder assets. That’s a technical way of saying we’re going to be deleting many of the current assets and adding wider variety, more gradual evolutionary stages, and better-looking textures and models for:
– Body Coverings. Since we have to remake the body textures anyway for the aesthetic upgrades, we might as well start over, giving them a detailed mutation map as well.
– Legs. We will be including a whole bunch of new animated limb shapes, which will mean even *more* hideously surreal creature forms. Yay!
– Facial Features. More variety in eye and horn styles and textures, and couple of new general categories of features.
– Heads. We won’t be completely overhauling the head models (they’re already a stage 2 placeholder), but we will be redoing the existing ones to work with the new graphical system and adding a number of new ones.
And that’s the plan for the next update. Let us know what you think below, or leave us suggestions over in the Suggestion Forums.