lynn / hello

Word-guessing game
MIT License
350 stars 230 forks source link

Feature request: Adding game number query string value to URL #64

Closed craigthings closed 2 years ago

craigthings commented 2 years ago

I love the seeded random puzzles. Sometimes I come across a uniquely interesting and difficult puzzle that I want to share with friends, but the unique puzzle is on game 5 or something, so when I share the puzzle with them they can't go directly to the puzzle I was trying to solve. It would be super great just to have the game number saved in the URL so I could share it!

Thank you for this great extended version of Wordle. Endless Wordles has helped me go from terrible to middlingly average!

dskunkler commented 2 years ago

There is currently a 'Challenge a friend to this word' button which should seed the url with that current word. If that isn't working, can you give some reproduceable steps?

SystemDisc commented 2 years ago

@dskunkler If someone sends you a challenge link, you see that in the URL while playing. If you go to the site directly or follow a challenge link, the buttons below show up for sending a challenge link or an emoji pattern with a challenge link only after you solve the puzzle or give up. If you hit enter to continue playing, those buttons go away, and the query string in the URL disappears.

At that point, you cannot share your current challenge unless you enter a valid word first, then give up - or continue until you run out of turns or solve the puzzle. To me, this is very frustrating. What if I want to play with someone else in real-time or near-real-time? My girlfriend and I like playing together, and we live together, so what I've been doing is covering up the screen (because it reveals the answer), entering my first word, clicking "give up", getting the link, going to that link (now I can uncover the screen), giving her the link, entering my first word again, and continuing from there while we both solve the challenge.

I think the appropriate solution is to either have the homepage be the daily challenge and the random button give you an explicit URL with the challenge ID, OR provide a link at the top that will always link to the current challenge regardless of game state (could be generated on click in case you want to save space in your database).

I just checked the "today" functionality in OPs comment. It looks like it starts with a seed, and every time you complete a puzzle, you can hit enter to progress. I suggest adding the functionality that when you hit enter, it updates the query params with a direct link to the new challenge - either something like ?seed=20220130&game=5 or ?challenge=Zm9yY2U.

SystemDisc commented 2 years ago

Oh, that's hilarious. I just realized the challenge link is just a base64 encoded version of the word... So, there's no storing anything in any database. Just plop the challenge link (?challenge=Zm9yY2U) at the top of the page for random games, and for the today games, use a link like this ?seed=20220130&game=5.

dskunkler commented 2 years ago

@lynn Was the intention of not having the share link during gameplay for mobile or something? Seems like we could make the share link available during play but reserve the share result until after its finished.

SystemDisc commented 2 years ago

If you are ok with showing the shareable link at all times, I wouldn't mind submitting a PR.

lynn commented 2 years ago

I really like the ideas of:

I might work on these things tomorrow 🙂

SystemDisc commented 2 years ago

Yayyyy! This would be a super awesome addition for me - especially if it also works for random games and not just in the today mode. Thank you!!!

SystemDisc commented 2 years ago

Thanks, @lynn! Perfect implementation