โฌ โฌ โฌ ๐จ ๐ฉ
๐ฉ โฌ ๐จ โฌ ๐ฉ
๐ฉ ๐ฉ โฌ โฌ ๐ฉ
๐ฉ ๐ฉ ๐ฉ ๐ฉ ๐ฉ
If you've been seeing a bunch of green and yellow squares in your social media feed, then your friends are probably addicted to Wordle.
Wordle, the game that took the internet by storm in late 2021, has been a hit amongst gamers and gamblers alike.
How to Play Wordle
Wordle is a simple game where you try to guess the word of the day. Each guess receives a ๐ฉ or ๐จ square to indicate whether the letter is a direct hit for that position, or if it is found in a different slot.
The Inception
On one of my first attempts, I got stuck and ended up busting out a pen and some paper to iterate through all of the possibilities... While spending about 15 minutes cycling through letter combinations, the inception of this solver was born. I knew a computer could do in just a fraction of a second what took me minutes.
Plus, as a software engineer, I firmly believe that "Anything worth doing a few times is worth automating."
Introducing the JackAce Wordle Solver!
There are many like it, but this one is mine.
The JackAce Wordle Solver can be found here:
https://www.jackace.com/games/wordle/solver/
How to Use the JackAce Wordle Solver
Using the JackAce Wordle Solver involves playing Wordle as you would normally would, while you keep the solver informed of each guess's result. You will usually do this by keeping both sites open on two different browser tabs as you navigate back and forth between the Wordle site and the Solver.
There are three parts to the JackAce Wordle Solver:
The Suggestion List
This is the list of words on the right-hand side of the screen. Select one of these suggested words and submit it to Wordle.
The highest ranked words appear on top. If the suggested word is part of the Official solution list (if it is a valid solution to the Wordle), then the word's tiles will have a white border. If it is a valid word submission, but not an "Official" solution word, then the tiles' border will be light grey. These allowed words may be submitted when probing the state of certain letters.
Keep in mind that most Wordle clone sites don't adhere to the Official word list for possible solutions.
The tiles are also colored according to how they were previously scored. So ๐ฉ "Direct Hit" letters will be colored in green and ๐จ "Near Miss" letters will be colored yellow.
After you've submitted your suggested word to Wordle, click on the word you've chosen to populate your current submission on the Main Board.
The Main Board
The Main Board is where you input your guesses and report to the solver how it scored. It should mirror the diplay of guesses on the Wordle site.
If you've used one of our suggestions, you can click it in the Suggestion List to populate the Main Board. You can also manually type it in.
If you've used your own guess, you can type it in using your computer's keyboard or the on-screen keyboard.
Click each tile of the current submission to cycle the color between ๐ฉ, ๐จ, and โฌ. The tile should match the response you got when submitting the guess to Wordle. The JackAce Wordle Solver even helps you by pre-populating the state of the letter for you based on previous responses.
The Keyboard
This is an on-screen keyboard that also updates itself based on your hit/miss responses. Letters that are not part of your Wordle's solution are dark grey. Unused letters are light grey. Direct hits are green, and near misses are yellow.
There's also a RESET button if you want to start another Solver session. You can also press Escape to reset the board if you're on a desktop.
Word Scoring and Ranking
There are two word lists for the New York Times version of Wordle. They have a list of words that are valid final solutions to the word of the day, and they have a list of words that they accept that can be used to eliminate letters and probe for hints.
As you find matches and misses, the word lists are whittled down. Amongst the remaining words, the JackAce Wordle Solver counts the occurence of each letter and awards each word with the most common letters with the highest score. Letters are also weighted with vowels being worth more.
Why Does This Exist?
Jack, you've managed to take a fun little game and you've completely sucked the life out of it!
I don't really expect you to use this solver instead of playing the game on your own. Maybe you'd use it if you REALLY got stuck after 5 guesses and you wanted to keep your streak alive, but that's probably it.
This solver only exists because I wanted to see how hard it would be to make it. Plus, in my mind, using a solver that I wrote is as valid as solving a Wordle manually.
I still play the game without the solver, but I really enjoy seeing whether my solver can find the right solution in 2 or 3 guesses! It's also fun to see if you can guess in fewer tries than the solver.
Back End Source Code Available
If you want to take a look at the back end code, it's currently hosted on GitHub.
It's written in Node.js and hosted on Heroku.
Front End Source Code Available, too
The UI for the solver is just part of this site, which you should already know is publicly hosted on GitHub. I may move this to its own single page app with its own host name in the near future.
Give it a Shot!
If you want to give it a spin, go for it! I find it's best to do a few lightning rounds on one of the many Wordle clone sites, like Wordle Unlimited, which allows you to do back-to-back-to-back Wordles without having to wait until midnight to try the next one.
In the future, I may iterate on the code to make it more efficient and add unit and performance tests. If you see something that would improve the solver, please open a Pull Request in GitHub!
Questions? Comments? Suggestions? Bugs? Let me know!