DNDle (Wordle, but with D&D monster stats)

Don’t have time to read? Just start playing:

Play DNDle

There’s a Wordle clone for everybody

Am I too late to get onto the “making Wordle clones” bandwagon? Probably; there are quite a few now, including:

Screenshot showing a WhatsApp conversation. Somebody shares a Wordle-like "solution" board but it's got six columns, not five. A second person comments "Hang on a minute... that's not Wordle!"
I’m sure that by now all your social feeds are full of people playing Wordle. But the cool nerds are playing something new…

Now, a Wordle clone for D&D players!

But you know what hasn’t been seen before today? A Wordle clone where you have to guess a creature from the Dungeons & Dragons (5e) Monster Manual by putting numeric values into a character sheet (STR, DEX, CON, INT, WIS, CHA):

Screenshot of DNDle, showing two guesses made already.
Just because nobody’s asking for a game doesn’t mean you shouldn’t make it anyway.

What are you waiting for: go give DNDle a try (I pronounce it “dindle”, but you can pronounce it however you like). A new monster appears at 10:00 UTC each day.

And because it’s me, of course it’s open source and works offline.

The boring techy bit

  • Like Wordle, everything happens in your browser: this is a “backendless” web application.
  • I’ve used ReefJS for state management, because I wanted something I could throw together quickly but I didn’t want to drown myself (or my players) in a heavyweight monster library. If you’ve not used Reef before, you should give it a go: it’s basically like React but a tenth of the footprint.
  • A cache-first/background-updating service worker means that it can run completely offline: you can install it to your homescreen in the same way as Wordle, but once you’ve visited it once it can work indefinitely even if you never go online again.
  • I don’t like to use a buildchain that’s any more-complicated than is absolutely necessary, so the only development dependency is rollup. It resolves my import statements and bundles a single JS file for the browser.
×

16 comments

  1. Rosie M Rosie M says:

    Hahahaha this is Awesome!!!

  2. This is very niche but I like it. I haven’t run enough d&d to identify creatures by stat block but found it easier than mathle which I hate as much as I hate math.

  3. My son DM’s a game every week – he’ll love this. I forwarded it to him.

  4. Spencer Spencer says:

    Does knowledge of the MM help much with this? I haven’t played much and for me it was basically “guess 6 numbers with replacement”. What does the frequency distribution for each stat look like? Are they pretty flat?

    1. Dan Q Dan Q says:

      Sapient creatures tend to have stats that are of similar magnitude: if several are “high”, it usually means the others are too: compare a Solar [26/22/26/25/25/30] (a kind of angelic being) to a Kobold [7/15/9/8/7/8]. DEX sometimes stands out in the case of small and nimble creatures (like the Kobold). Nonsapient animals tend to have STR/DEX/CON of a similar magnitude, but at least two of INT/WIS/CHA are usually lower (in prey animals, WIS is often high because they’re good at spotting movement; pack animals sometimes have high CHA), e.g. consider a Deer [11/16/11/2/14/5] exhibits middling STR/DEX/CON (with slightly elevated DEX because it’s nimble), low INT/CHA, and slightly-high WIS. Spotting patterns can be helpful early on; e.g. a good first guess might be something like 9/10/11/12/13/14; if you get some hits in the first three and zero or one of the last three boxes, you’re probably looking at an animal, which narrows down your guesses a bit.

      I don’t think it’s as “smart” as a game with words, though!

    2. Dan Q Dan Q says:

      If you’re interested in doing any frequency analysis or anything, though, here’s the source code file with the (JSON-ey) beastiary in it!

      1. Spencer Spencer says:

        I’d already started hacking (I love open source)! Here’s the distribution:

        https://codepen.io/sbliven/full/JjOMMYX

        1. Spencer Spencer says:

          Good initial guesses might include 18/14/16/2/10/7, which maximizes your chance of gettting greens, and 15/14/13/10/12/11, which lowers the chance of getting greys. However, after watching the [3blue1brown video](https://www.youtube.com/watch?v=v68zYyaEmEA&t=0s) I know that actually optimizing this would require some entropy calculations that I’m not going to do.

        2. Braegon Braegon says:

          Thank you for doing this! Would love a link to the monster after through dndbeyond

  5. Taylor Taylor says:

    “it’s basically like React but a tenth of the footprint”

    theres preact too – https://preactjs.com/

  6. Jonathan Jonathan says:

    Why isn’t this called Nerdle?

  7. Jonathan Jonathan says:

    The Dex on today’s monster seems to be a typo

  8. Alex Alex says:

    Hi Dan Q
    I’ve really enjoyed playing DND for the last year or two (since a player pointed it out to me), so thank you very much for making it!
    Two questions: a bug report and a feature request
    I had built up a big streak (>500) which I sadly/stupidly broke a week ago. Even sadder though (and here’s the bug report) as well as resetting current streak, it also set my max streak back to zero.
    Feature request: there are currently two modes to play. Hard mode basically seems to be impossible, but how much work would it be to put in a third mode (which might end up even easier than keyboard mode), where the keyboard is disabled, but the list of monsters get’s shorter with every guess (where monsters that are no longer possible get filtered out)?

  9. Jay Jay says:

    This is awesome, but I wish I could play more than one at a time, like wordle let you play the past days’ words. That would be awesome

Reply here

Your email address will not be published. Required fields are marked *

Reply on your own site

Reply elsewhere

You can reply to this post on Facebook, LinkedIn.

Reply by email

I'd love to hear what you think. Send an email to b19894@danq.me; be sure to let me know if you're happy for your comment to appear on the Web!