Wednesday, June 1, 2016

The April May June update

Progress has been slow. I blame Hearthstone.

Not much code has been written, but a lot of spreadsheet work has been done coming up with special abilities for the different classes. There are a few gaps still, but I've moved on to implementing. Code needs to get written to enable some of the cool stuff, so that is in progress too.

In brief:
Character classes to be dropped: Magician, Cultist, Scout, Kamunushi, Knave (in favour of Burglar)
Character classes to be renamed: Kitsune -> Courtesan

Wednesday, March 30, 2016

Hard choices to be made

Progress-wise: favoured enemy modifiers are done, and some minor UI polishing of the character creation process.

The big feature rollout is kinda running out of steam - it's time to firm up the character classes and finalise that design. I think I'll be dropping a couple of character classes, at least initially.

Scout: since the heroic/retainer split this class has always been an uneasy shadow of the Ranger. I thought about changing it to Archer, but Ranger shades that a bit too.

Magician, Cultist, Kamunushi: these two-magic classes have never had a strong identity (except maybe the Cultist), and there are a few missing from a full roster of combinations. Maybe a future addition.

After that, I think I'll rename the Kitsune class to Courtesan. The design still needs a female-only stealth-focused Purple magic class. But as interesting as the "kitsune as a class" idea was it's just a little too confusing. Courtesan ticks those boxes and opens up some interesting options for non-combat class abilities.

Tuesday, March 1, 2016

March Progress Update

Foe types are done. A foe can have multiple types, which can confer modifiers, natural weapons and special abilities. This is the springboard for a bunch of "favoured enemy" type character class abilities, provisionally up next.

The foe information pop up is also done. You can right click on a foe sprite in an encounter and be rewarded with something like this (subject to mythology modifier and foe identification difficulty):

Tuesday, January 26, 2016

January update

January has seen a little progress. I've fixed a bunch of combat related bugs, and implemented the Iajutsu special ability. 
The art of rapidly drawing and attacking with a sword.

Costs 1 Action Point per activation

Requires the character to be wielding a primary weapon that is a sword and has the KENDO weapon focus
When attacked, as a pre-combat action the character makes a single attack with one or more strikes against a random foe within reach

A non-zero IAJUTSU modifier enables this ability
The value of the modifier indicates how many strikes are made (typically 1, 2, 3 or 4).
With this the mechanics are there for other re-combat actions. I'm thinking: ninjas getting a shuriken attack, warlocks getting some kind of wild magic. Maybe others.

The big ticket item on the horizon is the Great Magic Refactor, but I'm kinda working through a few small things to build up momentum first.

Friday, January 1, 2016

Happy 2016

As is already apparent, there won't be a December release. Holiday season with two small kids is just too busy.

Feature development will carry on at the usual pace, and I'll aim for a June release. That semi-officially makes the release cadence every 12 months...

Tuesday, November 3, 2015

Is It November Already?

Time flies. Development has been slow; life has been filled with sick children, international work travel, and other time consuming stuff.

Updated actor encounters are done. Unifying the Foe and NPC encounters is pretty exciting.
Updating Chest and Door encounters is underway. Those should really be unified too (so that doors can have traps and chests can have locks). We'll see if I have strength for that. At the moment I'm just ploughing through to get everything on the new UI and event processing design. I'd rather like to get on to something fun and frivolous.

Saturday, August 29, 2015

The Almost-September Update

Work on spicing up foe encounters is underway. NPC attitudes are now a state machine rather than an integer: attacking, aggressive, wary, scared, neutral, friendly and allied are the states. All foe groups can now be encountered with the same attitude range - default per foe template, override-able via the encounter script.

That turned into updating the foe encounter UI to move to the new design where individual PC actions are in their own expandable combo menus, while only party-level options are on the main screen.

That in turn led to eliminating the separate thread for combat - combat is now finally played out entirely on the Maze event thread. Which in turn meant some changes to the combat event display UI, again bringing it in line with the new design.

Now I'm busy building out the different PC options for different attitudes of encounter. Most (e.g. Threaten) will ultimately be tied to character class abilities. But for now it's led to an exercise in refactoring the character action resolution to decouple it from an actual combat being in progress instead of faking a combat just to process character actions. Not only neater and simpler, but it'll mean that for every character action there will be an intention-action-event cycle, which in turn means that conditions and modifiers can be involved at every step.

So your Troll Berserker might end up gagging helplessly if he tries to Threaten away a group of Aggressive Giant Mantises while he's nauseous, at which point the foes will probably choose to attack.

Anyway. Bit down the rabbit hole, as you can see. But chugging along.

Thursday, July 23, 2015

July update

The one important piece of work this month has been improving performance while moving around maps. It had gotten pretty sticky, and I finally traced the problem to some UI screen updates called on every move for screens that were not being displayed in movement mode.

All the stats, properties and modifiers screens were getting updated every move. It was probably there to work around a bug at some stage, not required any more. And the incremental improvements to character stats (LevelAbilityProgression, for example) have made refreshing those screens a somewhat costly exercise. You'll still notice the cost when one of those screens gets loaded, but not during movement any more.

Tuesday, June 23, 2015

v0.915 released

Get it over at SourceForge, as usual.

It's pretty rough around the edges, but I'm in the middle of a multi-year feature-packing mission. Time later for stability! :)

v0.915 (23 June 2014)
 - Redesigned Resting as a more interesting encounter
 - Introduced supplies as a party resource, consumed while resting
 - New consumable items are automatically converted to party gold or supplies
 - Added progress bar to load game screen
 - Added Journals: Logbook, NPCs, Zones and Quests
 - DIYLabels support drawing both an icon and a text string
 - Defined Affliction conditions as Curse, Disease or Poison
 - Hostile Affliction conditions begin unidentified
 - Conditions can repeatedly inflict spell effects
 - Unlockable character races
 - Added Gnome race, unlocked on talking to Mnesus
 - Foes now reliant on their inventory, spellbooks and natural weapons

#101 Lost spellpicks on level up
#104 Crash after changing class
#105 Crash in regenResources
#108 Vendor inventories unusable

Monday, June 22, 2015

Foe template refactor

It's finally (more or less) done. Foes are now entirely reliant on either their inventory, natural weapons, spell-like abilities and spellbooks for actions in combat. FoeAttack is no more!

Going to checkpoint and release v0.915. It'll be rough, but it's time to get something out there again.