This week, we have added dice rolling for the D3 game system. D3 in particular is well suited for forum roleplay, so supporting it’s most major feature is of course an important step. It also offered an interesting problem — more interesting than the simplicity of the system (the D3 rules are shorter than this blogpost) might suggest.
Besides the basic rolls provided by the Pathfinder character sheet (ability checks, skill checks, etc), we also implemented a “freeform” roll for that. The freeform roll is used, for example, when the Dungeon Master makes a check for an NPC or when a character takes a check for their familiar, if those do not have a separate character sheet. It allows for simple, impromptu checks and reports simply the result of the dice and the combined total.
Since this is such a natural use case, we wanted to implement the same for the D3 system — seems simple enough. But D3 doesn’t have different types of rolls, so all checks are the same type. The only relevant factors are what, if any, specialisations apply and whether or not the circumstances offer a disadvantage. This simple setup has the advantage of being relatively easy to implement, but it also means that unlike the Pathfinder case, there is no distinction between regular rolls for a specific character and freeform rolls.
Now, you might rightly wonder why that is a problem in the first place. If they are identical, shouldn’t that make things easier? Well yes, to a certain degree. But when a player rolls for their familiar, it should not seem as if their roll was made by their character (or vice versa). That clearly isn’t the intent. At the same time, we don’t want to force players to make accounts for all of the NPCs they might use — especially in games where the storyteller allows them to roll for minor NPCs like their driver or butler. And that is ignoring the situation where the check might represent the weather or a machine or other contraption which probably wouldn’t have a sheet even if it was described on the wiki.
There is also the matter of server side verification: to make sure you never accidentally forget a bonus, our system verifies that the bonuses used in a roll match your character sheet. But if we cannot tell whether a roll belongs to a certain character or needn’t be checked as it is a freeform roll, that obviously offers a bit of a problem.
The solution in both cases was the same: make sure that the user (be it you as a player or our server checking the diceroll) is able to distinguish between the two. As described in this weeks changelog, all free form dicerolls are now clearly marked as such to differentiate between different rolls. And we’ve also taken care of that on the server side of things, of course! As always, if you have any feedback on the new roll mechanics, or if you have feature requests or comments about any other part of RPGpad, please let us know, for example in the forums!