Thursday 10 November 2011

Folk Tale WIP Update 2

2 months since our last update.  Boy where does the time go?!

The dev video begins with a placeholder start screen.  As this will be a single-level playable demo to pitch to publishers and investors, the only option will be to start the game which triggers the intro cutscene.

Moored at the new docks area is our migrant galleon, the key mechanism for population control.  When your village has spare housing capacity, new villagers periodically arrive from far off lands.  On the flip side, if you are a tyrannical leader, unhappy villagers will pack up and leave on the next boat off the island.

Swinging past the beach and flying by the new windmill building that we'll mention later, there's a birds-eye view of your village, where the first 20 minutes of the game focuses on resource gathering, construction and economy.  Breaking a wide angle shot down, we have a single camera doing all the work, rendering the skybox, low-detail mountain geometry which responds to fog and lighting, a margin of ocean around a central island , and the main level map.  The far clipping plane is at a whopping 4500 to render the far mountains.  Unity's frustum culling removes objects off-camera, with our own distance culling system removing far objects that would otherwise be on camera due to the huge far clip plane.  We've played a little with the occlusion culling, but given it's buggy state, we're leaving this until Unity 3.5 is released.  A Preferences Manager handles the selection of default graphics settings, managing post render effects, terrain detail and culling distance based on the capabilities of the GPU combined with the screen resolution to ensure a decent range of machine specifications can be supported.

Back at the docks, and the migrant galleon rings it's bell to depart with an unhappy villager up on deck. Boats use a Taxi Manager that allow villagers to buy tickets and wait for the boat to arrive.  It also runs the Goblin Ferry in the Stinking Swamp. Boats currently use UnitySteer but for some reason the galleon is really jerky.  Something to investigate at a later stage.

As night time descends, several pesky goblins find their way into your village.  Nothing that a few Knights trained at the barracks and a wizard can't cope with.  As the battle begins, the sound track changes to reflect the heightened threat level.  You might recognise the Knight and Wizard models as purchased stand-ins, and not the work of our team.  Our Knight replacement is still being animated and just missed the cut-off for this build.

Quite a bit of work has been done to improve battles, but there's still a long way to go.  Melee combat is a challenge to implement well, especially when one unit is outnumbered and needs to be surrounded by opponents.  We're getting there, but more refinement is needed.

One more birds-eye view, this time at night time.  The day-night cycle uses the same system as our ambient zones which controls pretty much everything: fog, ambient light, sunlight, water, and soundtrack.  One problem we have is during the transition from day to night.  If you don't rotate the camera, the terrain billboards fail to update their lighting colour, which means you get daylight lit billboard trees at night time.  Other people have this problem, but as yet we've not found a fix.  We hope UT fix this in 3.5, otherwise we'll have to ditch the Unity tree system.

Our first new character introduction is the Lumberjack.  Villagers perform a number of menial jobs around your village, or can be assigned to specialist occupations by sending them to their respective occupational buildings for training.  Once trained, they diligently go about their task.  Here you can see our old  crappy looking trees, which we're slowly improving and replacing as we go.  One thing we need to do is ensure the positioning of the lumberjack when he fells a tree, so that he's not obscured by the tree foliage.  To enable interactive trees, we built a Terrain Manager that hooks in to the Unity Terrain Trees, and replaces each one on demand with a mesh tree that can be chopped down. That way the majority of trees benefit from distance billboarding.

Farming has featured before, so we'll not dwell on this other than to mention that the animations need revising, and animation events adding to trigger the sfx on cue instead of the current looped sample that don't sync.  The farmer plants, grows and harvests wheat before taking it to the windmill to be ground in to flour.

Our second character introduction is the female villager, seen in the video milking a cow, which also makes its first appearance.  Milk will be taken in churns to the yet to be modelled farm, where it will then either be sold, or we might expand the economy to include cheese making.

Finally we have the Miner.  Currently he hacks away at a pile of iron ore, but ideally we want him to go into the iron mine.  Once he's collected the ore, he'll return to his yet to be modelled occupational home of the Smelt, where it will be turned in to iron bars for use in construction.

Entering the lava pools of the Old Forge, we have the makings of our first simple puzzle.  I don't want to talk too much about this, saving it instead for a future update when we've got the voice over recorded and can show the whole piece in context.  We're using Boxman's arc lightning effect from the Muse-games Fabricator contest.  We hope you enjoy the eye candy, and the moody soundtrack.

Wading into the Stinking Swamp, the goblins have built a new palisade fortification, with watchtowers patrolled by archers.  The walkways have been widened to work better with the resolution of the AI Pathfinding grid.  As the camera pans around, we catch our first glimpse of one of Slavemaster Urzal's ogre bodyguards, wielding a hefty looking spiked club.

Our final location of the day is the Ogre Mines which we only introduced earlier this week.  Our little band of adventurers has gained some experience by now, and is ready to tackle one of these brutes.  The Knights take up positions around the ogre, while the wizard remains at range to lob off a few fireballs.  Hovering over an enemy will show a red health bar, and the monster's level.  We didn't want to clutter the screen with UI.

Most of the segments in this dev video were produced using our CutScene Manager, giving us control over iTween camera paths, image effects, actors, sound effects, voice over, and world events.

Well, that's it for another month or two.  Next update we should be able to unveil the snow mountains, and possibly the coolest characters yet.