A party-based, first-person, fantasy CRPG with phased combat, class-based character progression, and programmer-art. I called it "old school" until the term got trendy. It started inspired by Wizardry VII and the lack of a free open source alternative. Today we are living in the indie revolution and there are far more influences, but the game still clearly shows its Wizardry lineage. It's playable end to end, but there is a lot more to do before it's done. This blog tracks that work.
Friday, December 20, 2013
v0.913 released
---------------------------------------
v0.913 (22 December 2013)
---------------------------------------
Other
- 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
---------------------------------------
v0.912 (1 December 2013)
---------------------------------------
Features
- 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
Other
#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
1024x768
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
// let's see if I can fight the cheap red wine and get this rightClearly I didn't, as evidenced by bug #76.
Wednesday, October 16, 2013
An update and development and other things
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
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.
Monday, September 9, 2013
Development Update: No sooner said than done
The work is not yet complete, but the new design is a lot more consistent and fun to use than the old. It now goes Race & Gender -> Class -> Kit -> Spells -> Name/Portrait/Personality.
Race/Gender and Class both benefit greatly from redesigned screens. Kit gets a whole screen and will become a "first-class" choice. Moving the personals section to the end adds some focus to those details.
Kit choice! Kits will include their own descriptions, names (they're currently named after the primary weapon), and a set of modifiers that replaces modifier assignment. This will make for a great chance to add some flavour, and hide new players from the complexities of weapon attack modes and spell book favoured modifiers. A redesigned screen will give me the chance to display all the starting items of each the kit for inspection by the player.
Work outstanding is the redesign of the kits screen, and a lot of
Sunday, August 25, 2013
Development Update: Suggested Names
Monday, August 12, 2013
Development update
This has an some indirect impacts on loot drops. First, each foe now generates loot prior to combat rather than all loot drops being generated at the end. This open up some interesting options for theft/breakage/other impacts in foe items that I had planned many years ago but never come close to implementing. Second, foes that rely on equipment (hirebrands, leonal knights, etc) will now drop stacks of loot. I may need to work in some kind of destruction of items before dropping them, and will probably need to implement the long-dreamed of party-inventory.
Opening one door always reveals more doors to explore beyond, but these ones are for further in the future.
Hooking up actual foe behaviour to equipment and the GOAP AI will be a lot of work still, so I may have a go at cleaning up the open bugs and cut a release before tackling it. We'll see.
Monday, July 22, 2013
Development update
Character races can now be assigned natural weapons, but the player can't yet make use of them. In time, in time. Races and character classes will also receive multiple spell-like abilities, rather than the current single special ability. Those two changes will need a UI update...
On the other end of the change, I've written a simple Goal-Oriented Action Planner in a reasonably general-purpose way. World state is stored in a set of booleans. Given the starting and desired world states and a set of actions that each have a cost and change the world state, the AI can plot (via an A* graph search) the least-cost path to the desired world state. Credit goes to the GPGOAP project for showing me how easy such a thing could be to implement.
So the end game in sight is that every UnifiedActor can express a list of possible combat actions every round. Players select them via the UI. Foes will run their list of actions through the GOAP AI and use what pops out. We're still some way off from that, and the magic will be in expressing cost and world state changes of every single foe combat option. Garbage in will mean garbage out, as always.
Friday, July 5, 2013
Refactoring Continues
What remains of the refactoring is to generalise a number of features of Foes that get in the way of letting them just use items - notably the FoeAttacks. These will get refactored out into Natural Weapons associated with body parts, special abilities, and the existing spellbooks. A nice side effect of this is that PlayerCharacters will have access to natural weapons and multiple special abilities with a little more work. Yetis, I think, will get claw attacks.
After that it's on to writing some AI for foes to actually equip and use the items where possible. Each foe will get it's items from the configured loot table, and before combat get a chance to load out whatever slots it has available to best effect.
The indefatigable Rob A has done some invaluable testing and has filed a bunch of issues over in the tracked at SourceForge, which I will get onto after that.
Wednesday, June 26, 2013
Where we are
Monday, June 3, 2013
v0.911 released
---------------------------------------
v0.911 (4 June 2013)
---------------------------------------
Features
- Added 'forget' spell result that removes auto mapped area
- Character speech in NPC conversation now appears in speech bubbles
- Conversation dialogue for Ideaus and Stenelaus
- Added NPC: Pandarus the tobacconist in Aenen
- General Options event that presents a dialog of options to the player
- Numerous small content additions in various zones
- Renamed Merfolk race to Triton
- Added Amphibious property, assigned to Tritons
- Attribute modifiers are no longer editable on level up
- Increased race and class impact on attribute modifiers
- Introduced a level up bonus option to increase a base modifier by one
- Removed ATTACK RATE modifier, attacks and strikes are now explicit
- Removed Spell shortcuts, replaced by Display Name
- Source distro can now compile and package from scratch
Wednesday, May 29, 2013
A pact with the powers of darkness
Hogan, as always, his stomach churned as the powers of darkness responded to his call. Hogan. Our loyal servant calls once again upon us. What do you require, Hogan?
Power, master, Hogan replied, power that I am owed by our pact. Honour our pact and grant me now this power.
Power we will grant you, Hogan. As always, there is a price. How might our loyal servant pay us that grant him power?
I may pay with all that is mine to give, master. Say but the word. Hogan knew the words by rote.
Indeed you shall. We have need Hogan. Need of your BLOOD, need of your STRENGTH, need of your SOUL. How shall you pay for the power that is to be yours?
Hogan's mouth was dry. He knew he could not consider the question too long. I will pay with my blood master. Honour our pact and grant me the power!
~~~~~~~~
A shuddering cry disturbed the glade. The party leaped to defensive postures. There was a moment of silence, then Hogan staggered into view and stood pallid and trembling, leaning heavily on a tree near the edge of the glade.
"Hogan!", exclaimed the Knight, "Are you alright?"
The Acolyte raised his head. His features were haggard and pale and pinched with pain, but his eyes burned brightly from beneath his dark brows as he regarded the others.
"Yes. Yes I am. Let's go"
Monday, May 13, 2013
Where We Are
Not for me; Connor is three months old now.
No, it's been quiet for development Escape From The Maze. Very quiet.
I have done a few things: replaced Attack Rate a better implementation, removed base stat boosting at level up (it becomes a bonus option rather than something you can spend a modifier point on), added some minor content, and tweaked a few things.
There was a complaint on the project page that the source distro wouldn't compile. This is valid, because it's just a roll up of the source code. He raises a good point though, and I'll aim to have a working source distro up before I upload the next release. That'll come when I have some free time...
I have been playing some Frayed Knights, it puts the little boy to sleep. I recommend it, although it's a very different flavour of Wizardry clone to what I'm aiming for.
Thursday, February 21, 2013
Thinking Of System Changes
No More Attack Rate Modifier
A generic "Attack Rate" modifier that is translated into a number of attacks/strikes sounded like a good idea, but wasn't. Instead I'm going to try this: A base single attack with a single strike that is increased by (a) level and focus, (b) attack modifiers and (c) misc other stuff like items. Attack modifiers will modify the number of strikes per attack (e.g. Swing +5 grants an extra strike on each Swing attack). Level and class focus will modify the number of attacks (e.g. 2 attacks at level 5 for combat character classes). Other things will modify these numbers directly (e.g. weapons that grant extra attacks or extra strikes per attack).
Modifier Effects (What Might Be Called Skill Trees In Another Game)
In general, every skill modifier and base modifier should grant different effects as they are increased, probably at thresholds like +5, +10.
No Boosting Base Stats At Level Up
The base stats Brawn, Skill, Thieving, Sneaking, Brains, Power will no longer assignable at level up. This will take re-balancing of the class and race starting stats and the level up assignable modifiers, but it should (a) make the class/race choice at character creation much more significant, (b) avoid just spamming these base stats instead of the skill modifiers and (c) allow me to differentiate races and classes more by bumping the starting values to more significant values. I may add a level-up bonus option for bumping these base stats instead.
Fix Foe Data Model
The custom Foe data model needs to be changed to correspond more closely to the Player Character model. As close is possible. This means foes with inventories, using weapons and items that they have available, etc.
No More Stealth Points (Perhaps)
The Stealth points really haven't done the trick, it may be time to do away with them.
A Better Magic System
I want to have differentiate the schools of magic more. For starters: resource management. Instead of every school using a bland pool of Magic points I will introduce a different spell casting mechanism for each. For example:
- Sorcery (maybe) operates on a D&D-like spell book with reserved spell level slots. Sorcerers may have a starting item (spell book) tied to their casting, and usable as a way of replenishing their spell slots.
- Elemental magic comes from within: users spend stamina points to cast spells. Users channeling elemental energies through themselves must be careful to avoid letting it get out of control.
- Black magic users trade portions of their soul for spell casting, perhaps a very large but very slowly (or non) regenerating pool of points to spend coupled with consequences as the total drops towards zero. Consequences culminating in death or possession or something.
- Need more thought on White Magic (soul again perhaps, but in reverse), Druidism, Enchantment (something to do with the fey) and Witchcraft.
- Differences may include how spells become available (all, some, spell picks, etc), whether they can be cast at different casting levels or not.
- All unique spells in each school, no more spells shared between schools. For spells that offer important game-system effects (e.g. Identify, Knock-Knock, Heal), alternatives will need to be invented.
- Better names for each spell. Think MtG rather than D&D.
- No more spell shortcuts, it was cute but it's over now. The spell dialog search can work on plain old spell name.
- More spell effects that "break" the system. Inspired by Rampant Coyote's recent blog post I want to have a bash at incorporating some of the "system breaking" D&D spells into Maze. Things like Charming, Divination spells, Teleportation, Flight/Levitation, Shatter, Polymoprh, , Wishes, Time Stop, Disintegration. Those are just the obvious ones, never mind Protection From XYZ, Speak With Plants/Animals/Dead/etc, Animate Objects, Enchant Weapons, Tree/Sanctuary/Statue, etc. Yeah I paged through my first edition D&D Player's Handbook for that :) Some will take a lot of effort, but it's worth a crack.
- More condition effects. Crazy stuff like infection with a fungus, haunted by a spirit, accompanied by a genie, and so on.
Saturday, February 16, 2013
Connor Brett McLachlan
Life is a little distracted from the hobby project, but hopefully only temporarily so.