Show HN: MidWord – A Word-Guessing Game

53 pointsposted 3 days ago
by minaguib

36 Comments

flipnotyk

3 days ago

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

3 days ago

Thanks - cleaned up the list a bit with the help of AI

gcr

2 days 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

csnizik

2 days 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!

salamanderman

2 days ago

Bisection search the game, but honestly was fun to play with my partner multiple times.

tmulc18

2 days 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.

jmpavlec

3 days 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

3 days 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

3 days 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

3 days 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

3 days ago

I think I prefer alphaguess.com’s simpler interface

minaguib

3 days ago

I like it as well - especially the logical top-input-bottom layout

ynac

2 days ago

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

2 days 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

2 days 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

14 hours 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

12 hours ago

I'll look into these. Thank you.

pekim

2 days 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

3 days 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

3 days 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

2 days ago

Amazing! I've been enjoying the game a lot!

glaucon

3 days 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

3 days ago

I then went back to the home page and started again and 'mountain' was accepted.

glaucon

3 days ago

Otherwise, I'm enjoying it !

minaguib

3 days ago

Thanks - I've removed the pattern validation for now

uptown

3 days ago

Had the same problem with a different word. Chrome / Mac.

pardner

3 days 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

3 days 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

3 days 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

3 days 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

2 days 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

3 days ago

> binary search

Hence the word "Mid".

sarpdag

3 days ago

It was fun. I don't know if I would play again or not, but played 2 times without losing focus.

layer8

3 days ago

I didn’t now that binary search is the world’s favorite guessing game. ;)