Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Evil Wordle (swag.github.io)
177 points by raviparikh on Jan 9, 2022 | hide | past | favorite | 71 comments



> The goal is to maximize the amount of guesses it takes to find the word

The heuristic used is not optimal for this. You want to choose the set that takes the most number of guesses to split, which is not necessarily the set with the largest number of elements.


Had this bouncing around my subconscious, thanks for crystallizing it.


It's a cool idea, but it'd be nice to show which letters have been eliminated like "real" Wordle. I don't think not having them makes the game harder, just more tedious.


Good suggestion–I just added this!


Awesome, thanks :D


Maybe more evil. Lol.


See also qntm's Absurdle, which similarly tries to be a maximally difficult by taking your guess at each stage and using it to prune the list of possible answers, picking the largest set consistent with your guesses so far each time.

Play:

https://qntm.org/files/wordle/index.html

The author also wrote up this nice article describing in detail how the algorithm works:

https://qntm.org/wordle

Previous HN discussion: https://news.ycombinator.com/item?id=29862597


This uses different word lists than Wordle/Adversarial Wordle, but still has a 4-guess optimum, no 3-guess is possible.

My solver's found about a thousand so far, here's a good one: "abyes choup donut dingo" (note that there are a number of 'fake' words allowed for guesses).


This might be a solution for the suboptimal adversary used here but it's not a solution in general.

abyes GXXXX

choup XXXXX

donut XXYXX

dingo XYYYX

matches both

aging, again

so this solution doesn't actually partition the solution space the way you want it to.


The solution partitions the solution space exactly the way I want it to: it was designed for the site this thread is about. Obviously it doesn't work against an arbitrary adversary.

My solution is static and doesn't take any clues into account, so what you're saying just doesn't feel very relevant. The only "solution in general" to an arbitrary adversary, if you're not allowed to look at the clues it gives, is just to guess every single target word, which isn't very interesting.

Now, you could easily argue that the greedy strategy used by the site is suboptimal, and I'd agree, but AFAIK nobody's put up a site with a better one yet.


abyes xxxxx

choup xxyxx

donut gygxx

dingo ggggg

:D


> note that there are a number of 'fake' words allowed for guesses

I used a much larger dictionary for allowed guesses than for the actual words that get chosen.


See also: https://news.ycombinator.com/item?id=29862597

Same idea, different implementation.


Ah yeah a friend sent that to me right after I created my version! I remembered making an “evil hangman” in class many years ago so probably a lot of folks will have the same idea.


.


I'm not sure if assuming malice makes sense. If the OP of this post was busy coding they'd likely have missed the earlier post. In fact I'd guess that except for some people most don't follow HN that religiously. Side note, why might someone want to earn karma on HN? I know people on reddit sometimes do it to sell their accounts but I'd imagine it to be much more pointless here.


I wonder what is the best strategy over a long distance?

“ALONE” and “SHIRT” cover 1st to 9th and 11th most common letters in English dictionary but then, you'll be getting more yellow letters in first two words which might not be the best approach (compared to completely eliminating 10 letters altogether).

Then, for words like “_OUCH”, it might be optimal to come up with a word containing as many potential first letters as possible (while omitting letters already in use, “ouch” in this case).


So, there's another evil Wordle thread on Hacker News today (https://news.ycombinator.com/item?id=29862597) and over there, I've been refining my algorith for optimal play. Here's the current approach:

    R A I S E (0 green, 0 yellow, 168 words remain)
    B L U D Y (1 green, 0 yellow, 13 words remain)
    C O U N T (2 green, 1 yellow, 2 words remain)
    V O U C H (4 green, 0 yellow, 1 word remains)
    P O U C H (5 green, 0 yellow, 0 words remain)
But what was interesting was at one point of development, it did this:

    L A R E S (0 green, 0 yellow, 576 words remain)
    T O N I C (1 green, 0 yellow, 50 words remain)
    B O O D Y (4 green, 0 yellow, 5 words remain)
    D E G U M (0 green, 2 yellow, 1 word remains)
    G O O D Y (5 green, 0 yellow, 0 words remain)
See, the "BOODY" has 4 greens, but then it went and guess "DEGUM" to eliminate a lot of possibilities!


One additional feature I was looking at for a personal implementation was picking the target word- how is it being chosen from the remaining letters after the player's first guess? Are you using a word that purposely uses fewer common letters from the set of remaining words?


No, I'm looping through all possible guess and targets and grouping possible targets by matching scoring. Then I select a guess on which one has the smallest set of possible words afterwards. For example, "SERAI" seems to be a good first word. The reason why is that even if the adversary selects the worst-case scoring of (in this case, it would be no green, no yellow), there's only 168 remaining words it could be.


Do you have the code that you use for scoring somewhere?



