Antilia gets Atmospheric Rendering and Facial Animation
When I look at something I just finished working on, it is sometime hard to tell if it truly looks right - or it only looks right because I've been working on it so long that I've grown accustomed to it looking that way. With new assets, I like to look at something else for a few days, so that when I go back and take another look - new things jump out in the scene that aren't right. This is almost always the case with something like a new character it seems - which makes development of such a bit slow-going.
This month I've been working on improving the overall presentation and "magic" of our world. When we originally created the alpha-testing gameworld, we did so as a "Thirty Days of World Building" initiative (In fact, here is a nifty visual calendar of that event.) Back in September, we were rushing to create the island as fast as we could - but lately I've been spending time studying each page of scenery and considering how to improve the scene composition from every angle. Sometimes this involves moving things around into more interesting 'groups' - in other cases it means adding the right details and touches.
Really though - you have to see this month's new features in action:
One particular problem we have with our "endless terrain" system is the feeling that because you can see so far into the distance from any point, that it cause the scene to look and feel the same even when you do add these local details. To help combat this, we added some localized atmospheric rendering, which I feel helps dramatically. Because the atmospheric rays are local, they change based on what is casting shadows in the scene, so that two similar areas only a short distance apart can feel quite different.
As I don't currently use any sort of deferred shading, the rays are currently achieved with several player-facing quads placed so that they fill the viewport at multiple depths. This gives the effect some depth-testing, and then each quad samples the shadow map several times between those layers.
Doing this as a full-screen post effect with deferred rendering would be easier, and as I hope to add SSAO soon, it will no-doubt be reworked to perform as a post effect at that time.
The second thing we worked on this month - and the much larger thing - is our first new character model. A common comment on the previous characters was that their eyes were unnerving - staring wide-eyed into the distance all the time, and that their postures and animations were poor. Our new character meshes now have facial rigging, giving us the opportunity to make them much more expressive. As we use our own modeling software, I added a feature whereby each LOD level can have it's own skeleton - so that players on lower-end systems can reduce their LOD, and bones flagged "high-detail only" are ignored (dropping their associated vertexes into their parent bone instead).
I also overhauled our animation system - which previously only permitted a single animation to be played on a mesh at any given time. Animation is now much more complex - with multiple layers of animation being blended together as needed and smooth automatic transitions between layer states. (More on that is presented in the video above.)
That's it for this month - with the weapons and animation system in place, I can finally start thinking combat.