Development Postbot with Dice Rolling Features

Discussion in 'Support' started by Bloodcinder, Jun 12, 2015.

  1. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    I've developed a system for a postbot that monitors posts for !macros (in the style of IRC macros from long ago) and automatically responds to them with the requested material. They only work on the start of the line and only in brand new posts (both of these restrictions are actually intentional).

    So far I've implemented two macros, subject to change.
    • !rolz sends an expression to Rolz.org (does not support the power user syntax) and gets the result. The syntax is as follows.
      • !rolz
      • !rolz expression
      • !rolz expression;expression;expression...
    • !fu processes a die roll in the Freeform/Unlimited RPG system. The syntax is as follows.
      • !fu
      • !fu +bonus
      • !fu -penalty
    After this post I will post examples of summoning the postbot with a macro, including what happens ifyou call a bad macro.

    Note that because the results are posted by the postbot, they're considered honest/secure. Sure, a moderator could edit them, but then they would show an edit history. This allows players to roll their own dice in campaigns that allow it.

    The features and syntax are subject to change. If you go around using them elsewhere than this thread, I can't guarantee they're remain backwards compatible.

    !rolz
    !rolz 2d4
    !rolz 3d6;3d6;3d6
    !rolz zzz

    !fakemacro

    !fu
    !fu +2
    !fu -1

    If you have any comments or suggestions, please discuss them here. The goal will be that I'll make it easy to add new macros. By the way, these have nothing to do with the token syntax being developed also.
     
  2. Keenspark

    Keenspark Robot

    Likes Received:
    4
    Local Time:
    2:33 PM
    1d20: 8

    2d4: 8

    3d6: 9

    3d6: 11

    3d6: 14

    Invalid roll expression: !rolz zzz

    Undefined macro: !fakemacro

    Roll: 6

    Your Choice:
    Yes, and...

    Rolls: 6 5 3

    Your Choices:
    Yes, and...
    Yes.
    No, but...

    Rolls: 6 1

    Worst Choice:
    No, and...
     
    Last edited by a moderator: Jun 15, 2015
  3. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    By the way, you'll probably want to try it out to see it in action. It responds to you immediately after you post. Try this one...

    !rolz d100
     
  4. Keenspark

    Keenspark Robot

    Likes Received:
    4
    Local Time:
    2:33 PM
    d100: 94
     
    Last edited by a moderator: Jun 15, 2015
  5. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    This is really cool. Is this feature useable outside this thread? Because I'm thinking this would be great to try out in the playtesting thread for the next test.
     
  6. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    It does work everywhere. I discourage using it anywhere that's "production," but you can use it in the Playtesting thread if you're okay with some inconsistency if things are changed later.

    I will be adding permissions so that it can be enabled/disabled per forum/user.
     
  7. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    And because I haven't exhausted my FATAL references, yet:

    !rolz d10000000
     
  8. Keenspark

    Keenspark Robot

    Likes Received:
    4
    Local Time:
    2:33 PM
    d10000000: 9279198
     
    Last edited by a moderator: Jun 15, 2015
    Gio Takahashi and Bloodcinder like this.
  9. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    DAMN. Looks like I'm not having quintuplets! One of these days!
     
    Bloodcinder likes this.
  10. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    Note that you can like the robot's posts. I'm not sure if that's a good thing or a bad thing...
     
  11. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    I did make it so the robot's responses don't trigger any alerts (beyond the alerts the user would have triggered already by making their new post). So let me know if you ever catch an alert popup from the robot, because it's not supposed to.
     
  12. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    There was a line in an article in this week's Economist about a portable robot prototype that assists in helping a human user direct cleaning, painting, and other such efforts (the robot can determine which areas have already been treated, which saves effort on the part of the worker).

    After mentioning that ideas for future development for ease of use include systems that can communicate with the operator via text or voice, the article closed with a line along the lines of "The idea of having an argument with a paintbrush about whether an area has been sufficiently painted, however, sounds surreal."
     
  13. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
  14. Keenspark

    Keenspark Robot

    Likes Received:
    4
    Local Time:
    2:33 PM
    Roll: 2

    Your Choice:
    No.
     
    Last edited by a moderator: Jun 15, 2015
  15. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    No it doesn't. ...?
     
    chefTENGU likes this.
  16. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    How about adding in systems for Shadowrun and Blood Bowl? This bot might be the answer I've been looking for to my "how the hell do I run Blood Bowl as a neutral party when I'd have a team playing in the same league?" problem.
     
  17. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    As long as I can understand the mechanics of the rolls, I can write a macro for it. Note that the !rolz macro supports anything that Rolz.org does, which is quite a bit. It has all sorts of special functions for adding, multiplying, dropping low results, picking the highest, and so on. The reason I implemented a macro specifically for FU is because of the conversion to text-based outcomes from simple Xd6 rolls. I'd have to see the dice rules for the games you mentioned to know if they could have their own macros.
     
  18. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    Shadowrun does indeed have some of its own macros on rolz, but I didn't know if that counted as one of the "advanced" functions or not. All that really needs to be done is to display how many hits were rolled from the dice pool, and whether or not a glitch/critical glitch was rolled.

    Blood Bowl is mostly d6 plus modifiers, but the useful thing would be to incorporate something extra to indicate natural 6s (which are almost always automatic successes) and natural 1s (which are almost always failures). It would also be really nice to have something fun to represent the block dice (which are d6s with alternative faces), scatter roll (d8 for directional indicator), throw-in die (d3 - or, more honestly, a d6 divided by half), and, if wanted to be EXTRA FANCY (like ketchup) about it, a casualty roll macro.

    The casualty roll is one of my favorites because it's a perfect indicator of the sorts of mechanics Games Workshop likes to use in its games. You roll a d6 and a d8 together, almost like percentile dice (with the d6 as tens and the d8 as the units), to generate a number between 11-68. Half of the results come to the same "badly hurt" result, another sixth are much the same ("dead"), but for some reason they saw the need to delineate 16 specific results that get special names, even though half of THOSE all have the same mechanical effect (miss next game) while the others often have overlapping effects as well.
     
  19. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    I believe the success-based rolls on Rolz.org work from the !rolz macro, just not the power user stuff. Like this is supposed to count the number of successes out of 4 six-sided dice where a success is a 5 or better.

    !rolz 4d6e5
     
  20. Keenspark

    Keenspark Robot

    Likes Received:
    4
    Local Time:
    2:33 PM
    4d6e5: 1
     
    Last edited by a moderator: Jun 15, 2015
  21. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    It sounds like I probably wouldn't be able to do anything for Blood Bowl. The level of effort it would take to make a macro for it sounds like it would be massive without too much payoff. I think for both Shadowrun (as you've explained it) and Blood Bowl (if it's mostly standard rolls) it would be better just to use !rolz than try to reinvent the wheel.

    Now, if you ever want a macro for Fudge dice, that I can probably do.
     
  22. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    How about just for the block dice? All I'm really looking for here is to take the random number and force it to display as a specific outcome.

    Oh, and you'd need to be able to roll up to three of them at a time, while keeping the three results distinct. I guess that's not so different from the FU rolls.
     
  23. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    I'm not sure I understand them. It's just one to three d6's with "picture faces" instead of numbers?
     
  24. chefTENGU

    chefTENGU Does not approve Administrator

    Likes Received:
    377
    Local Time:
    1:33 PM
    That's right. Mostly I'd want to be avoiding confusion because while it's simple enough to just roll a d6 and say "1 means Attacker Down", I worry about it leading to confusion because that would mean that a 6 would by necessity be "Both Down", which is not a result that people generally want to get (unless you're dwarves — dwarves are worse than Hitler, so they say).

    Based on what I've seen, the closest approximation would have to be something like:
    1 = Attacker Down
    2 = Defender Down
    3 = Pushed
    4 = Pushed
    5 = Defender Stumbles
    6 = Both Down

    ...which is kind of counter-intuitive and not readily recognizable. I could easily see someone saying, "Oh, my troll rolled 1, 2, and 6... six is generally the best in this game, so that's what I'll pick!" and then have to get a TURNOVER because they just chose for their troll to eat the dirt.
     
  25. Bloodcinder

    Bloodcinder Developer

    Likes Received:
    326
    Local Time:
    2:33 PM
    Ah, that's pretty similar to FU rolls, yes. It's doable.