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. 
Iajutsu
The art of rapidly drawing and attacking with a sword.

Cost
Costs 1 Action Point per activation

Mechanics
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

Value
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)
---------------------------------------
Features
 - 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

Other
#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.

Tuesday, May 12, 2015

Unlockable character races

The feature is in. Fairly simple in the end, and a fun one that I've had at the back of my mind for quite a while.

Gnomes are in too, unlocked when you visit Mnesus in Aenen for the first time. They need some art and text content creation, but I've put that on the bench in favour of trying to complete the year-old foe template refactor.

Wednesday, April 29, 2015

Conditional Changes

Updates to condition handling are in. Poisons, curses and diseases are collectively called afflictions. Conditions can not be unidentified; afflictions are now such by default. Identification is needed before a condition can be removed - this will be done via spell effects and special abilities.

Conditions can now apply repeated spell effects to the bearer. This lets one model the typical Wizardry Disease condition using configuration: 1% chance of nausea every turn, and so on. It's not limited to afflictions or negative conditions, so there are some interesting possibilities for buffs and other effects.

Condition effects can also be non-unique now, and again afflictions are set up as such. So you can have multiple different diseases in effect.

As usual, content additions are lagging behind. But we'll get to that later :)

With this rather grim work, it's on to something more fun: unlockable character races.

Sunday, March 22, 2015

March Update: The Journal

The Journal infrastructure and UI is there. Much of the actual content is done thanks to some judicious calls to log FlavourText events and NpcSpeech events to the journal. Quests remain, but I'm leaving it that way for a future Quests rework.

The Journal could also use the searchability, maybe the ability to add your own notes, maybe integration with the Map. Again, for the future.

Next up is Afflictions. Curses, Poisons and Diseases will hopefully become a lot more interesting.

Here's a Journal screenshot, right after having started the game.
Function over form for this feature, methinks.