Today's task was refactoring the level up logic out of the UI widget where it was and into a separate class (I have named it Leveler) that contains all the logic and none of the state.
This is required so that the Leveler can be called from a different place to the UI. This new place is an automated character builder that can be parameterised with various strategies for developing a character and then asked to churn out a given player character (class/race/gender/etc) at a given level, applying the parameterised build at each level.
The automated character builder is required for a few reasons. I want to be able to automate various builds across all the different character classes and then run them through a "scorer" to determine their relative power, and also run them in a party through a simulated adventure.
As a bonus the code is now a lot more testable, not that I have time to write much in the way of tests.
The lesson here, children: don't put your business logic in your UI code.
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.
Saturday, August 25, 2012
Friday, August 17, 2012
In Which Progress is Slow
Balancing work proceeds slowly. I am still developing tools to measure it. Ideally I want the ability to a complete simulative walkthrough of the game, tracking average foes and loot as they are encountered.
In Real Life, the wife and I have moved house (from a small apartment to a large house), and I can officially announce that she's knocked up with our first child. So various the burderns of admin continue to steal my time away. Never the less, work will continue! :-)
In Real Life, the wife and I have moved house (from a small apartment to a large house), and I can officially announce that she's knocked up with our first child. So various the burderns of admin continue to steal my time away. Never the less, work will continue! :-)
Sunday, July 29, 2012
v0.909 released
Release early release often, they say.
---------------------------------------
v0.909 (28 July 2012)
---------------------------------------
Features:
- Music and musical instruments
Other
3545088: NPX in loot items widget
Well, it's been a good few monthly 'often' releases. v0.909 is out the door.
The next feature, as I mentioned, is Balance. This will take a while and monthly releases are hereby on hold until further notice.
I will post now and then about progress. Hopefully with pretty graphs.
---------------------------------------
v0.909 (28 July 2012)
---------------------------------------
Features:
- Music and musical instruments
Other
3545088: NPX in loot items widget
Well, it's been a good few monthly 'often' releases. v0.909 is out the door.
The next feature, as I mentioned, is Balance. This will take a while and monthly releases are hereby on hold until further notice.
I will post now and then about progress. Hopefully with pretty graphs.
![]() |
| Weapon strength (scored by a custom algorithm) grouped by attack modes. Stats as of v0.909 |
Sunday, July 22, 2012
Music, musings and the July release
The music implementation - mostly involving the configuration of instruments - is done and dusted bar the sprinkles. Sprinkles of items in the loot lists, that is. I'm not going to go too wild on that front, but the Skald and the Troubadour will start with instruments and there will be a variety to be found in various chests. Progress was a little slower due to a ten day business trip to the States, but v0.909 will be out before the end of the month.
I a toying with the idea of skipping a monthly release for a while, here's why:
The next feature on the plan is Balance. Currently game balance within a campaign is completely up to the creator. In the default campaign I am managing it roughly with an Excel spreadsheet and my grey matter. This no doubt means that the campaign is completely unbalanced - and anyway I have no idea since the only way to ascertain balance is to do a complete play through.
I plan to develop some tools to make balancing a campaign easier. I'll see how they an out, but I'm thinking of at a minimum:
I a toying with the idea of skipping a monthly release for a while, here's why:
The next feature on the plan is Balance. Currently game balance within a campaign is completely up to the creator. In the default campaign I am managing it roughly with an Excel spreadsheet and my grey matter. This no doubt means that the campaign is completely unbalanced - and anyway I have no idea since the only way to ascertain balance is to do a complete play through.
I plan to develop some tools to make balancing a campaign easier. I'll see how they an out, but I'm thinking of at a minimum:
- Scoring item power and tracking the expected player acquisition thereof. Ditto for wealth.
- Scoring foe power and tracking the expected player encounter thereof. Ditto for experience.
Perhaps also:
- Simulated path finding through maps
- Simulated character builds
- Integration into the Mazemaster editor - graphs and stuff
Some of this may involve tinkering with the data model a bit. For example, I plan to make vendors generate items from loot entries as well as individual item templates. Loot entries have become a tool for me to manage how soon a player has access to a given power level of items, and making the vendors use the same method for generating their items as the chests and foes will simplify tracking potential player item acquisition.
Anyway, all this will be very behind-the-scenes sort of stuff. So there may well be no point releasing every month.
But I will certainly be dumping my thoughts and plans here, regardless.
I will leave you with one closing though: in the default campaign, the item in the database with the highest average damage is currently the Butterfly Knife...
Tuesday, June 26, 2012
v0.908 released
Not a lot of bullet points in these release notes, but still a nice update to functionality.
The next feature I'm going to wrap up is Music - mostly adding instruments to the item database, since the plumbing for the rest is done. After that I think it's on to Game Balance and Campaign Extension.
---------------------------------------
v0.908 (26 July 2012)
---------------------------------------
Features:
- Player character personality speech
The next feature I'm going to wrap up is Music - mostly adding instruments to the item database, since the plumbing for the rest is done. After that I think it's on to Game Balance and Campaign Extension.
---------------------------------------
v0.908 (26 July 2012)
---------------------------------------
Features:
- Player character personality speech
Sunday, June 24, 2012
Wrapping up for the June release
The personality stuff is in a releasable state, and over the next week or so I'll find the time to drop a new version on SourceForge. Next feature on the list is fleshing out the Music skill.
Here's some screen shots of the characters with stuff to say.
Here's some screen shots of the characters with stuff to say.
![]() |
| An encounter. |
![]() |
| Having wasted a bad guy. |
![]() |
| They're all keen for you to pick them. |
Monday, June 11, 2012
Back from Malawi
11 days backpacking with the wife. It was awesome.
Maze is still on track for an EOTM release. I am working on the Personality stuff; it's been a lot of fun.
Maze is still on track for an EOTM release. I am working on the Personality stuff; it's been a lot of fun.
![]() |
| Sunset over Thumbe Island, from Cape Mclear. |
Saturday, May 19, 2012
v0.907 released
Head over to SourceForge to get it.
The wife and I are backpacking in Malawi for a couple weeks, so there may not be an update in June. I've started on the Music and Character Personality features, we'll see how it goes.
Release notes:
---------------------------------------
v0.907 (19 May 2012)
---------------------------------------
Features:
- Normal damage split into Bludgeoning, Piercing and Slashing.
- Craft Recipes and Item Enchantments refactored into separate database table
- Implemented carrying capacity penalties
- Gadgeteer character class
- Engineering modifier, gadgets and gadget components
- Added axes, hammers and javelins as throwing weapons
- Added darts, knives and stars as recognised ammo types
- Implemented wild magic spells.
Other
3513860: Many modern weapons have bow type
The wife and I are backpacking in Malawi for a couple weeks, so there may not be an update in June. I've started on the Music and Character Personality features, we'll see how it goes.
Release notes:
---------------------------------------
v0.907 (19 May 2012)
---------------------------------------
Features:
- Normal damage split into Bludgeoning, Piercing and Slashing.
- Craft Recipes and Item Enchantments refactored into separate database table
- Implemented carrying capacity penalties
- Gadgeteer character class
- Engineering modifier, gadgets and gadget components
- Added axes, hammers and javelins as throwing weapons
- Added darts, knives and stars as recognised ammo types
- Implemented wild magic spells.
Other
3513860: Many modern weapons have bow type
Thursday, May 10, 2012
A Great Day Dawns
Every item in the database has an icon. Except the TestItem, but he doesn't really count. No more gold question marks.
The gadgeteer/engineering is all done, barring seeding the existing campaign data with places to actually find the gadgets. I'll do some degree and that, but most (like a vendor in Aenen) will have to wait until the details campaign rework.
I'll package and drop a release before the end of the month. The wife and I are out of the country for a couple weeks soon, but v0.907 will be out before then.
The gadgeteer/engineering is all done, barring seeding the existing campaign data with places to actually find the gadgets. I'll do some degree and that, but most (like a vendor in Aenen) will have to wait until the details campaign rework.
I'll package and drop a release before the end of the month. The wife and I are out of the country for a couple weeks soon, but v0.907 will be out before then.
Monday, April 30, 2012
No April Release
A combination of bathroom renovations, house hunting, and a camping weekend away have kept me busier than usual, so this month I'm skipping a monthly release. The Gadgeteer stuff is approaching halfway done, but not in a state where they really add anything to the game. It should be there by end-May, so even if it isn't done I'll pitch the next release at that stage.
Subscribe to:
Posts (Atom)




