I am beginning to work on the first part of actual character creation (besides characteristics): powers. As I’ve mentioned before, I’m hoping to use HERO System mechanics on the back-end, but only making “ready-made” powers available for selection, since I think implementing an interface for customizing powers the way you can in the HERO System would be much too big of a bite to chew right now. Perhaps later!

As I get deeper into this, it may turn out that using HERO System mechanics is much more trouble than it’s worth. Until then though, I will need to build out a few different layers to the powers system due to the way they work in the HERO System:

  1. A generic Power prototype. All powers have a cost, a range, a duration, a type, a name etc. Immediately at this level there are a few scenarios to account for. One is that some powers can have any number of character points dumped into them for more effect. For example, the ‘Energy Blast’ power is something like 5 points per 1d6 of damage. Other powers though have a flat cost. It’s 20 points to be invisible to sight, and there isn’t really a better or weaker version of this power. I might need to include a property that will indicate whether or not the power has a flat cost, or if the cost is “per d6.”
  2. Base Power definitions. These will all implement the Power prototype, and might merit being stored in a repository. Base powers are things like ‘Flight’, ‘Energy Blast’, ‘Force Fields’ etc.
  3. “Ready Made Powers.” I’m calling them this because the player will not get to define these, they will only get to select them. In the HERO System, base Powers are the building-blocks that, when combined with Advantages, Adders and Limitations, form Powers. Powers often have options when your purchase them, and can have specific adders or advantages, or generic advantages and limitations. An example from the HERO System (that might not be practical in this game), would be something like “Grav Boots” which would be bought with Flight, the invisible special effects advantage, and the Obvious, Accessible Focus limitation. Another example would be “Fire Ball”, which could be purchased as Energy Blast, 5d6 energy damage, or “Concussive Eye Beam” which could be purchased as Energy Blast, 5d6 physical damage.

It would bear thinking on whether or not it’s worth architecting this all out on the back-end if the player never sees it. They might, and using this architecture will allow me and other developers/modders to easily add new powers. I am not sure how to store these “ready-made” powers, or how the player should have access to them. Should they be properties of the entity prototype like a mixin? That could take up a lot of memory. Or could they be built out like jobs, which all behave the same way and just have the entity passed into them.

Things to ponder, but this is my current plan…