Dodecadordle

🕹️JavaScript tag🌐web components tag Play

How many games can you handle?

Description

Dodecadordle is a word guessing game inspired by Mastermind, Wordle, Quordle and Octordle. With these 1, 4, and 8 games can be played simultaneously - so why not 12?! Players can even increase the number of games in the settings menu, being as sensible or as silly with it as they like. There is a new combination of words every day.

How To Play

  1. You are initially given 12 boards with 18 guesses on each. Use the settings menu to change these options to make the game easier or harder!
  2. Begin typing letters, at the end of each row confirm your guess by pressing Enter/.
  3. Letters in the correct position will turn green. Letters that are in the word but the wrong position will turn yellow. Incorrect letters will stay grey. The on-screen keyboard will tell you which letters have already been used.
  4. Play continues until you finish every board or run out of guesses.
  5. Share your results! You can use your devices share menu to send results to friends!

Privacy

No information is transmitted anywhere. Your game state is stored on your device so that can close the page and resume your game later. You can clear this with the reset button in the settings menu.

Uh-oh, Something Broke!

Contact me, giving as much detail as you can.

Technical Info

This section isn’t intended for everyone. The state for all games is handled in a State instance; it tracks which letters are correct/mismatch/used in each guess in each game, as well as handling saving & loading, statistics text for sharing results and consuming key presses. The games from this state are passed into 2 web components I created. They handle DOM updates like so:

There is some more logic to load words into each game, load & reset them, and ensure the correct number of WordGame elements appear on screen. The components were written imperatively rather than with a web component library. I worked using only the web component standard to understand how easy or difficult it is, knowing before I worked that really I’d benefit from decorators or a lightweight library to apply state updates. This would’ve made it easier to keep the code clean and related to this, I hope the community context API picks up more momentum in the future. Of course, now that I’ve explored the standard itself I could re-write the components with something like Lit and make better design decisions along the way, as well as improving testing and localisation; I’ve gone through the learning I wanted for Dodecadordle though and it’s a fun game, so I’ll leave that for something else in the future!