[Stat Spreadsheet]
To add stats to my project I could add a variable for each "stat" a character would need then manually set all the differences between character class type such as "Mage" or "Barbarian", however there's a better way to do this, In unreal engine you can have a data table asset which contains as large amount of numerical data and you can separate specific cells from that data table using blueprints. This means you can have the data table decide how much HP a character has and then when the character levels up the local HP variable will change from level 2 HP to level 10 HP rather then setting up a function that increases the value of the variable each time they level up. Doing the levelling system this way allows for more freedom as it means the player can add upgrades on top of default values protecting them from mistakes such as forgetting to spend their acquired upgrades since they'll always be strong enough to take part in a fight just not necessary strong enough to win it (or win it with ease).
This data table system also works great for enemy units as you can set the values for each level then adjust the levels of the enemies on a instance basis without having to double check or manually set that a level 5 Goblin has 960 HP verses a level 12 Goblin having 1744 HP. On top of using the data table for deciding enemy stat values this is really helpful to me as the designer/developer since you can import the specific numerical information stored in a data table from a spreadsheet document, meaning I can do all the balancing inside a spreadsheet that changes the individual per level increments and writes out level 78 stats for me as I'm editing the level 1 values. Once the spreadsheet of values has been saved you can just import information to the data table asset and it will update all the blueprints in the project that reference the "Unit Base" class and pull any variables such as HP/MP across the entire project.
[Unit Base Parent Class]
In this project I am using a Parent & Child class system so that I can make large changes by editing the data within the "Parent" blueprint as they will be inherited by the Child class blueprint but this also means I can make character specific changes such as making a mage better at magic, simply by editing the "Child" blueprint and none of the other characters/Units will be affected by the changes made to the mage character.
Class Structure
- Unit Base Changes
- Base Stats =
- Flat HP, Flat MP.
- Character Animations =
- Hit React, Cast Anim, Item Anim (*intended to be inherited leave blank or all characters will have the same animations).
- Party Base Changes = Only affects characters that the player CAN use in battle.
- Techniques & Abilities such as "Summon" & "Libra" that should be available across all playable characters.
- Enemy Base Changes = Only affects characters that the player will be fighting against but affects ALL of the enemies making Goblins behave the same as Wolves.
- Individual Changes
- Role Stats =
- HP multiplier,
- MP multiplier,
- Character Anims =
- Hit React Anim,
- Cast Spell Anim,
- Use Item Anim,
- Main Anim BP,
- Character Mesh
- Character Materials & Textures,
- Additional Tweaks = these variables are inherited and can be overwritten here but will default to the same values as the Unit Base HP/MP
- Unit Name,
- Max HP,
- Max MP,
- Base ATK DMG,
- Base DMG Resistance,
- Base Action Speed,
Comments
Post a Comment