6 ms·
Model-Based Testing for Dungeons & Dragons
- Firfi 6mo agoDungeons & 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 6mo agoFantastic, 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?
- Firfi 6mo agoRight. Quint is not used in runtime and is not supposed to be. It's a strong testing layer. But there's much more to it. My bigger idea is that I would generate whatever implementation from it, hopefully, with an agentic loop - the MBT test is a natural feedback harness to leave coding overnight. So dnd-rust at some point, maybe? If someone develops a game, they would be able to generate a core logic in rust for bevy, in c# for unity, in (whatever it's used there) for godot. That's in an ideal world.
- anentropic 6mo agoYes that's exactly what I started thinking, this is great work - thank you!
- CSP_LIBRARY 6mo agoGreat
- randallsquared 6mo agoThe "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.
- bluefirebrand 6mo agoThe peasant railgun has always annoyed me because real world physics have never been modelled by DnD. So yes, your peasant railgun spear would fire at the speed of light in reality. But the game simulation doesn't care. The last peasant in the line throws the spear for 1d8 damage.
- Firfi 6mo agoIn my view, the edge cases like so (I think peasant railgun even mentioned in dm handbook) are more of a community problem than the game's. If it can be called a problem, of course - some tables enjoy those shenanigans, some don't. What players and DMs are forgetting more often than not is the wording somewhere in the start of dm book: dm can overrule any rule. [to facilitate the game mood and direction that the table has agreed upon] [and a larger overarching problem is probably that there's often no such agreement before the game]
- bluefirebrand 6mo ago> [and a larger overarching problem is probably that there's often no such agreement before the game] Agreed I personally think Rule 0 enables bad DMs a lot more frequently than good ones. I think it's a bad rule
- bugarela 6mo agoThis 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
- weregiraffe 6mo agoShit like this results from a severe misunderstanding of what's enjoyable in a table-top RPG. It's not a fucking video game.
- mumbisChungo 6mo agoAgreed, 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.
- ghurtado 6mo 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"
- pigpop 6mo agoI agree, tabletop RPGs should be 2/3 Role Playing and only 1/3 Game.
- bluefirebrand 6mo agoThis is why I don't play TTRPGs much anymore. If I wanted to really get into character and roleplay my heart out I'd join an improv group... I liked the crunchy bits of TTRPGs like charting dungeons and running kingdoms and shit. Can't find many groups interested in that anymore
- jghn 6mo agoIt's why I haven't tried to get back into TTRPGs. I suspect that even if I were to join in on an OSR group that the play style would still be closer to the modern improv group aesthetic.
- zzo38computer 6mo agoTo me, the role playing, and the crunchy bits, as well as tactics, combat, and other stuff, are all significant and important part of TTRPG; it should not be only one of those things.
- not_ai 6mo agoI 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.
- jaen 6mo agoMaybe 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 6mo agoThis 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 6mo agoI'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?)
- nz 6mo agoThe mental-model that I am using for online writing, is that it is analogous to the spectrum of `pretending <-> acting`. The worst writing (AI or otherwise), looks, sounds, feels like pretense, like a kid that tucks a towel into his shirt, and runs around, pretending to be a super-hero. Meanwhile, acting, true acting, is invisible, it is a synonym for _being_[1]. That said, a lot of the AI writing feels "procedural", in the sense that most corporate writing (whitepapers, press releases, etc) feel procedural (i.e. the result of a constructed procedure). Before AI, the constructed procedure was basically that a piece of writing passes through a bunch of people (e.g. engineering -> management -> marketing -> website/email), and the output is a bland, forgettable pablum designed to (1) be SEO-friendly, (2) be spam-filter friendly, (3) be easy to ingest, (4) look superficially trustworthy and authoritative (e.g. inflated page count, extra jargon, numbers, plots), (5) look like it belongs to the "scene" or "industry" by imitating all the other corporate writings out there[2]. AI is interesting, in the same way that computers or the internet or an encyclopedia are interesting: how people choose to use it tells you a lot about them. All of those technologies can be used to compensate for a lack of skill (it helps one pretend), or they can be used to forge a skill (it helps one become). One has to pretend, before they can act (I guess? Feels intuitively correct to me). So perhaps, AI (and web, and computer, and encyclopedia) is only harmful to the extend that it does not nudge a person towards becoming[3]? And if so, that's a _cultural_ limitation, not a technological one. [1]: I am not an actor, and so I might be wrong, but that is the impression I get from just watching and analyzing the acting in various films. [2]: this becomes frustrating when you get criticized for producing something that "reads like $famousSomething", and then you get criticized again for producing something that "does not read like $typeOfFamousSomething". [3]: No clue how you (plural -- let's bring back "yous") will convince your boss that you did not take the shortcut, because you were trying to "become more".
- heelix 6mo agoConverting 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.
- tclancy 6mo agoYou should sell those as a suite of tools for people in similar situations. The Palm one in particular should make for fun.
- rjmill 6mo agoSomeone 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 6mo agoYeah, 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?
- pigpop 6mo agoFrom my limited experience, many players and DMs seem to get things backwards in exactly the way you're describing. They take the rulebook as the starting point or the "controls" for the game and since combat is the most detailed they tend to focus on that to the exclusion of other parts of the game. I've always viewed the rules as a way of settling disputes or uncertainty instead, so you start from the role playing and only resort to rules when you need fair adjudication or clarification on complicated situations. i.e. don't give me quotes from the rulebook, tell me what your character does and we'll work it out as part of the story.
- nextlevelwizard 6mo agoWhen most of the games rules are about a thing that thing becomes the focal point. 5e also assumes pretty high amount of combat encounters per day to keep all classes in balance, if you are having less then it will make some classes just bad picks which can feel bad Personally I don’t like it when people don’t play by the rules of the game we have decided to play together, so definitely things should work as the rules say and then ambiguous things are sorted with GMs world’s logic as “rulings”. If you start by ignoring the rules and only consulting them when there is a dispute then I want to play another game with less rules to begin with
- oceansky 6mo agoAs 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.
- zzo38computer 6mo agoYou are not only one trying to do it. There are others, and in other programming languages (Pokemon Showdown is one already implemented, but uses TypeScript with dependencies and I wanted to avoid those issues). What programming language did you intend to use? I intended to do as a C library (which would then be available for other programs in C to call). I know many of the rules of Pokemon but not all of the cases, and then, knowing the data structures to make, etc. I also wanted to make the rules customizable (and to implement all generations, although perhaps only some of them will be implemented the first time and others later) and I have some ideas about that. I would hope that some people can work on something together.
- oceansky 6mo agoI am also using typescript and taking pokerogue and showdown as inspirations. Since my game is a nethack-like game, it isn't exactly the same, but I am using the mainline games move sets, formulas, abilities and trying to copy them. I am also attempting to make it functional, the engine receives a game state and returns a new game state. I am using pure React for rendering but I plan moving it to canvas if I ever want to add more special mechanics. I am focusing mostly on functionality for now, it's very early stage but it already works.
- TheAtomic 6mo agoI 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.
- esafak 6mo agoYet another specification language! And it also has a new sibling for distributed protocols: https://quint-lang.org/choreo https://quint-lang.org/choreo Any opinions on this one for software development?
- cammasmith 6mo agoOne 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.
- TheAtomic 6mo agoAgreed. I'm onboarding a couple of new players and see the issues again and again. I'm dropping the overall proficiency score as it just confuses things. skills and abilities just take awhile to become secondhand though.
- esseph 6mo agoProficiency scores are HUGE and extremely important, especially for classes like rogue, bard, etc who rely on them so much - especially for non-combat roleplaying ability or reflex actions.
- Levitating 6mo agoYou could consider playing Shadowdark with new players instead. It's much more friendly to new players.
- esseph 6mo agoWatch a few different popular gaming sessions on YouTube. Tons to choose from. It's probably way different than you expect (and will be different between DMs).
- jghn 6mo ago> I never fully understood the rules I played from the early 80s through early 90s. Mostly AD&D 1e but earlier on the red/blue boxes and later on 2e. Recently I've taken to reading r/adnd for nostalgia reasons. One thing become abundantly clear real fast, no one I ever played with ever truly understood the rules. Even the "rules lawyers" among us. And I played with a large variety of people from different friend groups, to different game shops, and even some smaller cons. We understood the key details for the parts we actually used, but we weren't intentionally avoiding the rest, we just didn't understand that they existed. There's just so much minutia in those rule books. This also makes me chuckle when I see newer players come into r/adnd as part of the OSR movement. Because they *do* seem to assume that all of these rules were commonly applied. But my anecdata would say otherwise. I originally assumed that these newcomers to the old rules would be playing a game I found alien as they'd be bringing in newer sensibilities, but instead I suspect I'd find it alien as they're more likely to be sticklers for the full ruleset!
- krapp 6mo agoI 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.
- philipwhiuk 6mo agoIf you need formal verification for your D&D group that meets once a week, you have problems that LLMs will never solve for you.
- shawnta 6mo ago[flagged]
- bob1029 6mo agoThis 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://mtg.fandom.com/wiki/Layer https://media.wizards.com/2026/downloads/MagicCompRules%2020260227.txt https://media.wizards.com/2026/downloads/MagicCompRules%2020...
- harpiaharpyja 6mo agoI would love to see a model of Mythras/Runequest