Archive for July, 2008

Return of the Class

Posted in CRPG, Development on July 29th, 2008 by adamantyr – 6 Comments

So, after some design work, here’s what I ended up with:

  • Level
  • Health
  • Mana (for spell-casting classes only)

For mechanics, the simplest is always best. Your level is essentially your “catch-all” skill check. A random “roll” is made and added to your level, and compared to a target value. If it equals or exceeds it, you succeed.

Instead of using a complex binary skill system, all special abilities are tied to classes. I also eliminated the idea of user-initiated abilities; most are passive and occur in specific situations. This means I don’t have to develop any UI for it. (In fact, these changes will hopefully cut back on the memory footprint my status screens were generating.)

What about attributes? Well, they’re gone, sort of. Instead of having an abstract value that has to be crunched to come up with something else, I just have flat “bonuses” added to the important game factors, as follows:

  • Melee attack – add to level for hit in combat
  • Melee damage – add to damage from hit
  • Melee critical – add to critical range
  • Ranged attack – add to level for hit in combat
  • Ranged damage – add to damage from hit
  • Ranged critical – add to critical range
  • Spell attack – add to level for hit in combat
  • Spell damage – add to damage from hit
  • Spell critical – add to critical range
  • Evade – Dodge an attack
  • Armor – Amount damage reduced from a successful attack
  • Block – Block an attack with a shield
  • Parry – Parry an attack with a weapon
  • Resist – Resist a non-attack spell
  • Skill – Pick locks, disarm traps

Different classes have different values, so some are more effective than others. Various trinkets in game can be equipped to apply direct bonuses to these, and special items will even allow you to permanently raise some of them.

One particular change was dropping the idea of stamina and having “action” instead. Every class has identical action points; the only way to increase them is through spells or trinkets. I think 2 actions (move, attack, two attacks, two moves) is sufficient for tacticals. I’m debating having “readying” in the game, so that you have to spend an action point to switch from melee to ranged, or to change to a different active spell. It’s extra work, and it would slow down combat, which may not be desirable.

Now that I have a basic structure in mind, I can start throwing together a framework program to start playing around in. The combat engine is, in effect, a sidebar from the main program, but I don’t want to proceed with anything else until it’s done to my satisfaction.

Dust and Delays

Posted in CRPG, Development, TI-99/4a on July 22nd, 2008 by adamantyr – Be the first to comment

Been awhile since I posted anything on the game… primarily because I haven’t been working on it. My job (and the coding I’m doing) jumped up a notch, so when I get home, I’m usually not in a mood to do MORE coding.

Another factor has been running a D&D game. The new edition has made me realize a few things with a character system.

On an open-ended memory model, I’d have the freedom to design the system first, and then simply code it on the machine. On my very limited space TI, though, I have to do things in reverse; define and create every possible action until you hit what you can accomplish, and define your system based on what’s possible, rather than what you would like. It’s not a bad thing, though, having such a tight box. You focus on what you really want in the game, and discard the rest.

 For example, consider ability scores or attributes, a common stable of RPG’s. Are they really needed? Most RPG’s use them as an abstract value to derive other abstract values. In other words, they affect other variables in game, but have no direct effect in themselves. In a tight memory space, it may be best to discard them entirely, and just keep the ones that actually affect things directly, like hit points, damage bonuses, etc.

In fact, I’ve come full circle back to the idea of class systems. I actually like the idea of an open-ended character design, allowing players to custom-create classes. Sure it’s got a lot of potential to be unbalanced, but that’s part of the fun with CRPG’s at times. :) However, the fact is I probably don’t have the memory for it. An open-ended system requires more UI, more variable manipulation, etc.

So I may go back to a class system now. I’ll also need to re-evaluate every element of a character and decide what goes in, and how each class advances. On the plus side, that means I can make sure each class is balanced and interesting to play.

Fortunately, that won’t delay the combat engine at all. Because in the combat engine, to start with, every character will be an “uber” character, capable of doing everything. Classes become a limiter of action, in a sense. I’ll have to design a separate set of milestones for the combat engine, and when it’s complete I’ll integrate it with the rest of the engine. It always helps to make a list of what needs doing so you can pace yourself.