Reset Password
Existing players used to logging in with their character name and moo password must signup for a website account.
- Baron17 55s
- RaiyuuGP 2s
- Brozilla 2m
- Preachertex 1m
- Plebe 10s
- Trakel 4m
- IcedAmericano 14s
w Dreamer 1m
- BCingyou 2m
- GreyWolf 3s
- Grizzly666 23s BEAT THEIR FACE IN.
- RealHumanBean 18s
- Skylis 15m
- deaddragon 6s
- HolyChrome 5m
- Jameson 8m making the eternal black firmament my side bitch
- Mercury 2m
- Strummer 2s
- wslatter 1m
c Butako 6m Butakooooo the builder. Can she fix it? Eh.
- Jade1202 3m
- Baguette 5m thanks, i hate it
- sinedge 4h
- FancyPenguin 1h
- Manywaters 11m
- Varolokkur 57s
- RheaGhe 25s Did someone say, MOOSEX?!
- Majere_Draven 19s
- Beepboop 3m
- Vlax 7h
- Tachikoma 14h
- SacredWest 1h Guess What?
j Johnny 4h New Code Written Nightly. Not a GM.
And 21 more hiding and/or disguised
Connect to Sindome @ or just Play Now

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:


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.