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.

Tuesday, February 24, 2015

Feb Update

Work on the journal system has been progressing fitfully. I guess it's not the most glamorous feature, which is why it's getting added so late.

Not much else to report.

Wednesday, January 28, 2015

Resting

... is what I haven't been doing. Two small kids is tough.

I have made some progress on the hobby project, wrapping up the Resting Refactor. Resting is now a much more interesting encounter. Not the least interesting is the introduction of supplies as a party resource, without which resting does not regenerate resources.

More on resting later perhaps. For now, here are some screenshots.

Beginning to rest.

Resting in progress

Saturday, December 13, 2014

Dec (lack of) Progress Update

No significant work has gone on for a while. I'm anticipating more time in the new year, but that remains to be seen.

So there won't be a December release. Enjoy the festive season!