Why I dread clean up


Starting the code clean up this weekend and thinking about Scriptable objects and their place in Unity regarding my stat system.

If you've seen the videos you might have noticed two columns for stats:  Physical and Mental as well as 4 stats in each (Power, Endurance, Speed, and Finesse).  Each was intended to answer the only questions who, what, where, when, how and why regarding combat as well as how much I loath that Dexterity is both speed and accuracy.  So... answering the questions:


What:  Trying to kill each other.

Who:  You and the opponent.  No stat needed.

Why:  Because you want them dead.  No stat needed.

When:  Speed determines how fast you can attack, and how often.

Where:  Finesse determines how accurate your attacks are.

How:  How much damage do you do is strength, and how much you can take is endurance.


I found myself reasonably asking the same thing about spells.   You could have a mage that can cast super powerful spells, but casts slowly, or who can find themselves missing targets, or not able to cast many spells before running out of energy.

This creates a grid of two sets of traits with four attributes in each.  Additionally this is expandable if you want to have social skills be something more mechanical and less played out (say you were to convert this to pen and paper).

Additionally in an RPG all kinds of things can happen to your stats.  They can be permanently raised/lowered, or temporarily raised/lowered.  The change may be fleeting only a few rounds, or permanent until you get something healed.  The changes may happen due to different spells, effects, or just experience through game-play.

So... getting around to what I'm struggling with:

I feel like ScriptableObjects is the way I should go on this.  Create a template for the stat and have it include all the things I want to have stats able to do then create the stats based on the base scritpable object but do I:

a)  Create two templates:  Group and Attribute  So a Physical Group would have 4 attribute groups in it.

or

b)  Just create 8 stats right off the bat.

I feel like I'm going to want to do a because it will let me mentally follow what I'm doing easier, but I also feel like it's a lot of extra work just for something I'll probably be thankful for once, and a lot of time spent on it that I won't recoup as well as adding an extra layer of Character.Physical.Power Instead of Just Character.PhysicalPower  It seems small, but stuff like that always has me over think it.

Anyway, that's what's happening tonight.

Leave a comment

Log in with itch.io to leave a comment.