This week is all about making the base units.
The way I set it all up is:
- one prefab for ALL player units
- one script to manage the unit (initializes it, manages the AI and the abilities)
- a scriptable object for the classes.
This way I can easily add and remove units from the shop (as it’s only a list of the classes scriptable objects), and it’s fast to make new units. When the player buys a new unit, the prefab is spawned and the class variable is set to the one of the shop, then the initialization function is called to set all the variables and boom, the player has a new unit.
Now for the classes.
I decided to start with 12 classes, which are the Dungeons and Dragons classes:
- Fighter
- Barbarian
- Wizard
- Cleric
- Rogue
- Paladin
- Ranger
- Bard
- Warlock
- Monk
- Druid
- Sorcerer
Then I started thinking about the base roles of each class, I defined the base roles as the classing trinity in RPGs:
- Tank
- DPS
- Support (replaced Healer as a more Generalist role)
And I divided the classes into the roles
Tank | DPS | Support |
---|---|---|
Fighter | Rogue | Wizard |
Paladin | Ranger | Cleric |
Barbarian | Warlock | Bard |
Monk | Druid | |
Sorcerer |
After that, to make things more interesting and less binary, I started thinking about secondary roles and expanding the roles. As of now this is just written, to implement it I have to wait until the leveling system and ability system are both completed, but the general idea is this:
Tank:
- Vanguard: Pure tank, with defensive abilities
- Disruptor: High defensive stats, but focuses more on crowd control
DPS:
- DPS: pure Damage per second character
- Blaster: low dps, but has high spikes of burst damage
Support:
- Healer: Focuses on healing other units
- Enchanter: Focuses primarily on buffs and secondarily on crowd control
So, for now I stuck with the basic roles, made up some ranges of values for each role and assigned them to the various classes and… that’s it for now.
After the ability system is implemented and working fine, I’ll look into expand the leveling system like said in week 2, adding more abilities and defining more granular roles and sub-roles.