Monday, 9 April 2012

Folk Tale WIP Update 4

There goes another two months and boy have things come a long way. Firstly, there's a significant increase in frame rate thanks to the introduction of LOD meshes and optimized culling code.  The second major change is the extended camera mode which now gives players the ability to switch to first-person terrain hugging mode, allowing you to get into the action with your villagers, and enjoy the game from a whole new perspective ( "terrain cam" ).  This new mode is activated as soon as the camera arrives on the docks and I hit backspace.  Holding down the left-shift key while moving will also speed up the cameras movement, making it quicker to travel from one corner of the level map to the other.

We've extended the tutorial system ( deactivated in this video ) to make wheat fields constructable, and introduced the farmer occupation.  This series of events moves us a little closer to triggering the first plot cutscene featuring the goblins.  Since we included an early version of that in the last video, we've skipped it in this WIP.  The farmer is still moonwalking when reaping the wheat; this will be updated when the next batch of human animations is done.

Around 01:27 you'll see our improved Decal system in action for the yellow flowers on the terrain, and the introduction of some 3D flowers around the village.  We've added UV offset and scaling to the DecalManager to support texture atlases for reduced draw calls.  The material makes use of the shadow receiver shader available on the wiki.

I mentioned about adding LOD meshes and improved culling.  It may be a little hard to spot in this video (isn't that the ultimate goal?!), but the characters are swapped out quite quickly (about 30' from camera).  We use our own LOD/culling system as we needed more creative options than currently provided in Unity.  For example, for LOD we also wanted to control what to do with particles and lights that existed in the same prefab as the LODs, while also combining the transitions between the LOD thresholds.  Along with the immediate mode ( same as Unity's LOD but distance based), we also support alpha fade-out and scaling.  Alpha fade-out is used on trees and some buildings/props, while we scale out smaller less obvious items such as flowers.  In the case of large objects we use a default shader on the LOD0 meshes, but a transparent diffuse shadow-casting shader on LOD1 so that we can fade.

Leading a group of Knights against the ogres, we switch to terrain-cam, to which we've added bobbing and shake ( ogre's walk and club pounding action ).

4:54" takes us up to and through the walls of the abandoned dwarf forge, featuring the work of Ben who recently joined the team as a 3D artist.   We've purged all OnGUI based UI elements now, which had been causing garbage collection CPU spikes and audible clicks in the sound engine.  We're now using NGUI for everything on screen.  Still a few bugs to iron out in the character portrait and minimap.

After saying hello to the passing Golem, and a quick fly-by around the lava ( seamlessly swapping out from terrain-cam ), we take the passage onto Devil's causeway around 5:55".  This area makes extensive use of the sunken temple / jungle environment prop set created by one of the Technical Artist's on the team, Thomas Schafer.  It was designed as a blend between the hard stone architecture of the dwarf forge, and the vegetative stinking swamp.

And finally back to the stinking swamp with a nice opening shot of the goblin water taxi drifting in through the water gate.  Grabbing a group of test characters ( yup, they are floating a bit! ) waiting patiently on the path, it's time to raid the gobo village and grab some loot.  The placeholder wizard has a new prototype freeze spell, giving him time to rail off those fireballs for a spot of goblin bbq.  Our small group gets it's ass kicked, so in the spirit of "here's one I cooked earlier" there's a little circular transition and our group is magically back in action for their encounter with the level boss, Slavemaster Urzal.  The cut-scene is very much a WIP, but features some of the great humour by our writer Pete.  We've cut it short for this video, as we don't want to reveal too much of the demo end-stage.