I got "Negociate" after like 20 tries, the spelling of which I've never seen. I ended up using the hints to figure it out. When I clicked on the link of the word it took me to a "No results found for negociate!" page on Dictionary.com. Pretty frustrating, might want to double check your word list.
minaguib · 2d ago
Thanks - cleaned up the list a bit with the help of AI
gcr · 1d ago
I suggest having two lists: a small handpicked list of 1500 possible goal words, and a copy of /usr/share/dict/words with common misspellings added as acceptable guesses
salamanderman · 2d ago
Bisection search the game, but honestly was fun to play with my partner multiple times.
tmulc18 · 1d ago
Would be more fun (even if you call it "easy mode") if you had the alphabet at the top of the page! Took me 17 tries to get "prepare" but I had a lot of mistakes because I forgot what came after what in the alphabet.
csnizik · 2d ago
Very clever idea! It's difficult to come up with an original idea for a word game, but you seem to have done it. If there's one like this, I haven't seen it.
The only issue I noticed was there seems to be some lag on printing some of the results. Maybe memoizing some repetitive functions might help, if you're not already.
Nice work!
jmpavlec · 2d ago
A little presumptuous to say it is the world's "favorite" guessing game... But I had fun for a few words. It was nice you could press the enter key on mobile and keep the keyboard up.
Are you thinking of doing a daily word? Or just a random dictionary word each time you refresh?
minaguib · 2d ago
It's a random word each game (but the URL is shareable with a friend to play the same word).
TBH I've had it up as-is for a decade as a classical web app, but just converted it to a frontend-only app to eliminate most hosting costs.
glaucon · 2d ago
Out of interest what did you use (framework, or 'no framework') for the frontend-only ? Anything you feel like you've learnt from the process ?
minaguib · 2d ago
I've always been a backend/systems kind of guy.
For the frontend for this I used Vue.JS as a learning experience. Overall it was straightforward and quite pleasant.
The hardest part was the mental process of giving up on server-side business logic enforcement (such as anti-cheating). At the end of the day ... "it's just a game" :)
radpanda · 2d ago
I think I prefer alphaguess.com’s simpler interface
pekim · 1d ago
I do https://wordnerd.co/secretword/ most days. It has a similar interface to alphaguess, and I prefer both of them to midword's interface.
minaguib · 2d ago
I like it as well - especially the logical top-input-bottom layout
I got "forth" in five guesses, first game. Which makes me feel like I'm psychic! Which would be really cool, but is it just matching the first two letters of the word or something? I'm usually terrible at these until I understand how they work.
gcr · 1d ago
It’s incredibly frustrating that only the first letter is highlighted. I was guessing tons of SU… and SV… words, but only the S had visual feedback. Bug?
minaguib · 1d ago
No it's intentional. The highlight is what I call a "known prefix"
It's a hint to tell you the word starts with "s", but since you didn't narrow it down to "su..." or "sv..." it's not giving you more hints.
Once you narrow it down further, say, "sub..." and "sun..." it'll highlight the known prefix "su"
thaumasiotes · 8h ago
There is a bug in the calculation of the known prefix.
Suppose the target word is before tin, but after timorous. Midword only displays "ti" for the known prefix. But it should display "tim" - there is no string that could start with "tin..." but sort before the string "tin".
(Another bug is that if you take a hint that would reveal the entire word, the site doesn't display what the word was.)
minaguib · 6h ago
I'll look into these. Thank you.
pekim · 1d ago
It appears to highlight the letters that your guesses have narrowed it down to. For example if you had narrowed it down to after 'sudden' and before 'super', it would highlight 'su'.
cardamomo · 2d ago
Fun game! It stopped responding when I got close to guessing the secret word, though. Then I refreshed the page, and my progress was lost. With a little bit more polish, I think I can add this to my daily game rotation!
minaguib · 2d ago
Aah - not sure why it stopped responding, sorry about that.
I'll try to add some local state management so a refresh for a game doesn't lose progress.
cardamomo · 1d ago
Amazing! I've been enjoying the game a lot!
glaucon · 2d ago
I typed 'mountain' (without the quotes), pressed "GO" and I got a tooltip saying "only letters a-z are allowed" . This is Firefox/Windows.
glaucon · 2d ago
I then went back to the home page and started again and 'mountain' was accepted.
glaucon · 2d ago
Otherwise, I'm enjoying it !
minaguib · 2d ago
Thanks - I've removed the pattern validation for now
uptown · 2d ago
Had the same problem with a different word. Chrome / Mac.
pardner · 2d ago
Nicely implemented screen layout. Curious if you've thought of reporting metrics showing how many guesses it's taking people? (I got 'volatile' in 9)
minaguib · 2d ago
I have a decade's worth of guess statistics per word.
Unfortunately, I just converted it to a frontend-only app to eliminate hosting costs, so I have no good location to keep tracking these stats.
Theoretically, "Oxford English Dictionary estimates that there are around 171,476 words currently in use in the English language", the log2() of which is around 17.38 - I have no historical data for 'volatile'
SamBam · 2d ago
Hmmm, but the shortened dictionary being used is presumably less than that, so my best-so-far of 17 is probably below optimal...
aqme28 · 2d ago
Pretty cool!
Obviously the best strategy is binary search, but it's pretty hard to figure out the best choice for that on the fly.
spyrja · 2d ago
That's basically what I did. Drilled down in a binary-search fashion, guessing "captive" in 18 tries. (Doing it programmatically would have been even faster, of course, but then what is the fun of that? The manual approach yielded a fairly optimal performance anyway.)
_tqr3 · 2d ago
> binary search
Hence the word "Mid".
sarpdag · 2d ago
It was fun. I don't know if I would play again or not, but played 2 times without losing focus.
layer8 · 2d ago
I didn’t now that binary search is the world’s favorite guessing game. ;)
The only issue I noticed was there seems to be some lag on printing some of the results. Maybe memoizing some repetitive functions might help, if you're not already.
Nice work!
Are you thinking of doing a daily word? Or just a random dictionary word each time you refresh?
TBH I've had it up as-is for a decade as a classical web app, but just converted it to a frontend-only app to eliminate most hosting costs.
For the frontend for this I used Vue.JS as a learning experience. Overall it was straightforward and quite pleasant.
The hardest part was the mental process of giving up on server-side business logic enforcement (such as anti-cheating). At the end of the day ... "it's just a game" :)
Similar idea, different interface: https://news.ycombinator.com/item?id=44189814
https://bobsword.com/
It's a hint to tell you the word starts with "s", but since you didn't narrow it down to "su..." or "sv..." it's not giving you more hints.
Once you narrow it down further, say, "sub..." and "sun..." it'll highlight the known prefix "su"
Suppose the target word is before tin, but after timorous. Midword only displays "ti" for the known prefix. But it should display "tim" - there is no string that could start with "tin..." but sort before the string "tin".
(Another bug is that if you take a hint that would reveal the entire word, the site doesn't display what the word was.)
I'll try to add some local state management so a refresh for a game doesn't lose progress.
Unfortunately, I just converted it to a frontend-only app to eliminate hosting costs, so I have no good location to keep tracking these stats.
Theoretically, "Oxford English Dictionary estimates that there are around 171,476 words currently in use in the English language", the log2() of which is around 17.38 - I have no historical data for 'volatile'
Hence the word "Mid".