Tame the Wilderness

Monday 1 February 2016

Progress January 2016

Despite being low on energy in January I have managed to put some hours into Hintermark.  While the actual hours put into it aren't plentiful, they're usually efficient when they happen.  I thought I should share some of the progress with you, on this brand new blog.

Etage Visualizer

Last you heard of any progress on Hintermark,  I had spent a day or two to make a quick and dirty Etage Visualizer  [1] in Gtk# to optimize the workflow when working with dungeon generation.  That was a huge success and allowed a lot faster iteration.  The Etage Visualizer was soon expanded with support for checking player placement, different dungeon generators, seed control and stair placement.  The newest feature is the ability to load players in different states, e.g to see what maps look like depending on the player's quests and progress. It has over the month turned into a very useful tool, but looks hideous.

Conversation Simulator

Inspired by the Etage Visualizer, I realized that tweaking conversations and conversation-like interactions was a bit cumbersome to go into Unity to test.  So I added a small Gtk# app that allows me to run conversations and conversation-like interactions quickly, and allows me to choose players and conversation-"owners" quickly to check behaviour. This seems to work fine, and over time I think it'll be as beneficial as the Etage Visualizer.

Ambush Quest

The first (tutorial) quest (aka the Ambush Quest) is the current red thread in the development as I am developing general features to support it.  This allows me to use those features for other quests, both handcrafted and generated quests.  One of the more important features that will be in Hintermark is extended interaction with the environment. In the Ambush Quest this is central to the quest several times to ensure players know that environment interaction can get them far.

As part of this quest the player will approach the ambush site and needs to inspect it for clues on how to proceed. Triggering environment actions and inspecting the general environment is now 80% implemented, and it feels right so far.  The work here also caused a full overhaul of all floor tiles, decor, items and creatures to ensure they all had proper names and descriptions. The presentation has taken a backseat to functionality so far.

A bit later in the Ambush Quest the player will find a natural cave, and work has started on the generator.  The general dungeon generator uses rectangular-like rooms, which makes it fairly easy to  insert various tactical elements.  We need fun tactical elements in natural caverns, as well.  Natural caverns don't have a rigorous structure like a man-made dungeon, but are more fluid in nature.  This is the main challenge for February; to allow a more general way to describe areas for insertion of tactical elements, so that we can use most of the code for the dungeon generator in the cavern generator, too.

Technical Progress

Among other things, a smarter way to deal with coordinate flags has been implemented.  This is separate from the field-of-view (FOV) code and takes into account special behaviour of certain floors and "decor" on each coordinate in a better way.  This was a fairly big rewrite, but already allows more fine-grained behaviour for how to deal with coordinates for the FOV-code, the AI and for player choices.

I am using Tiled to edit some of the environments in the game, and especially for areas that the generators can insert.  Tiled is a multi-layered tile editor where I can insert abstract and object information into these areas.  Besides normal drawing of areas and placing items and environments, I use it for adding quest information, meta information and even coordinate triggers and events.  Tiled exports .tmx files which I then convert to Hintermark's internal system.

What's Next

In February the plan is to delve into more of the dungeon generation and combining it with tactical elements, in particular for more fluid environments like a natural cavern (as opposed to the more rigidly structured dungeons).  Extending and working more on environment interaction is also the plan. 

To allow you all to see what happens, I expect to make a short video to demo some new features and  revamp the website a little bit.


  1. Etage is the word I use for a generated floor or level.  As both floor and level are kind of ambiguous words I chose the word etage.

No comments:

Post a Comment