logoalt Hacker News

Model-Based Testing for Dungeons & Dragons

96 pointsby Firfilast Tuesday at 1:15 PM61 commentsview on HN

Comments

heelixtoday at 12:53 PM

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.

show 1 reply
cammasmithtoday at 2:07 PM

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.

show 10 replies
rjmilltoday at 1:08 PM

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?

show 1 reply
Firfilast Tuesday at 1:15 PM

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.

show 1 reply
TheAtomictoday at 1:16 PM

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.

bob1029today at 3:45 PM

This stuff can get as complicated as you want it to. I question the business value proposition though (i.e., how much fun it is to be this precise).

That said, I would pay good money to look at the source code of some of the production MTG rule systems.

https://mtg.fandom.com/wiki/Layer

https://media.wizards.com/2026/downloads/MagicCompRules%2020...

shawntatoday at 3:29 PM

This is way less silly than it sounds. D&D is full of weird control-flow edge cases.

oceanskytoday at 1:12 PM

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.

jaentoday at 12:24 PM

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.

show 4 replies
bugarelatoday at 11:08 AM

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

randallsquaredtoday at 10:59 AM

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.

show 1 reply
not_aitoday at 12:13 PM

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.

philipwhiuktoday at 3:16 PM

If you need formal verification for your D&D group that meets once a week, you have problems that LLMs will never solve for you.

krapptoday at 2:22 PM

I don't understand how "exploits" and "edge cases" can exist in a narrative-driven game where the DM can always just say "cut the shit" if they don't like what the players are doing. Or let it happen for rule of cool. At the end of the day the rules are whatever the DM says they are, and don't have to be rules as written.

Even combat can have a narrative element (and it should, to be fun.) There are rules yes but the game isn't supposed to be this rigid.

CSP_LIBRARYlast Tuesday at 1:16 PM

Great

weregiraffetoday at 11:28 AM

Shit like this results from a severe misunderstanding of what's enjoyable in a table-top RPG. It's not a fucking video game.

show 3 replies
esafaktoday at 1:32 PM

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?