Rifts Character Generator Update

It seems like I've been working on my Rifts Character Generator (RCG) for years. That's because I have! It's been a labor of love, and more of an exercise learning new technology. It's kept me reasonably up to date on current Javascript technologies.

At first, it was going to be a Backbone.js project. Then I found a tutor who offered some alternatives. So I chose to go with Parse.com for my backend. Parse was cool. It was a backend technology developed by Parse and acquired by Facebook and quickly gained a lot of popularity. It was so good and so popular that Facebook shut it down (?!). That was annoying. An open-sourced version cropped up, but I had moved on by then.

Fast forward to now. RCG is being written using ReactJS (another Facebook technology) for the front-end, and Firestore for the database backend. Let's hope Google doesn't shut down Firestore. :-P But enough of the technical stuff.

The app lets you select a Race, O.C.C., roll attributes, and select skills. Sounds great, but there are many limitations. For example, you can only choose Human, Grackle Tooth, or Larmac for a race. For O.C.C., you can select Vagabond, Mystic, or Gunslinger. Skills are very buggy. The problem with any Rifts character generator is that there isn't a fixed way to roll up a character. It seems like every O.C.C. has some sort of special exception. That's why I started with Vagabond - it's a relatively simple O.C.C. On the flip side, we have the Mystic, which has just about everything: special abilities, bonuses, psionics, magic, etc.

Every aspect of this generator is a battle. Let's talk about Attributes, for example. At first, it seems simple enough: just roll 3D6. Simple, right? Hah. First off, every dice roller out there uses a standard d6 notation. That means I have to turn 3D6 to "3d6", but keep the visibility part "3D6." Okay, no big deal. So you roll 3D6. You get 6+6+5: 17. But in Rifts, 16+ explodes, so you roll an additional 1D6. You roll a 6. That explodes, so you roll it again. You roll another 6. So that explodes, right? Wrong. *facepalm* Of course, all of this assumes the character is human. If the character is another race, the notations are very different. Oh, and they don't explode. Aaaaaaah! And if it's an M.D.C. race, you have to remove S.D.C. from the list of attributes.

So I managed to get Attribute rolling to work correctly. And if you score 16+ on an attribute, you get a special bonus. For example, if your P.S. is 16, you get a +1 to damage. And your O.C.C. may grant you a +1 to P.S. as well, so now it's 17: +2 to damage. I think. Anyway, that's fine. You think you're all set but then... skills! Yes, your skill selection may affect some of your physical attributes.

I could (and might) write a whole blog about skill selection. I'll save that for another time.

Anyway, my hope is to have this presentable by the 2021 Palladium Open House. I cannot and will not publicly release this without the consent of Palladium Books. I'm hoping to provide them with a demo and see what they say. If they turn me down, so be it. I've enjoyed learning a lot about writing web apps and am now a total pro at building a Rifts character. :-)

BrandenriftsComment