You could write a bot to minimize the worst-case number of guesses by using a minimax-style tree search with a zero-sum two-player perfect-information version of the game. Here's how that could work.
There are two players, Guesser and Responder, who share a dictionary of words. Responder starts the game by stating a positive integer N, where there is at least one word of length N in the dictionary. The turns then alternate between Guesser and Responder. Guesser proposes any dictionary word of length N, and Responder then provides feedback on each letter in the word (i.e., right letter in wrong place, right letter in right place, wrong letter) such that at least one N-letter word in the dictionary is consistent with all the feedback given so far.
The game ends when Responder indicates that Guesser's word is correct in all places, or after responder has provided feedback 6 times, whichever comes first. If Guesser never guessed the word, Responder gains 7 points. Otherwise, responder gains a number of points equal to the number of turns taken by Guesser.
Alternatively, the bot could minimize the expected number of turns using an expectimax (https://en.wikipedia.org/wiki/Expectiminimax) search, under the assumption that the hidden word was chosen uniformly at random from the set of all dictionary words of the same length.
Why only one play per day? You have the user’s attention and if they want to engage further they have to wait an arbitrary time (depending on how close it is to the following day), and during that break any manner of things will occur that may distract the user into forgetting to ever come back.
Well, I'm hooked. Love the clean design, and actually appreciated how minimal the directions were and the time it took to figure it out at first. That feels like part of the game somehow. And, I like that. Great work!
Fun fact: this concept is also the basis for a game show on Dutch national TV. I took part two years ago, and spent way too much time optimising our strategy: https://vincenttunru.com/hacking-a-gameshow/
Same thing happened to me after playing for a few days the last time this was posted. I checked the directions several times and agonized over what the word could possibly be. In my opinion the possibility of repeated letters should be called out explicitly in the instructions, and maybe also adding a new color of tile for this scenario.
For anybody that needs it, you can toggle a colorblind mode in the gear-icon setup screen. I was very confused until I realized I couldn't tell whether my correct-but-out-of-place letters weren't actually in the right place.
I got it in 3, but I feel very lucky for doing so. What a nice concept!
I'd love to see a head-to-head version of this, where I could wager against my opponent each turn. I know some very "wordy" friends that would really enjoy trying to outguess and outbet one another.
Suppose we could just use two ipads and accomplish the same thing.
Took me four attempts but I also feel like I got lucky as in 2nd attempt I guessed 4/5 letters but all were in wrong order (1st attempt was all non-appearing letters). But that of course narrowed things down quite a lot..
Cool game with a nice clean UI! There used to be a game show with a great name, Lingo[0], that combined this Mastermind-style word guessing with Bingo.
Interesting game. At the start it seems like an impossible feat but the information you get from even the first couple of guesses can drastically reduce the range of possible solutions.
I got it on the fourth try but it felt like dumb luck. I'll have to try again tomorrow to see if it was.
Took me a bit to figure it out. Each row is an attempt. I'm on mobile so after you put in a five letter word you need to tap on the "enter" key which weirdly is on the left side of the virtual keyboard. Once you press enter it will show you the results of that row and you keep trying for the remaining rows.
Type a 5 letter word in. It must be a real word (in its word list). The letters will be highlighted according to the instructions it pops up on load. You can then try another word. 6 tries to get the right word.
The fact that each try needs to be a real world is not stated in the instructions, which confused me too.
There are two players, Guesser and Responder, who share a dictionary of words. Responder starts the game by stating a positive integer N, where there is at least one word of length N in the dictionary. The turns then alternate between Guesser and Responder. Guesser proposes any dictionary word of length N, and Responder then provides feedback on each letter in the word (i.e., right letter in wrong place, right letter in right place, wrong letter) such that at least one N-letter word in the dictionary is consistent with all the feedback given so far.
The game ends when Responder indicates that Guesser's word is correct in all places, or after responder has provided feedback 6 times, whichever comes first. If Guesser never guessed the word, Responder gains 7 points. Otherwise, responder gains a number of points equal to the number of turns taken by Guesser.
Alternatively, the bot could minimize the expected number of turns using an expectimax (https://en.wikipedia.org/wiki/Expectiminimax) search, under the assumption that the hidden word was chosen uniformly at random from the set of all dictionary words of the same length.