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! :-)
Subscribe to:
Posts (Atom)