Tuesday, February 24, 2015

On character classes and balance


A staple of RPGs are character classes.  A few modern games have let the player accumulate skills without limit (Elder Scrolls series), but the majority of them lock the player abilities and progression to a fantasy archetype (warrior, rogue, mage, etc).  Of course, they inherited from Dungeons and Dragons, which codified the rules and powers from the old myths and fantasy classics (Greek mythology, Conan the Barbarian, Lord of the Rings).



So classes make sense from a narrative perspective, but what about from a game play perspective?  Particularly for a grid-based tactical combat game?  For that, we can look at the granddaddy of all grid-based combat games: Chess.

In chess, every "class" can kill any other, although their method of attacking varies.  They also have different move sets.  What makes chess interesting is that there isn't a straight curve of power. In some situations a knight is better than a queen, a pawn over a rook.

One way I've been looking at character classes is through their strengths and weaknesses, in relation to the grid-based tactical combat. Here's the breakdown:

mobility - how can a character move around the board (charges, teleports, diagonal)
range - how far away a character can attack (ranged weapons, spells, cleave, AoE)
damage - how much raw damage the character can inflict (crits, bleeds, poison)
survivability - how much damage a character can take (armor, resistance, regen)
utility - how can the character alter itself, allies, enemies or the board for the other categories (slow, haste, web, stun, shield)

In chess, the only attributes in play are mobility and range.  You could argue the "castling" move is sort of a utility of the rook.  But mostly, all the pieces have the same damage and survivability. 



Lots of RGPs try to create balance by giving all the character classes the same amount of power.  In a way, you end up with a single character classes "skinned" to look like a mage or warrior.  Chess blatantly has different powers in the pieces.  A queen can completely dominate the board.  But a knight can jump other pieces; a pawn can reach the end of the board and ascend to any other piece.  A chess game fought entirely of queens would be dull. 

So what I'd like to do in my RPG is take some tips from Chess and design classes that play in very different ways, and possibly aren't even balanced in relation to each other.  But in the context of grid-based tactical combat, each class would have use.

What I did was take the five attributes above and try to find some interesting combinations.  A lot of them end up as the classic character tropes from RPGs (heavily armored warrior, agile rogue, weak mage nuking from afar), but there some interesting ones as well.

mobility
range
damage
survive
utility
class?
1
1
0
0
0
fast archer
1
0
1
0
0
teleporting rogue
1
0
0
1
0
armored sprinter
1
0
0
0
1
bard
0
1
1
0
0
sniper
0
1
0
1
0
turret
0
1
0
0
1
buffer
0
0
1
1
0
blademaser
0
0
1
0
1
caster
0
0
0
1
1
armored cleric


Friday, February 13, 2015

Equipment Screen!

Here's a rough prototype of the equipment screen I've been building.  Will post a video once its fully wired up!


Tuesday, February 3, 2015

February Kickoff

January Wrap-up

In January the goal was to have a rough prototype of the battle game working in Unity, using a tileset to display the world, and controlling the player using the Unity UI.  Our current build we're able to Move, attack and use some of the basic abilities, despite a pretty rough user interface.

Since the holidays are over, I haven't had as much time for coding.  And lots of the work with Unity UI was simply experimenting with different techniques and APIs, so not all of it was directly productive.  But I think I have some good methods down now to do what I want (see the previous post on dynamic menus).

February Goals

By the end of February, I'd like to have a minimum viable pre-alpha build.  Here's what I'm shooting for:


  • 2-3 battles with an assortment of players / enemies to test difficulty / tactics / AI.
  • Functional menus for using Abilities, Items and changing equipment
  • Win/Lose conditions and displays
  • "Wrapper" menus that let you choose opponents, start battle, etc
  • Indicators in the UI for range of spells, area of effect, failure to hit, etc
  • More abstraction for loading resources from external files (maps, characters, tilesets, etc)


A more abstract goal I'll be working on in parallel:


  • Start brainstorming the story, characters, lore and gameplay elements of the game itself.  This brainstorming will drive the design of the actual assets used in the final game: graphic design of UI, tilesets, music, gameplay abilities, writing, etc.


I'm not sure I'll do as much streaming this month.  For one, my laptop is somewhat weak, and the stream lags and skips.  And lots of the plumbing I'm doing right now is pretty repetitive, boring, and not worthy of watching for hours on Twitch.

Once I get more into the content creation and testing, I'll record some more videos and post them.