Thursday, April 3, 2014

Spell Targets, Story Boards and Level Progressions

The UI refactoring wended it's way on to a refactoring of spell targeting. Since inception spell targets have been represented in combat intentions and actions as a single integer, which is interpreted differently by the resolution code depending on the target type of the spell. Pretty ugly.

That's been updated in good OO fashion to be represented using the SpellTarget interface. Actors, Tiles and Groups are examples of implementing classes. This was a bit enough refactor to merit a development item on it's own, but at least it's down now.

After that I took a diversion into some fun stuff. Some classes and races have been renamed, in the quest for better flavour. Yeti to Mirka, Salamander to Hynobi, Troll to Neotroll. Warriors are now Berserkers, Thiefs and now Burglars. The latter two also do a better job of highlighting my intentions for the roles of those classes as opposed to the Hero and Knave.

Some more fun stuff was redesigning the introduction. The game launches straight to the menu now, and starting a new game walks through a storyboard images (some still placeholders) and text. Here's the first:

Finally, I've moved on to level ability progressions. Each character class will have a progression of level abilities that the character is granted at each level up, 1 to 20. I'm working on the editor and data layer for this at the moment, but the real work will be defining and implementing these abilities. As usual, the scope of work is something like
Data Model < Game System < CRUD < Content
So that's where we are. I'm still aiming for a June/July checkpoint release, and to keep the occasional blog post coming.

Tuesday, February 25, 2014

February Update

Progress has been slow. I'm wading through some UI tinkering, which is always tedious, time consuming and hard to do in small chunks.

Once it's done character action selection will be done via popup menus on each character widget. This mechanism is unashamedly inspired by the Grimoire UI. Once it's done it'll be far easier to add class and race special abilities to the menu.

Here are a couple screen shots of the work in progress.

During Movement

During Combat

Saturday, January 18, 2014


Happy 2014 to all and sundry.

Not much to report on the Maze front. We hosted family Christmas, which was fun and busy. Not a lot of dev time.

I have finished with the initial DIYComboBox implementation. This widget has long been missing from DIYGUI and will kick off some long awaited UI improvements.

I'd post a screenshot but the DIYGUI test client is pretty ugly. Let's wait until I've integrated it into the game a bit.

Friday, December 20, 2013

v0.913 released

In the grand tradition of rapidly releasing in order to fix a couple of serious bugs, I've dropped v0.913 on SourceForge. Thanks to the tireless Rob Ayres for reporting them.
v0.913 (22 December 2013)

 - Increased spell casting stats for Parched Vultures
 - Flagged Goblin throwing knife attacks as ranged instead of melee
#81 NPX in combat
#86 NPX when foe carries non-equipable item
#89 Editor: warning on close window
#90 NPX trading with Stenelaus
#95 Many bombs have infinite charges
#99 NPX climbing stairs in CoC 

Family commitments over the festive season are probably going to bring development to a standstill for the next few weeks, but I'll see what I can do. Top of the list right now is implementing the long awaited combo box, in preparation for a combat UI revamp, which in turn is in preparation for a richer set of combat options.

Compliments of the season to all, see you on the other side :)

Sunday, December 1, 2013

v0.912 released

As usual, you can head over to SourceForge to get it.

v0.912 (1 December 2013)
 - Refactored Foe and PlayerCharacter to share common data model
 - Added a proper Inventory class, for use by PCs and foes alike
 - Added suggested names per race+gender to character creation
 - Added alignment, font and text colour properties to text areas
 - Redesigned the character creation wizard
 - Refactored starting kits into a first class data item
 - Detailed names and flavour text for class starting kits
 - Improved searching by name on spell display widget
 - Swapped available spellbooks of Sorcerer and Magician
 - Swapped available spellbooks of Priest and Adept
 - Swapped available spellbooks of Witch and Cultist
 - Added font size config property
 - Increased default screen resolution to 1024x768

#53 Display class changing requirements in UI
#54 Monster counting bug
#57 Cannot edit some modifiers on level up
#58 Chivalry never practised
#59 Combat modifiers not practised
#60 Kepnasha encountered in COC
#61 List things affecting a modifier
#64 Spellbooks to indicate which magic school they belong to
#65 Many spellbooks have "to equip" requirements
#68 Examine balance of combat modifier practise
#70 Steal modifier does not practise
#71 Critical hit modifiers do not practise
#72 Powercast not practising
#73 Golden apples and Magic Nectar crash the game
#74 Theft spell hangs the game
#75 NPC speech detection is case sensitive
#76 Spell level limits to not work
#77 Cure poison spell crashes the game
#78 Sporadic crash opening waterfront villa chest
#80 Chamois Skirt has "reserved15 +1" modifier

Tuesday, November 26, 2013


I've upped the default screen res to 1024x768. 800x600 isn't as feasible as it used to be when I started dev on the game, and even 1024x768 is pretty small by modern standards. No art assets have been redone, but that may come in time. The screens do look a lot mor spacious, especially the text-heavy ones during character creation.

Here's some screenshots.

In the Gatehouse at 800x600

In the arena at 1024x768

Class selection at 800x600
Class selection at 1024x768

Next task is to package up and release 0.912, drawing a line under the last six months of tinkering. Time is limited, and I'd like to do a bit more regression testing this time, so I guess it'll be out in a week or two.

Monday, November 11, 2013

Development Update

I've been working away at the bug and small enhancement backlog. Highlights include displaying class changing requirements during the level up wizard and ensuring that every modifier increases practice at most once every round. Starting kit data is almost all complete too, pending some balance though.

Another few fixes and I will roll up a release for distribution. It seems like a six month release cycle is where we're at right now.

Monday, October 21, 2013

Comment discovered in the source

@ mclachlan.maze.stat.magic.SpellBook#getSpellsThatCanBeLearned

// let's see if I can fight the cheap red wine and get this right
Clearly I didn't, as evidenced by bug #76.

Wednesday, October 16, 2013

An update and development and other things

Not much to report. I have been working on the GOAP AI, which hasn't really gone anywhere. It's proving hard to represent the world state meaningfully in a set of booleans.

I've also been fixing some of the bug backlog, some good fixes going in there.

Other free time has been spent on Swords & Sorcery: Underworld and Occult Chronicles. Both great, I highly recommend them. Alas the little boy isn't going to sleep on my lap in front of computer games any more. My future gaming time may suffer as I'm forced to react to his new found mobility...

Monday, September 23, 2013

Development update: Character Creation

The redesign of the character creation wizard is done. Here are some screen shots:

1: Race and gender. Would be nice to have a character race picture somewhere here, but that can wait I guess.

2: Character class (and spell books if applicable). Looks like there will be a problem fitting in more classes, I may need to make a plan.

3: Starting kit. Includes flavour text, modifiers and the actual list of starting items. This replaces the Modifier assignment step.

4: Spell selection. This only appears for character classes that start with spells. Random doesn't work yet.

5: Finally, personal details. Name, portrait and personality are assigned here. It also displays a summary of the character's starting modifiers, the sum of race, class, gender, and starting kit.

As part of this work starting kits have been normalised out into their own database table, rather than being an atribute attached to character class (and race in the case of Faeries and Dryads). I have a lot of work outstanding writing flavour text for all the various starting kits. That will happen over time.

I'm feeling like I should get back to the foe AI, but we'll see how it goes.