Another Character Generator Update

Welp, I’m still working on skill selections. I thought I had it, but nope. I had to scrap my original approach and try again.

The problem is partially programmatical and partially user-interface. It seems like I can get one working, but not the other. Why can’t they just work at the same time???

Another issue is it seems like there are about 728 different ways to receive a bonus to a skill. I’m going to focus on the following for now though:

  • O.C.C. Bonuses

  • Race Bonuses

  • I.Q. Bonuses

  • Bonuses from other skills

Soon:

  • Black Market bonuses

There’s also the issue of skill “type.” The three most common are Base Skills, Related Skills, and Secondary Skills. BUT - sometimes there are M.O.S. skills. However, M.O.S. skills are uncommon and I don’t want to devote a column in the interface for a section that will always be blank. So I’m going to change the way the skill type columns are rendered. Rather than having “fixed” column numbers, I’m going to add an array of Skill Types to each O.C.C. Each Skill “type” will receive its own dynamically-generated column. Now I need to figure out how to connect that to the skill types in the O.C.C. definition. Aaaaaah!

Oh, and here’s another fun one. On the surface, selecting Related Skills is easy: simply select a category, which produces a list of available skills from that category, then select a skill from that category. BUT! Some O.C.C.s require to pick from specific categories. For example, “7 Related skills, but at least one must be from the Science category and Medical category.” I need to figure out how to enforce that.

I’ll get all this figured out. I actually really enjoy this kind of problem solving; I’m just venting at the moment. There are two major problems I’m experiencing:

  • I learned how to program in the 90s (C/C++). We aren’t in the 90s. Programming languages work differently now, especially things like Promises, asynchronous functions, etc…

  • I wonder if I’m being too literal with the rules in Rifts for this app. I’m trying to factor in every single possibility. Every bonus. Every Saving Throw. I should be taking an Agile, iterative approach: get something working. Something that is “good enough” then continually improve on it. Hmmm….

I don’t work with flow charts these days, but I did draw one up to post here. It’s a simple logic diagram outlining what needs to be done to select a skill by category. It’s a bit of an over-simplification, but you’ll get the idea. I think.

Skill Selection by Skill Category.png

Back to work! Thank for reading.

RiftsBrandenrifts1 Comment