Paste to debug in 12 guesses. Had never heard of the original wordle before, cool game.

  wwwwY Paste

  wwwww Color

  wwwww Print

  wwwww Loops

  Ywwww Bombs

  RRwww Death

  RRRww Debts

  RRRww Debby (It should be obvious here that I didn't know how the game worked)
  
  RRRww Debit

  wYwww Junks (Questionable that this is counted as a real word imo)

  YwwwY Gorge

  RRRRR Debug


A junk is the English name for a type of Chinese ship[0], plural would be junks.

[0] https://en.m.wikipedia.org/wiki/Junk_(ship)


Junk is also a verb meaning to throw something away


This is fun! Though when I dove right in I mistakenly thought that the indicator for the correct letter was also indicating the correct position for that letter. But that was not the case. I had a weird combo and had to give up before I understood that.


My kid is now trying to solve it, keeping careful notes of letters. I explained what (I'm guessing) makes it evil, but she's undeterred. (Solved in 15)


Seems like this will be the same as the 2046 craze. Game becomes popular then a million copy-cats and off shoots get created.



Looks like I fell victim and referenced the wrong game. Seems like 2048 (correction to my 2046 comment) was a knock off in the first place.

https://en.wikipedia.org/wiki/Threes#Legacy


It always makes me sad that 2048 is the more famous game. Threes is so full of charm and joy. 2048 is sterile, mathematical and precise.


Wordle itself stems from a really great two-player pen and paper game called Bulls and Cows that I used to play decades ago. Google it for the rules.


This engine is deterministic.

No computer assistance, no obscure words, hard mode:

  AIRED -----

  BOOTS -----

  PLUNK --U-K

  CHUCK CHUCK


22 guesses. Seems like the trick is to select letters in their worst positions first so that it later puts them in more favorable positions (e.g. don’t guess Q in the first spot if you can put it anywhere else first.


I keep pull down refreshing the page and can't go back to what the word was. Also cataegories would be nice. Also a list of the alphabet at the bottom would cross out wrong guesses would be nice.


the word is not pre-determined. it changes based on what you are guessing, to make it harder to guess a matching word.


I managed to get it in 6:

STRAP - ______

BIOME - __Y_Y

HOVEL - _G_G_

CONED - GG_GY

CODEX - GGGG_

CODEC - GGGGG

Cool idea, btw.


A (self-made) tool-assisted 5…

  1. LARES - xxxxx
  2. BIONT - xxYxx
  3. PUDGY - xxxxG
  4. COMFY - GGxxG
  5. COCKY - GGGGG
I agree - great idea.

It only took 22 hours’ CPU time, a custom string encoding and several trillion operations to work out LARES was a decent first go.


Another 5 run (non tool-assisted, I guess I just got lucky):

    STRAY - xxxxx
    BOWEL - xxxYx
    MEDIC - xYxYY
    CHUNK - GGxGx
    CHINE - GGGGG
I guess that means that 4 isn't possible? Is there a better strategy for the opponent that would make even 5 impossible?


Someone else posted: AIRED, BOOTS, PLUNK, CHUCK and that works in 4.

The best I had gotten myself was five.


I got lucky with 5 as well:

ADIEU BLAST MANOR FANNY CANNA

⬜⬜⬜⬜ ⬜⬜⬜⬜ ⬜⬜⬜ ⬜⬜


Nice! That’s the best I’ve managed as well.


Evil Wordle: "fixes". I won after 8 guesses

⬜⬜⬜⬜ ⬜⬜⬜⬜ ⬜⬜⬜⬜ ⬜⬜ ⬜⬜ ⬜ ⬜

https://swag.github.io/evil-wordle/


Evil Wordle: "bobby". I won after 12 guesses

Ha! fun game. The fun was writing a program to narrow down the alternative words, now I lost interest in the game.


I got 'bobby' in 7, a bit of luck perhaps.


Evil Wordle: "caver". I won after 6 guesses

  Y____
  YY___
  _____
  _G_GG
  GG_GG
  GGGGG


Thanks, I hate it. [Cool game!]


Evil Wordle: "coves". I won after 14 guesses

Turns out _o_es has a few options to guess...


On my first try

toast

cluEd

whEre

BEGIN

BEING Correct!


Evil Wordle: "beefs". I won after 6 guesses

arose until weeds peeks seems beefs


Wow that's annoying.

Evil Wordle: "booed". I won after 9 guesses

⬜⬜⬜⬜ ⬜⬜⬜⬜ ⬜⬜⬜ ⬜⬜ ⬜⬜ ⬜ ⬜ ⬜


It likes the "boo"s it seems. Booed, books, booms, boons, boobs.


Proud to share that I got the word “balls” in 15 guesses.


Cool idea… I made it from MAIZE to BODED in 8 attempts.


AUXIN

Not really fun when the dictionary uses extremely obscure words.


Doesn't know the word "femto": https://en.wikipedia.org/wiki/Femto-


Prefixes are not themselves words.


I think there's also the question of whether a word adopted from Danish by an international standards body in the 20th century automatically counts as English.


Use “femto-“ in a sentence.


"Femto (symbol f) is a unit prefix in the metric system denoting a factor of 10−15"


> Use “femto-“ in a sentence.

There you go.


You can quote any nonsense in this sentence, so it is an incorrect proof of a word’s existence.

> Use “bfekpv” in a sentence.


Even if we discard obligatory quotes, there's still the hyphen as a part of stand-alone version of this "word". So when I use "femto-" by itself in a sentence, it's at best 6 characters long.



was thinking of "boyos". You lose!


ALKYL -- took me 14 guesses.

You're a monster.


Fun but wtf is "direr"


More dire, as in more worrisome/extreme/upsetting.

You've heard of Dire Straits, right?


The pandemic in 2022.


Also definitions would be nice


Got it in 6 guesses, then 7




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: