Model-Based Testing for Dungeons & Dragons

(loskutoff.com)

68 points | by Firfi 3 days ago

13 comments

  • heelix 1 hour ago
    Converting DnD rules and edge cases was always a bit of fun and became my "hello world" as I was learning stuff.

    Years back, I worked at a company where the agreement required them to review any personal application that I created for a year or so after I left. I was super happy to send them iterations of my DM'ing tools - written for Java (micro edition), WinCE, Palm, and any other mobile gadgets I could get my hands on.

    Around the 4th application I sent, the pharmaceutical company released me from the non-compete clause. I've always wondered if they were required to try and run the applications.

  • cammasmith 9 minutes ago
    One of my biggest issues with playing DND is that I never fully understood the rules. I'd play with people who had been playing for years, and they didn't explain things very well, and that made it hard to play. Hopefully, this will help with that.
  • rjmill 1 hour ago
    Someone please explain the grapple leapfrog example and why that "exploit" is interesting. If my players tried that, I'd happily let them use their full turns to do some crazy trapeze act across the battlefield.

    And then I'd remind them that they could have just dashed normally.

    Moreover, how do the new rules close the "exploit"? You can still move 30ft while carrying someone. (60/2 - 30 vs 60 - 30*2) How is that difference meaningful in this case?

    (Also, wouldn't you need something like rogue's dash-as-a-bonus -action to grapple and dash on the same turn?)

    The article is pretty interesting overall but this example mystifies me. Am I missing something obvious?

    • nextlevelwizard 33 minutes ago
      Yeah, both players were either rogues or tabaxi (although feline swiftness isn’t dashing)

      This is also directly why I don’t like D&D. It is way too combat focused and video gamey. If your combat system is so complex that people find (or even feel that they need to find) “exploits” in it then your system probably sucks. So many class features are purely combat focused completely ignoring the actual roleplaying part of role playing games.

      Also the “counter chaining” feels odd to me, is this something that actually happens? Like people waste spellslots counterspelling a counterspell?

  • TheAtomic 1 hour ago
    I have a couple players that aggressively press for edge cases all the time. I encourage it, as it gives me the chance to push back with "ok, that's fine on flat ground but your in thick underbrush," which seems to be more immersive and encourages more roleplaying. Fun stuff.
  • oceansky 1 hour ago
    As someone who is trying to re-create the Pokémon system, I am running into similar issues. There many things going on a single "turn", especially with abilities that can pretty much change any of the game rules.
  • Firfi 3 days ago
    Dungeons & Dragons rules are a spec spanning thousands of pages, not formalized, but thoroughly tested by the community. Moving them to a formal specification language (Quint) was an obvious next step. It worked and proved to also be a great LLM self-checker.
    • anentropic 1 hour ago
      Fantastic, I'd been daydreaming about doing similar for a while!

      Do I understand correctly that the Quint code is not needed 'at runtime', that it's there for model-based testing of the XState implementation?

  • not_ai 2 hours ago
    I think this is fantastic. I recently started playing DnD with a local group and can’t wait to dive into this to better understand the mechanics.
  • bugarela 3 hours ago
    This is so cool, I'll definitely be playing with in over the weekend. I meant to put Quint and D&D together in some similar ideas before but never found the time, so I love to see this coming alive from someone else <3
  • randallsquared 3 hours ago
    The "Grapple Leapfrog" is like the peasant railgun, and I think the "real" solution would be a recognition that order of conflict resolution in real time is not the same as ordering linear activities in game time.
  • jaen 1 hour ago
    Maybe the content is great, but the AI writing style is really grating with its staccato sentences and faux-"profoundness". Can't bear it any more, stopped reading.

    "You’re not checking logic. You’re checking shape.". Ugh.

    • data-ottawa 1 hour ago
      This and subheading like “the problem” “The feature space” bother me for reasons I can’t fully explain.

      It feels like the laziest possible section separator and generally would be better with an extra space divider or something.

      It’s so prevalent in AI writing.

      • ghurtado 5 minutes ago
        I'm worse than you: the quotes are what drive me insane:

        > . “HP never exceeds max”

        I think it's because its such a braindead thing to fix that when I see them, it's clear the "author" hasn't even read their own "work".

        Like, you're not even trying to hide it at the laziest level possible. Blegh.

        (See how you can tell a human wrote that?)

    • ghurtado 12 minutes ago
      The way things are headed, people with the ability to write on their own are going to be the hottest job in the 2030s.
      • krapp 2 minutes ago
        You think there will still be writing jobs for human beings at all by then?

        AI will be so normalized across culture that any raw, unfiltered human expression will read as gross and unprofessional by most people.

  • weregiraffe 2 hours ago
    Shit like this results from a severe misunderstanding of what's enjoyable in a table-top RPG. It's not a fucking video game.
    • ghurtado 1 minute ago
      "I fixed the stupidly complicated tabletop game with an even more complicated piece of software! Now you can be confused and not have to look at human faces while you furiously type away at the computer in order to prove to the DM that the ridiculous loophole that you found in the rules is actually logically consistent"
    • mumbisChungo 2 hours ago
      Agreed, people should only enjoy the features of it that I enjoy the way I like to enjoy them. Enjoying it the wrong way is at best stupid, possibly even evil.
  • CSP_LIBRARY 3 days ago
    Great
  • esafak 44 minutes ago
    Yet another specification language! And it also has a new sibling for distributed protocols: https://quint-lang.org/choreo

    Any opinions on this one for software development?