Addictive and fun. The timing on the turns is just right. If you're looking for feedback, I'd suggest putting the leaderboard up and to the right on bigger screens. I had to keep scrolling down in between turns to see how I was doing.
Also, several times it didn't register my clicks and I have to try a few times before it worked.
I wish it worked on mobile! I'll check it out on my desktop though.
Edit: just played it. Awesome. A few suggestions:
- show me my total score! Unless I'm on the leaderboard, I don't know what it is
- it's unclear whether the "you are #x of Y players" is referring to my standing on just that turn, or the last 20, or what
- more cities, as others have said. Or at least shuffle it better so it's not as obvious when I've gone back to the beginning
Also, a recommendation on making the mechanics work on mobile: make it a race to zoom into the city the fastest. So you have to "pull" the map as fast as you can until the correct location is on the center of the screen. You can zoom as high resolution as you want for more points. This would eliminate the problem of imprecise tapping on mobile, and make it a fun finger motion to practice.
There is already apps working on the same principle. iirc I played a game like this 1 or 2 years ago, but it was a turn based game.
Very fun to play.
Also, this game is very nice to learn web socket, the code and flow is easy to understand.
A few thoughts
-Did you have any trouble with the sockets library?
-I saw you explicitly mentioned "plane_distance", so are you planning on adding Haversine distance or something else?
-Maybe make the map take up the entire screen? Status and first few on the leaderboard could go in the ocean.
We used to play a game like this at my last company using a 4'x6' foamboard map that someone had pulled out of the trash. We would stand far enough back that you couldn't read the text on the map, use a generator to select a random country, then throw darts. Closest dart wins the point. It worked surprisingly well since even if you really knew your geography you still had the challenge of actually getting the dart there.
Really fun game! Reminds me of https://geoguessr.com which drops you in a random location (in Street View mode) and your task is to pinpoint the location on a map.
This is a lot of fun but I'd also recommend allowing zoom for greater precision then resetting after each question. Pretty simple JS commands for Leaflet to handle and would make a HUGE difference - not sure how folks are getting so precise on such a small map :)
Someone has probably already written some JS that plays the game automatically.
The way I'd do it is 1) track the current turn, 2) look up the city's coordinates using a reverse geocoder like OSM's Nominatim[1], and 3) draw a marker at the location using Leaflet.
If I know precisely the location of a city (like Kyiv, Istanbul in my case) I was able to pin it with 20 to 45km precision. I think it's close enough on a world scale.
The worldmap seems to not include new zealand, because it takes the browser's zoom level (which i have set to high), and scales it badly to clip out the sides.
I really like it - a couple of opinions though - the time could be extended just a bit, maybe its my pre-coffee state but I sometimes needed a couple more seconds just to think about the name. Also consider changing the scoring to be relative - getting on the right continent would be worth something - for some of these you could guess close enough that if you went and looked at a map for that guess you would be close enough to find the city - but it was still technically too far to count. Agree with someone else that your total score should be shown somewhere.
Fun. Quite tricky when it comes to remembering where each of the Guineas (Equatorial Guinea, Guinea-Bissau, Papua New Guinea) is.
One issue: the cursor seemed to be inaccurate for me most of the time, even when I knew exactly where the location was. For me, the click registered at the top of the crosshairs (instead of the middle). Further, I might change the cursor to be a map pin, and use the pin's point as the accepted answer.
Also, I'd love to have a few seconds when the solution is given to learn from my mistakes. Right now it's going too fast...
(I guess that would be a "training mode")
69 comments
[ 2.1 ms ] story [ 106 ms ] threadAlso, several times it didn't register my clicks and I have to try a few times before it worked.
Edit: just played it. Awesome. A few suggestions:
- show me my total score! Unless I'm on the leaderboard, I don't know what it is
- it's unclear whether the "you are #x of Y players" is referring to my standing on just that turn, or the last 20, or what
- more cities, as others have said. Or at least shuffle it better so it's not as obvious when I've gone back to the beginning
Also, a recommendation on making the mechanics work on mobile: make it a race to zoom into the city the fastest. So you have to "pull" the map as fast as you can until the correct location is on the center of the screen. You can zoom as high resolution as you want for more points. This would eliminate the problem of imprecise tapping on mobile, and make it a fun finger motion to practice.
I was pretty pleased to get a few #1s. It countered my several "too far!"s.
https://news.ycombinator.com/item?id=12321468
Awesome game and idea!
Also, there were a handful of times when the timer would "jump" right at the end (before I'd gotten my pin placed)
EDIT: Also, just remembered... This also exists: https://www.tripadvisor.com/TIQGame
A few thoughts -Did you have any trouble with the sockets library? -I saw you explicitly mentioned "plane_distance", so are you planning on adding Haversine distance or something else? -Maybe make the map take up the entire screen? Status and first few on the leaderboard could go in the ocean.
I used plane distance because it's faster to compute and the accuracy is good enough for this use case.
Regarding the UX I think it's a good idea to make the map take the entire screen.
Thanks for the feedback
Making games take a determined number of turns would allow players to rest.
Also, displaying the score right along the windows would be nice.
Other than that, great work!
The way I'd do it is 1) track the current turn, 2) look up the city's coordinates using a reverse geocoder like OSM's Nominatim[1], and 3) draw a marker at the location using Leaflet.
[1]: http://wiki.openstreetmap.org/wiki/Nominatim
Great fun all the same!
And, if possible, a magnifying glass to the cursor.
Thanks for the game, really enjoyed it!
One issue: the cursor seemed to be inaccurate for me most of the time, even when I knew exactly where the location was. For me, the click registered at the top of the crosshairs (instead of the middle). Further, I might change the cursor to be a map pin, and use the pin's point as the accepted answer.
Awesome game.
The fact that the crowd playing did not bring it down load-wise is just as impressive.
Back-end deployment story?