So, per the steps laid out in my previous entry, I made a bunch of changes to the quest system.
.. and I am happy to say they seem to be a success.
I was able to push forward on one of the quests "The Noble Air of Violence" in garranshall, and am nearly done with it.
Having actions fire on hearing NPC responses makes for a more natural changing of the world, and I can already see that having quest-local story flags is going to be really valuable.
Next Steps
So with story-telling well in hand I am getting back to work on several other aspects, some new, some old.
The big monolithic map switch-a-roo...
This is a big one, so it may be better left till the weekend.
Water Effects
Now that we have a few water areas in the game, (like the royal baths and the grotto); I'd like to add a feature that detects if you've walked into the water, and if so draws you with effects such as animated edge-ripples, and partially obscured.
I haven't yet decided how to do this...
On one hand I could use a data-layer in-map; but this has the undesireable effect of needing to be drawn (in editor), in addition to the water tiles themselves; editing of a map can cause discontinuity between these two layers, leaving things in a "can't happen state".
The other method is to say that certain tile images are 'water'; this adds a bit more complexity in the lookup process; but it means that 'water behaves like water if it is water'; but this also means that doing fancy things like varried depths of water (such as crossing a stream) becomes more difficult/cumbersome.
Perhaps combinging the two; water indicated tile images; with a generalized 'depth-map' would achive both ends; still that depth map could be brought out of realistic senarios of simple edits to ground tiles happened without updating the depth map.
I may simply signify constant water depth per graphic and call that a happy-medium; we shall see.
Roof Layers
This has been a want for a while; a layer above the wall layer that is used for drawing stylistic roofs/facades for buildings. The roof layer automatically vanishes/reappears (smoothly) depending on player character position.
This will help the graphical style of the maps overall and convey more than just ortho-view cut-aways do at the moment.
I've been experimenting with roof tile graphics and window-glass tilings to create nice facades; it should look really good.
NPC AI
At the moment, NPCs can random-walk, and be talked to; not exactly riveting but it's served so far.
Eventually my goal is to have in the character template; a number of standard AI patterns that are room-contextual.
As such a blacksmith API, would routinely find and move to a forge for a time, then find an anvil and whack-away; only to do it again and again.
In a room without anvils; or forges, the AI wouldn't do anything, of course; though random-walk may be a fallback for all AI.
I can imagine a dozen or so AI patterns for diference classes of NPCs that should really help to bring some life to the scene; eventually it may even perform useful tasks in 'driving' the world.