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.
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.
Tuesday, November 3, 2015
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.
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.
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
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.
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.
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.
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.
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.
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.
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 |
Subscribe to:
Posts (Atom)