Log In  

Cart #soyojehub-14 | 2022-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

With all the fuss over the Wordle game, I thought it would be a fun afternoon project to throw together a version for pico-8.

The word dictionary is quite small and I didn't get a chance to add in any sfx. However, it's fun to play and was a good exercise to keep learning new things.


  • Added instructions screen
  • Added some simple sfx
  • Added hard mode (accessed through pause menu)
  • Added light mode
  • Added animations
    • Invalid guess
    • Revealing clues
  • Improve instructions
  • Save hard mode / light mode
  • Increased dictionary size (thanks to zep's work here)
  • Added guess statistics

Future ideas:

  • Animations
    • Winning
  • Statistic reset confirmation
  • Improve sfx
P#105221 2022-01-17 06:54 ( Edited 2022-02-05 23:00)


Pretty neat game, @scarecrw. Needs sound effects at least. I'm not very happy you repeat letters as choices. That makes it quite tricky indeed. Especially for a solution of the word, LEVEL

Nonetheless, well done. A game I would definitely play again. Gold star work and ❤️ favorited.

P#105297 2022-01-18 03:55 ( Edited 2022-01-19 05:21)

Very nice! One feature request might be an option for enforcing hard mode - I know I can always choose to play that way, but it's still possible to accidentally make a guess that doesn't conform to the clues so far.

P#105308 2022-01-18 09:01

Pretty good. It's minor, @scarecrw, but could you please add 🅾️ to do backspace so you don't have to use the arrow keys to manually select it each time ?

Played it again. Ran into another error. Not sure how as these are all normal words.

P#105806 2022-01-28 05:54 ( Edited 2022-01-28 06:10)


Thanks for catching that! Should be fixed now. I also added the 🅾️ for backspace; definitely agree that saves some time.

P#105812 2022-01-28 07:08

First time playing this kind of game. I cheated and used a word solver.

Edit: I tried a 2nd time without cheating. Interesting game.

Pretty nice game.

P#105939 2022-01-30 03:00 ( Edited 2022-01-30 03:15)

Love this, really amazing clone of the original.
Any chance on adding mouse support? Would make it easier to play on phone/tablets/computer.

P#106077 2022-01-31 21:56

Looking good, @scarecrw !

I don't know how content you are with players using letters that have already been used and have already been shown to not be in the word. You could do one of a few things.

Either refuse them to be entered or visually remove them from the list of letters. For instance if the cursor was on S key and you pressed UP and there was only letter U on that row then it would jump to the U and not let you move left or right, only down.

. . .

Do you really have a 1,000 word dictionary ?

Hmm ... Another method you could use is to store them in your sprite and mapper area at 1-byte per letter. That would yield you space for 2458 words perfectly with no bytes left over and would not cost any of your coding space at all.

If that data were 8-bit, however and you converted to 5-bit extraction, you could have a whopping 3932 words and still not cost a single character in coding space. There's even a way of getting exactly 4915 words, can you see how ?

P#106080 2022-01-31 22:39 ( Edited 2022-02-01 03:43)

@scarecrw, you mentioned ZEP helped you increase your dictionary size of 5-letter words. How many 5-letter words do you have now ?

P#106377 2022-02-05 05:17 ( Edited 2022-02-05 05:17)


Yeah, I had thought about using a bloom filter and figured I should see if anybody else had done it. Felt super lucky when all the hard work had already been done for me!

I ended up fitting in 7500 words for the guessing dictionary. The word list is still around 1500. I could probably expand that with some clever compression, but it's probably better to keep the answers to relatively common words.

P#106378 2022-02-05 05:21

I'm confused, @scarecrw. You have =2= dictionaries ? What is the guessing dictionary ? And is your total word list 1500 and not 7500 ?

P#106391 2022-02-05 18:01


Yeah, there's two dictionaries. The guessing dictionary is everything the player is allowed to guess. Since it only needs to validate guesses, the bloom filter works fine. For selecting words to be the answer it actually needs the word stored, so I have a separate dictionary for that.

The guessing dictionary has 7500 words (with a false positive rate of ~3%) whereas the dictionary of potential secret words is 1500 words (stored as a simple uncompressed string).

P#106394 2022-02-05 18:52

I want to understand this, @scarecrw. OK you have a guessing dictionary of 7500 words and a dictionary of 1500 words. And you are mentioning false positive 3%.

So is the 7500 dictionary derived from English nuances or are you actually storing 7500 correct spelling words ?

And if so why not have 8500 words in your total dictionary so those playing can have a wide variety of words to choose from to guess instead of just 1500 ?

I am trying to understand this.

P#106412 2022-02-06 04:18


> And you are mentioning false positive 3%.

The word validation method used is very storage-efficient but has one-sided random error. (It may give false positives, will never give false negatives.) Look up Bloom filters if you're curious why - while the theory is deep, the basic idea is simple.

> And if so why not have 8500 words in your total dictionary so those playing can have a wide variety of words to choose from to guess instead of just 1500 ?

While I'm not the author, I think there are a couple reasons here:

  1. Wordle itself (the original game) has about 12-13k guessable words, but only 2-3k goal words, so this choice follows the original design - which has been quite successful!
  2. That split helps keep the game feeling more fair and interesting - there are some pretty obscure words you can guess that might not ever occur to most people as a goal. You sort of want that so that you can guess with intentionality instead of just guessing at goals that feel word-shaped. At the same time, you don't want to reject guesses that are real words, but just a bit uncommon, since that might feel unfair.
  3. The Bloom filter does not contain an explicit representation of the word list, it can only answer set membership queries.

edit: I'd also like to throw in a feature request that would be a bit of a divergence from the original game. Maybe as an option - do something to encourage players to change up their initial guesses! I mostly do the same first word every time now.

P#106418 2022-02-06 08:19 ( Edited 2022-02-06 08:31)

This is nice! It makes me think of a solo yahtzee electronic game I had a long time ago idle mining empire

P#110463 2022-04-19 06:48 ( Edited 2022-04-19 06:49)

@konwa am I a banana?

Most likely a spam post but wouldn't be surprised if it was a site of ripped games

P#115878 2022-08-16 16:24 ( Edited 2022-08-16 16:25)

Hey there! You might want to look into this to make your game a bit snappier to play.

P#115907 2022-08-17 00:23

[Please log in to post a comment]