Thursday, December 30, 2010

Spells, skills, and class design

One of the things that takes a lot of time is tweaking the spell and skill trees to make the classes more fun to play. The various factors I have to balance are a lot more restrictive than you might expect:

1) The spells and skills within each group, for example "mage fire spells", should have proper dependencies. Greater Fireball should probably be dependent at some level on 'basic fire magics'.

2) The spells and skills within each group, for example "mage fire spells", should be separated by similar level differences, to spread the group out across a level range. If there's too much clumping, there's dead zones where you don't get a new spell for a long time, then suddenly get a bunch followed by another dead zone.

3) Spells and skills for the entire class should be evenly distributed across the entire level range, again to limit dead zones and make sure players have something to learn at every level. Necromancer is a good example of how to do this; every three levels, you get 5-6 spells and skills, from level 1 up to about level 28. Mage is a good example of how not to do this; there's 6 spells between levels 2-4, 12 spells between levels 12-14, and 4 spells between level 26-28. Mage is currently very clumpy and needs more work.

4) Low level spells and skills should be useful and interesting. Having a spell like 'ventriloquate' below level 10 makes no sense at all; newbies will think it's actually useful (it's not) and waste practices on it. It's ok to put useless stuff at higher levels, because high level players are more likely to do research before wasting scarce practices on something.

5) Really high level spells have to actually be useful, even if it's a specialized use.


The above generally result in me spending a lot of time staring at various views of the spell lists for each class. You have to keep an eye on groupings across level ranges, while making sure you haven't done anything dumb to the dependency trees for each group, and making sure you don't move useless things into the low level ranges.

And even though it may not seem that way, the above are actually really important. It seems to give you more to do, and you know that you get important, useful stuff even at low levels. I've certainly noticed a difference with my characters.

Saturday, December 25, 2010

Christmas Expansion - Update

We finally got everything done and installed, and it went off pretty easy. The biggest hitches were minor display bugs in explorer points, with a few minor typos and what not elsewhere.

One of the things that surprised me was the time breakdown for the various spells and skills. We only added 12 of them this time; here's a rough time estimate for each.

Level 25 mage skill 'melt' - approximately 6 hours. This skill was in multiple pieces, as it can operate on multiple targets. Not much debugging time required.

Level 27 mage skill 'spell lore' - approximately 1 hour. This was a very easy hook into the spellcasting code.

Level 6 cleric spell 'faith shield' - approximately 4 hours, most of it testing and design, trying to figure out how to not break anything.

Level 31 cleric spell 'breath of life' - approximately 5 hours. Required several debug passes to get the math right, largely because I wrote the core of it while I was very tired.

Level 33 cleric spell 'area heal' - approximately 2 hours, because this reused a lot of well-done code from 'area refresh'.

Level 34 cleric spell 'astral bridge' - approximately 16 hours. The spell itself only took about two hours, but before I could implement it I had to completely rework the waypoint code. Refactoring and updating the old code took the bulk of the time, and it broke waypoints for a lot of players.

Level 32 cleric spell 'group waypoint' - approximately 2 hours, because the astral bridge and other waypoint code was already in place.

Level 8 thief skill 'listen' - approximately 4 hours.

Level 29 thief skill 'fast talking' - approximately 3 hours, had to come back and extend its use into other thief skills that didn't have the facility before.

Level 26 warrior skill 'cleave' - approximately 5 hours. Ran into an irritating bug where cleave would cause a death which would cause an autocleave which could cause a death which could cause an autocleave...

Level 32 warrior skill 'whirlwind' - approximately 3 hours. The event handler for this was very straightforward.

Level 8 necromancer spell 'bone blade' - approximately 2 hours.

Explorer points - about 10 hours. This had a lot of hooks for display and interfacing, which usually takes a lot of time. Multiple debug passes.

Various achievements - about ten minutes each when done in groups.

There was also a lot of infrastructure and other work that went on to enable all this; between bug fixes, infrastructure, and design, the times above are perhaps a third of the total.

Tuesday, December 21, 2010

Alter Aeon Christmas Event

Every year for Christmas (and for a bunch of other holidays), we do something special. Usually this amounts to in-game events to open new areas, or for special prizes, things of that nature. This year, in addition to the usual things, we'll also be adding something else: a bunch of new code.

For each of the five classes, we'll be adding a few new spells and/or skills. A lot of this stuff is high level, but it's also focused more strongly in some classes than others. Cleric is probably the class that benefits the most, but it's also been the class with the least amount of scaling. Necromancer doesn't get much new stuff, but it does get a few critical reworks of existing spells and skills that didn't work out as designed.

Adding new spells and skills like this is always a hassle. Coming up with new stuff is hard, because it has to be useful, interesting, and above all preserve the physics/theme of the game. There's no point in just adding a bunch of lookalike damage spells that are successively more powerful.

There's also the problem of integrating new things into the existing spell and skill trees. One of the major things about this release is that there's been a lot of reworking of the spell and skill trees for the various classes. Thief, warrior, and cleric have all seen pretty significant changes to their skill groups, primarily to make space for the new additions.

There are a few other things I'll mention, such as new achievements, but since we're keeping the actual spells and skills under wraps until Christmas morning, I'll stop here.