Character Overview
The player character in this game is defined by D&D rules and variables. It uses D&D algorithms to determine stats and values, and uses these to do certain functions. This section focuses on these stats, and the character animations.
Stats

For the sake of the prototype these stats are randomized at the beginning of each runtime using their respective DnD algorithms, though in a full release these stats would be generated once per character and saved. The algorithm for generating these characters is straight out of the Player Handbook for D&D. I won’t go into too much detail on these algorithms, but this is the general generation sequence:

Some of these algorithms can get quite complex. This is Armor Class for example:

Data Structures
Much of the character information comes from a data table made up of data structures. These data tables use UE4 data table assets for now, but full release would use a parser to allow for users to add race and class types.
Races

Classes

Animations
The general idea for the animation system in this game was to use and assign proper animations to the characters based on which weapon was equipped. Due to time constraints, this prototype only has hard set animations.


The main reason the set switching was scrapped for the prototype was because of a lack of knowledge in animation retargeting in UE4. These animations are from Mixamo, and in order to have sets for each model I would need to manually export these animations targeted for the model’s skeleton. This process is extremely time consuming, and completely useless in the event I include a custom character creator. For the prototype, this simple system gets the job done efficiently.
This is the general setup for all of the state machines. It consists mainly of a non-combat set and a combat set connected by a transition animation. Most of these animations are designed to pick from lists to randomize attacks and such.