Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
- Ameliorative 1h
- Napoleon 5h
- Bruhlicious 4h Deine Mutter stinkt nach Erbrochenem und Bier.
- AdamBlue9000 1s Rolling 526d6 damage against both of us.
a Mench 8h Doing a bit of everything.
- notloose 3h
And 13 more hiding and/or disguised

Centralized Skill Checks
AKA The $Checks System

We've had a number of a problems for a while with our skill checks. Staff understanding of how a given skill check functioned was entirely based on their experiences. In order to fully understand them, folks would have to look at code. And each check was free to work how it wanted. Over 150 different points in the code performed skill checks, in a variety of ways, some involving modifiers to the skill checks, bonuses given based on gear in use or parts installed, etc. To understand all this would take months, if not years.

Another issue with our skill checks was the issue of manual rolls. If GMs needed to have a coders understanding of over 150 different bits of code, they'd likely be coders, not GMs. GMs without the understanding would have to rely on documentation telling them how to do things. The documentation would have to be kept in sync with any code changes. A lack of said documentation would mean these GMs could not manually do undocumented checks. Obviously not ideal if the GMs of your roleplaying game can not perform roleplaying skill checks.

A third issue was abuse. Someone with the needed level of understanding behind the skill checks was easily able to abuse the detailed knowledge for their own gain. Whether we're talking about a coder making choices with their alt(s) and reviewing code they're planning to leverage or sharing knowledge with a close group of friends so the plots go the way they want, it's all spelled out directly in the code on the gizmos and gadgets and various feature objects of the game.

To solve these problems and provide a foundation for future improvements, we have centralized skill checks. A repository with each check given a useful yet succinct label and set of parameters that define how that check should be performed. Each Check Configuration lets us declare what skills it can leverage, what stats will be tested, if there are modifier inputs, how those are determined, if the check defines its own difficulty, or if it knows how to calculate the difficulty, and so on.

Using the new $Checks System is meant to be simpler than what came before. Where the feature code would need to know (or determine) the skill and stat(s) that were evaluated in the check, and calculate the modifiers, these are all removed from the feature code directly.

It looks something like this:

$checks:skill($checks.COMBAT_ATTACK[1], dude, challenger);

If the player being tested is the one being tested, and there's no opposing character, this brief:

$checks:skill($checks.CRAFT_ITEM[1]);

Today, almost every skill check you're experiencing is going through the new $Checks System. Combat is being tested on our development server prior to implementation here. Pretty much everything else has been on it, in some cases, for more than 2 weeks now. In implementing this, I had to touch over 150 different points in the code.

I came across some questionable choices - I did not however, change these questionable choices. I felt it was important to preserve the functionality everyone was used to while switching over to the new system. It's not going to be a perfect transition, and catching and fixing errors is easier when you don't overall everything else in the process. But having all the checks in one place makes doing this task a lot more possible than ever before. We can even do things like A/B Testing with this!

Staff have limited visibility into the $Checks system. They can all see what checks are available, but only more senior GMs can see what skill they leverage and only the most senior rank can see what stats are tested.

All this doesn't yet mean much to you. GMs can't yet manually run these checks. There's no IC way to access the information this will make possible. We're close though. Those announcements will occur in this thread as they come. If you are experiencing bugs or things that were easy 2 weeks ago are suddenly impossible with repeated attempts, please raise those issues for us to troubleshoot. There may be very logical reasons why you suddenly suck, but at this juncture, I want to hear early from anyone who feels something has been borked. Thanks and have a Merry Christmas everyone!

Are we allowed to comment on this?

This seems like a huge thing that lots of people would comment or ask about.

"GMs can't yet manually run these checks. There's no IC way to access the information this will make possible. We're close though." Does this mean the intention is to move towards allowing players IC access to this information, eventually?

We can more directly contemplate IC gizmos and services that would express your level of success in some fashion. We can also explore updating information displayed when you inspect or look at things based on your ability to pass certain checks.

Nothing is presently on the action items list, but the possibility to build is now much more possible than it was before. Now is the time to bring up your ideas. I have started a thread for them. Please post over there about it. :)

Combat is now using Checks system.
Woo! This is exciting. Thanks for the hard work on this J!
Thanks Johnny!
The amount of work this probably took, along with Slither's rewording/remaking the help files blows my mind.
Y'all found something wrong with the way parry was behaving post $checks migration.

While behavior was different in SHFL, we didn't realize at the time it was specifically with parry and not with the way SHFL sets up the skills and stats of the game avatars.

After enough feedback and investigation by GMs and Cerberus, I got a report that led me to review a specific segment of the old combat code. We discovered that all parry checks were depending on your brawling or martial arts, instead of the non-firearm weapon you might be wielding.

This has been fixed so that this only happens when you're parrying with a firearm again.

Wow, that's huge, thanks Johnny. Also 5 bonus points to Griffindor for the Office Space vid.