Model-Based Testing for Dungeons & Dragons (loskutoff.com)

by Firfi 76 comments 109 points
Read article View on HN

76 comments

[−] jaen 35d 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.

[−] Firfi 35d ago
Sorry for that, everyone. I did use the AI to help me with structure and English. I thought I'd proofread and edited that enough to be readable, but apparently it still smells. I'll update the wording soon.
[−] nz 35d ago
Or you can just write in your native language, and let us machine-translate it? Just a thought. We are, perhaps, letting ourselves be held back by norms that no longer bear any load.
[−] Firfi 35d ago
That's a great idea, in fact. I'll try it out next time. Maybe even a mix, because I do sometimes want to be very specific about some expressions and experiment with wordplay
[−] data-ottawa 35d 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 35d 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.
[−] beng-nl 35d ago
Tangent, but.. It must’ve picked up the faux profoundness on LinkedIn. Those posts I find truly unreadable. It half seriously makes me think anyone being able to post anything was a bad move.
[−] heelix 35d 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 35d 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.
[−] Firfi 38d 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.
[−] TheAtomic 35d 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.
[−] rjmill 35d 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?

[−] bob1029 35d ago
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...

[−] oceansky 35d 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.
[−] philipwhiuk 35d ago
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.
[−] randallsquared 35d 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.
[−] bugarela 35d 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
[−] not_ai 35d 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.
[−] harpiaharpyja 34d ago
I would love to see a model of Mythras/Runequest
[−] krapp 35d ago
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_LIBRARY 38d ago
Great
[−] weregiraffe 35d 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.
[−] esafak 35d 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?

[−] shawnta 35d ago
[flagged]