Pages

Tuesday 30 July 2013

Folk Tale Dev Blog 9

by Simon Dean, Project Lead

Following the disruption of June due to the launch on Steam Early Access and the team transformation, normality has returned and the pace of production is picking up once more. Hopefully you'll have watched the Sandbox Vision Presentation and know that our first two major updates will be a preview of the Location Editor and a Tower Defense Mini-Game to test out new systems being introduced for sandbox. I'd like to share with you the progress we've made on both these and other tasks during July.

Location Editor

For sandbox, map variety is essential for replayability. The terrain system in the Tutorial was great for a linear campaign, but doesn't provide the flexibility required for a sandbox game where infinite variation is required, nor did the old terrain system support player designed maps. We've been developing our own tile based system built around kits that will let players snap together their own worlds, save them, and share them with the community.

We'll be eating our own dog food so to speak, and using the editor to design a variety of location maps that will be included in the final game so players can dive straight in and enjoy full and varied games, or open them in the editor to dissect at your leisure as part of your learning if you like the idea of designing your own worlds.

Here's a *very* early sneak peek at the Location Editor in action:



The Location Editor ( not to be confused with the World Editor ) is based on kits. Each Location is themed, for example snow tundra, volcanic mountains, or grassland. There will be terrain-based kits for each, including transition kits for helping blend between two terrain kits, for example if you wish to include both snow and grass plain terrain features in your Location. There will be some constraints imposed for memory management, so we plan to warn players if their Location design is likely to be over memory budget so that improvements can be made.

Some of the planned Kits include:

  • Terrain Kits inc. Transition Kits
  • Landscape Kits ( Backgrounds )
  • Building Kits
  • Character Kits
  • Trap Kits
  • Prop Kits

We're also working on a tile-based navmesh system that allows us to swap out sections of the navmesh, say when you construct a building. Navmesh systems have historically been fixed geometry "baked" at design time in an editor, and unable to change when a game is running. For an RTS game where you can build almost anywhere, we need to develop the next generation of navmesh systems, providing the memory-optimality of navmesh technology with the flexibility of grid-based pathfinding systems that can be recalculated in small areas ( e.g. a building area ) at run-time. Work is progressing well and we are now ready to integrate the new pathfinding system into the Location Editor.

Another part of the terrain system is the ability to load and save map data ( aka persistence ). This requires a framework to handle all of the games persistence requirements including map designs, navmesh data, and world game state for save games including characters, buildings, chests, and traps. That data needs to be flexible for development, but produce small file sizes that can be quickly downloaded from the Internet. Again, work is progressing well and map loading and saving can be seen in action in the video above.

Siege

If like me you've played your fair share of tower defense games, you'll know there's lots of pleasure to be had in designing your defenses to hold back hordes of attackers. In the first sandbox mini-game we hope to replicate some of that feeling, and to do so we've enlisted the help of some of history's most awesome siege machines. To defend your town, you'll be able to:

  • Construct the mighty Trebuchet to hurl at the goblin's siege machines from behind your walls ( we're also considering being able to fling fire pots and rotten corpses in later updates ). They are expensive both in gold and resource terms, take a long time to build, are slow to operate, but inflict a huge amount of damage;

  • Construct tower turrets including Repeating Crossbows to mow down goblin infantry ( fast rate of fire, low damage ), and the Ballista ( slower rate of fire, medium damage ) to target and wound larger opponents such as the ogres before they pound down your walls and gates;

  • Place spike traps ( eviscerate ), flame ( ignite ) and goo launchers ( slow ) to impede the goblins as they approach your walls;

  • Position the city guard around your battlements to fend off the goblins who'll be scaling your walls, and mount a defense where your wall is breached;

Wave after wave of goblin reinforcements will arrive, growing stronger over time. The goblins have their own siege machines, including the Goblin Trebuchet to pound your walls and buildings. We'd also like to include a Goblin Battering Ram but may have to leave this for another update.

Human Trebuchet


Human Defensive Traps And Tower Weapons


Goblin Trebuchet


Goblin Battering Ram



Once concept art is available, it goes into modelling where we create multiple detail versions of the object. Swapping models at runtime based on camera distance to show high detail close up, and low detail far away, is known as Level Of Detail ( aka LOD ), a technique games use to achieve higher frame rates. It's an art to decide what detail requires geometry, and what detail can be provided by a texture. The less geometry in an object the faster it is to draw and the less memory it consumes, but go too far and objects can lose their quality and start to look like a mobile game. During review we identify if any further optimizations can be made, after which is goes for texturing. Because we have so much content potentially in the world at any one time, it's important we maximize our reuse of existing textures, so most objects are mapped onto one or two very large texture atlas. One more peer review, and the completed object is passed to our Animator who rigs, skins, and animates the model bringing it to life ( two of the siege weapons nearing completion are included in the buildings video below ).

City Walls play an important role in defending your town, keeping siege machines and larger enemies at bay. Smaller monsters such as the goblins can however scale your walls, as shown in the video below. It's not as straight forward as simply creating an animation, instead a climbing system has to be developed that can cope with different height walls ( for example a wooden palisade is lower than a tall stone wall ) and has a different overhang that must be overcome in the final part of the ascent. Not only that, but pathfinding has to be seemless when a wall stands between a character getting from point A to point B, and smart enough to realize when there is a gaping hole knocked in the wall by a Trebuchet attack that would provide a much easier route to traverse.


Upgradable Buildings

Being the first of the new-phase of upgradable buildings, much more work has gone into the Bakery than will be required on future buildings. I shared the concept art for the Bakery in the Sandbox Vision Presentation, and this month we've revisualized tier 3 to add a second floor. We want your village to progress from a small settlement, to a prosperous medieval town, and part of that involves building upwards. So we've added a first floor to the tier 3 Bakery.

The art team have modeled all three tiers and painted new textures that will feature in all the human buildings, which can be seen in the video below, as well as two of the siege machines. There's often some deviation between the original concept art and the final object where we improve and tweak things throughout the workflow.


We've also added a more incremental construction process rather than the 3 stage approach that is currently in the tutorial. This will help provide a more realistic visual experience instead of a building switching instantly from 0% complete to 50% complete.

Now we have our precedent for building concepts including construction materials, and the new textures available, moving from building concept art to completed 3D models will be a lot quicker.

UI

We've completely overhauled the minimap:

  • It's now circular and shows the direction to location markers when they are out of sight
  • The rotation can be locked, or spin with the camera angle
  • Zoom now works
  • The origin button has been moved from the topbar to the bottom right of the minimap
  • A map button has been added to pull up a larger view of the whole location map
  • Markers now have tooltips
  • The current zone name is displayed above the minimap
  • The zones now fade in and out as you change zones


There are a few minor tweaks to make, and once finished we'll roll it out as a minor update.


Lots More Going On Behind The Scenes

There's a lot more happening behind the scenes than is presented in this month's blog. Our Animator has been doing a lot of R&D work to explore how best to implement character customization. It's an in depth topic, so instead we'll feature it in a future dev blog. Similarly, our Writer is also developing the dynamic story framework which we'll also feature in a future blog.

We're hoping to bring you at least one comprehensive development blog each month if you wish to follow how your support during Early Access is helping develop a game that the community has directly contributed to with feedback and suggestions.