Can We Build a Classless Society? I Hope Not…
CRPG Classes
When thinking of the ideal CRPG I kept taking classes out and making skills the key to character builds and then later changing my mind and putting them back in.
While I think you can design a CRPG without classes, I kept coming back to them as a way of making meaningful character choices and differentiating characters. One of my pet peeves in a party based system is “uber characters” that can do everything. In a single character game having no classes seems to make more sense but the Broken Staff CRPG is designed first and foremost for parties of 4-6 characters.
As of now classes are in the Broken Staff CRPG. Any character can take up to 4 classes. Classes determine which skills a character can gain, how fast they gain them and what feats, abilities and spells a character has access to. Multi-classing is allowed for almost any combination although many classes, especially spellcasters, work better single classed.
With this system I wanted to maximize flexibility within the restriction of not having ‘every’ characters who are good at everything. Since Broken Staff CRPGs are meant to be party-based, players should have incentives for choosing a wide variety of characters.
There are two parts of the class sub-system: class groups and classes themselves. Like most parts of the system, there is a method for categorizing classes.
ClassGroups.xml
Class groups are basically types that allow for classes to be grouped.
In the default system there are 3 types of classes:
- Warrior
- Rogue
- Spellcaster
Here’s a sample class group for warriors:
<ItemType>
<Id>warrior</Id>
<Name>Warrior</Name>
<Description>These classes specialize in combat.</Description>
</ItemType>
The class group fields are the standard id, name and description. Classes have many more fields and are much more flexible.
Classes.xml
Fighter Example
<Class>
<Id>fighter</Id>
<Name>Fighter</Name>
<Description>Fighters are warriors who specialize in different forms of combat. Fighters can range from skilled warriors such as brave knights and blademasters to devious mercenaries and brutish thugs.</Description>
<IsPlayable>Yes</IsPlayable>
<Group>warrior</Group>
<Requirements>
<Attributes>
<Attribute>
<Id>strength</Id>
<Value>10</Value>
</Attribute>
</Attributes>
</Requirements>
<StartingFeats>
<Feat>
<Id>iswarrior</Id>
</Feat>
<Feat>
<Id>fighterbonusfeat</Id>
</Feat>
<Feat>
<Id>equipbasicweapons</Id>
</Feat>
<Feat>
<Id>equipwarriorweapons</Id>
</Feat>
<Feat>
<Id>equipshields</Id>
</Feat>
<Feat>
<Id>equiplightarmor</Id>
</Feat>
<Feat>
<Id>equipmediumarmor</Id>
</Feat>
<Feat>
<Id>equipheavyarmor</Id>
</Feat>
</StartingFeats>
<Advancement> <!-- these happen on every level up, levels below handle specific levels -->
<Effects>
<Effect>
<Id>hpbonus</Id>
<MinValue>1</MinValue>
<MaxValue>11</MaxValue>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>spbonus</Id>
<MinValue>1</MinValue>
<MaxValue>11</MaxValue>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>mpbonus</Id>
<MinValue>0</MinValue>
<MaxValue>0</MaxValue>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonuscombatskillpoint</Id>
<MinValue>3</MinValue>
<MaxValue>9</MaxValue>
<Locked>No</Locked>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusathleticsskillpoint</Id>
<MinValue>0</MinValue>
<MaxValue>1</MaxValue>
<Locked>No</Locked>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusrogueskillpoint</Id>
<MinValue>0</MinValue>
<MaxValue>0</MaxValue>
<Locked>Yes</Locked> <!-- need to be unlocked programatically for character, or by taking another class -->
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusloreskillpoint</Id>
<MinValue>1</MinValue>
<MaxValue>2</MaxValue>
<Locked>No</Locked>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusmagicskillpoint</Id>
<MinValue>0</MinValue>
<MaxValue>0</MaxValue>
<Locked>Yes</Locked> <!-- need to be unlocked programatically for character, or by taking another class -->
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusspecialskillpoint</Id>
<MinValue>0</MinValue>
<MaxValue>1</MaxValue>
<Locked>Yes</Locked> <!-- need to be unlocked programatically for character, or by taking another class -->
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusfeat</Id>
<Value>1</Value>
<Duration>permanent</Duration>
</Effect>
</Effects>
</Advancement>
<Levels>
<Level>
<Id>1</Id>
<Name>Level 1</Name>
<Title>Militia</Title>
<ExperienceNeeded>0</ExperienceNeeded>
<IsEpic>No</IsEpic>
<Effects>
<Effect>
<Id>attackbonus</Id>
<Value>1</Value>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>fortitudebonus</Id>
<Value>1</Value>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>reflexbonus</Id>
<Value>0</Value>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>willpowerbonus</Id>
<Value>0</Value>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>extraattacks</Id>
<Value>0</Value>
<Duration>permanent</Duration>
</Effect>
<Effect>
<Id>bonusattribute</Id>
<Value>0</Value>
<Duration>permanent</Duration>
</Effect>
</Effects>
</Level>
</Levels>
</Class>
IsPlayable
This is a simple yes/no toggle. You might want to create villain or monster only classes or reclassify blackguards, warlocks and necromancers as non-playable classes.
Group
This is the class group value. If you want to use a new value other than warrior, rogue or spellcaster you will first need to modify the ClassGroups.xml file.
Requirements
The class requirements. You can use this to define the minimum requirements to select a class. Right now only attributes are used but in if you want to you can include class level values to create ‘prestige classes’ similar to DnD 3.5.
StartingFeats
These are the feats the character gets for free upon first taking the class such as equipment usage or starting abilities.
They can either be static bonuses or usable abilities.
Advancement
Advancement lists the effects that always take place whenever a character levels up in that class.
They can be attribute bonuses, new feats or new spells for spellcasting classes.
Effects
These are standard effects. The duration should be set to permanent.
Levels
The levels values are setup to give unique bonuses on each level up. This is in contrast with the advancement section outlined earlier that has values that are expected to be the same on every level up.
This system takes more setup work but is more flexible.
Id
The id of the level value.
Name
The name of the level value.
Title
The title value for the level. This is an optional system similar to Wizardry 6-8.
If the value is blank the system should look for each lower level until it finds a value.
ExperienceNeeded
This is the number of experience points neeeded to level up that class to that level.
IsEpic
Is this an epic level for the class. This is an optional system.
Effects
The level effects use the same id, value, duration structure as noted in the advancement section above.
These are standard effects. The duration should be set to permanent.
Adding New Classes
If you wish to add new items to your game you need to:
- If you are creating a new type of class you would also need to add an entry to the ClassGroups.xml file
- Add a relevant entry in the Classes.xml file. This includes defining the available values for that class, any requirements and what starting feats are needed
- Next you would include the item in any of the files that make use of it such as in: characters, monsters, feats, skills etc
For one project I am planning I will be adding six new ‘Eastern’ style classes. So the system was planned with the flexibility needed to add them in the future.
Do you have any questions? Anyone? Anyone?