Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: A simple world flags game, my first web dev project as a beginner (billywojcicki.github.io)
238 points by nickybuzz on Jan 25, 2023 | hide | past | favorite | 131 comments



Well executed! Just as a suggestion, incorrect answers could be displayed more prominently so one has more visual feedback about what to learn.

Does not look like a beginner's project to me, congrats again!


Agreed. When I first did it I didn't realize the answer was given after I pressed a choice. I thought it would give me a summary after so many guesses, like a quiz.

Also agreed that it looks much better than a beginner's project!


It's a wording problem, quick fix. Instead of:

You answered (nation) flag incorrectly!

Have it be like:

You guessed (nation), but the correct answer was (nation)!

Absolutely it looks great.


Second this. When I first noticed this text at the bottom, I assumed a bug knowing that the button I just pressed was not what text was displayed. It took a second to realize that it was telling me the correct flag, not the button pressed.


For learning, it would also help to show the flag + correct nation name next to each other; maybe a list of past flags and their correct answers at the side or bottom?


I was expecting the button highlight to be red on an incorrect guess.


does not resize so depending on resolution I had to read here to understand there was informaiton below the questions - resolution 1600x900

Hope this helps :)


Yup, to add to the other comments here:

"You answered [right answer] incorrectly!" is confusing, it should be "Sorry! The right answer was [right answer]!"

Looks great though, nice work!


If you could also show the flag in the message, so that I can associate them again, that would really improve retention!


Great ideas here! Thanks for the feedback.


Yes this is definitely very useful and essential for "learners" -- to see the correct association visually


I'm on a Macbook/Firefox with my resolution scaled up a bit and I didn't realize the answers were being displayed at all until I zoomed the page to 80%. Scrolling does not work. I did about 20 of them wondering when a results page would appear. Very fun and addicting project.


Agreed, this looks really great! I second that being able to see the flag and the correct answer more prominently after an incorrect guess would help! Super well done.


Many seem to agree that the correct/incorrect answers could be clearer. Will look into this. Thanks for the feedback and kind words!


Might make sense to show incorrect answers, flag and country name persistently somewhere on the side of the screen. Then you can also lose if you get too many to show on screen.


Despite any mild clunkiness in the actual game (which has been thoroughly covered in other comments, so I won't repeat it), I just wanted to say this is a really nice looking project.

I have a complex about my inability to do nice design, I really need to just start doing it on the side I think, as I'm sure I'd get better with practice. But I'm always impressed when stuff looks good as a result of my own inability. So nice work! Keep learning!


Thanks for the kind words :)


This game was fun and made me wonder: have I ever seen a damn flag in my life? Seems like a simple thing, then you get in there and don't know most of them.


I was surprised at how much my random guesses were correct, based on the style of the flags. (Mostly getting it wrong, but maybe 20% success rate)

There is definitely a clustering of design styles. British territories for example tend to have elements of the Union Jack incorporated. Germany, Luxembourg, Italy, that area tend to have more the simple 3 stripe designs.

I found myself occasionally guessing a right answer for flags in regions I knew very little about. I guess that sort of knowledge about design trends seeped in somehow.


Love that you're having fun with it!


Giving so many choices makes it hard to guess your way through it. Very challenging and fun.


I recommend Anki. I've been learning flags (and capitals etc) ~1 year ago. After a few months break I have finished this game with a 97% accuracy (missed 5 countries). I would not get as good without multiple-choice, but it's still nice to see how many flags I did still recall.


Can you link a deck? My kid is on a learning spree specifically about world flags and would love this!


Check out the Ultimate Geography deck [1]. It's open-source and highly customizable. Use the following filter to learn just flags:

    "deck:Ultimate Geography" "card:Flag - Country"
[1] https://ankiweb.net/shared/info/2109889812


Turns out so, so, many random tiny islands that nobody's ever heard of have quite interesting unique flags.


Re >> that nobody's ever heard I think you just hurt their feelings. It's okay São Tomé and Príncipe, I've heard of you.

But jokes aside: yes, you are quite correct. There are a surprising amount of small island nations, republics, and dependencies that many of us have never heard of.


Ha I actually do live in a tiny country that nobody's ever heard of myself, it's fine we're used to it :P

In fact in lots of cases it's can even be quite nice since there's practically no international drama. Security through obscurity as they say.


It crops up for me (and doesn't allow me to scroll down) so I couldn't see the feedback of whether it was correct or not.


Thanks for the feedback. I'll look into this, responsive design was definitely the biggest challenge for me.


I am on a laptop, just I'm zoomed in by default and couldn't see the whole thing. In fact the fix would be to either NOT css-fix things, or allow scroll :)


After a few minutes of playing, I finally noticed that after you answer, the country of the flag is highlighted on the spinning globe. It's a nice touch. But it only happens if the country is within view range. I think a nice stretch goal would be to make the globe quickly rotate to the country as well.

Overall, great job!


Nice little game for curious people. Hard mode: picking the alternatives among geographically-close countries, or countries with similar-looking flags.


This is fantastic and highly addictive! My only suggestion (as others have said) would be to indicate the CORRECT flag's name clearly and give the user a chance to absorb it before going onto the next one. Maybe a box around the right choice or the country name near the flag? Something like that.

The design does make me want to "get 'em all" and learn them correctly and that little change would help.

Kudos on a fantastic first app which is very professional and usable!


I'm really happy you're enjoying it. Thanks for the kind words. Will be looking into your suggestion.


add a leaderboard and a party game mode (live small group competitive sessions) and you'll really have a stew going


Instant bookmark, well done.

A nice little exercise when I need to get me head out of the IDE. You should be really proud of this, god, my first site. . .

Well, anyway, have a nice day and keep it up!


Thank you :)


Pretty cool, love that it keeps track of your score at the bottom. One comment is that the user feedback when answering incorrectly displays the name of the correct country, not the incorrectly guessed country.

Example: Flag is Brazil. Finland is guessed by user. Message to user: "You guessed Brazil incorrectly".


Ah good thinking, maybe a message showing both the correct answer and the user's guess ("Incorrect, the answer was Brazil (you guessed Finland)")


Thanks for the kind words. Definitely looking into making this clearer, as you and others have suggested.


Awesome little project! I went through the US state flags and found that you are using the old Mississippi flag.

https://en.wikipedia.org/wiki/Flag_of_Mississippi


The official Afghanistan flag did also change.

https://en.m.wikipedia.org/wiki/Flag_of_Afghanistan


Good catch. The flag images come from https://flagpedia.net/. I'll notify the maintainer.


Excellent!

If this is really a "beginner" project -- you have a very bright future. Kudos!

If you care to, it would be great to see your learning approach / experience / git repo / tutorial for building the same or something similar.

Idea:

Add a "HINT" button that will gradually reveal more info --

- turn the globe background towards the said country

- highlight the "continent" the country belongs to

- highlight the country itself

Or: - or strike-off a few of the incorrect choices

Also: - Correct answers and wrong answers could be highlighted on he globe with green and red colors for countries

EDIT: I just noticed that you are already doing the last part (albeit with a temporary red/green circle that vanishes -- instead of a permanent coloring of the country). Wow and great work!


on my 1366 x 768 screen I cannot see the bottow row, only the first - hope it helps

here is a screenshot : https://i.imgur.com/Jx1qyNF.png - I'm running MX Linux


Thanks for the feedback and screenshot. Responsive design was the biggest challenge for me, will look into this.


Yeah, seems site isn't adapting to dimensions. If you zoom out it also shows whether you answer correctly/wrong, time, and percentage of correct answers.


When I answer incorrectly, it tells me I selected some totally other country incorrectly.


It's showing you that you're incorrect, and telling you the correct answer. Though I think it could be clearer too.


Agreed it could be clearer. Thanks for the feedback!


Bottom two options don't show on my screen. I am on 1920x1080 with 150% scaling


Looking into making the design more flexible. Thanks for the feedback.


I can't use the page on my Samsung S20:

Your current dimensions are not supported

It sure looks like it's rendering just fine:

https://imgur.com/a/zwzyCx6


Damn, the S20's viewport is 15px shorter than the minimum width I had in mind. Responsive design is not fun. Will look into making the site more flexible - thanks for your feedback!


Really beautiful UI but unfortunately I can't use it on my phone either. iPhone SE (1st gen.) 320px wide viewport.

I know it's a small phone, but I don't think I've ever come across a web page that blocked me from interacting with it due to the screen size. Regardless of whether you decide it's worth it to support smaller screen sizes I would absolutely recommend removing the page-mask/sorry-prompt. You never know what kind of device/browser your web page will be rendered on and overflowing the viewport is the expected behavior when the viewport is very small.


This is what I see: https://0x0.st/oFPu.png

The bottom row gets cropped. Resolution is 1366x768. Let me know if you need additional info.

The UI looks great though!


Thanks for the feedback, screenshot, and kind words! Looking into making the design more responsive.


My daughter is a huge fan of flags so we'll be doing a lot of trying this out!

Any way you can configure the number of possible answers? I think 10 options is a bit much (as a clueless American).


Yes 4 -5 would be most common i think


Neat!

It would be nice to have the option to focus on a single content. It's much easier to learn things if you can go back and repeat, but repetition is prohibitive if you have to do the whole world again.

As a small comment, I went to click on a flag on mobile to see if I could see it bigger, and the name of the file came up, with the country's two-letter code, giving away the answer. I'd make it so the flag doesn't respond to touch/mouse events.


These are both great ideas. Thanks for the feedback.


Wow, that was a real grind to finish, including a lot of test of memory filtering out countries I'd guessed correctly previously.

It still took me an incredibly long time, with dozens of wrong guesses for the same flags over and over.

I finally finished with Khazakstan, I wish the stats showed how many guesses total, even if I can work it out from the accuracy I suppose.

193 world flags multiple choice finished in 43:07 42% accuracy


Very nice! I like how the last guessed country is displayed in the map in the back. It's a shame it doesn't pan to that location, because it's often located outside the viewport. It would be useful to have a way to zoom out and view the whole map, because it would teach the user about the country's location as well.

It's a fun and well executed project, congrats!


Thank you for the kind words! I originally had the globe pan to the country in question, but found out it creates quite a visual mess for users that answer rapidly.


Nice. I thought I was pretty good at country flags, but it turns out I'm not :)

For practice, it might be nice to have some filter options where it only shows you flags from a subset of countries, i.e.,

- continents - largest 50 / 100 / 150 / 200 countries by population

the latter would be nice because it's hard to remember all the small island nations


Neat ideas. Definitely considering them for future updates!


Very neat! Can someone explain the json is being rendered? I had no idea json could be rendered as an image? https://github.com/billywojcicki/vexillologist/blob/master/w...


Not sure but it may be TopoJSON: - https://github.com/topojson/topojson - https://github.com/topojson/topojson-specification

My guess is that Github just recognizes and supports previewing this particular spec.


This is correct


It's geojson, Github renders that: https://github.blog/2013-06-13-there-s-a-map-for-that/

Edit: I was wrong, it's topojson as per the other reply, based on the data-type attribute that's set on the div outside the map


nice touch i liked - you can click the background and rotate the earth for apparently no reason. thats fun!


Yup, no reason at all. Glad you liked it!


So many comments in your Javascript. You are clearly a beginner. /s

Nice work, the code was very readable and reasonable.


Thank you!


That’s lovely and frustrating. 1) The right answer could be visualized higher on the screen, to reduce eye movement. 2) My 15 minute progress was erased after checking the settings and trying out the options. Argh! But overall well done on this project!


Thanks for the kind words! That's some helpful feedback, I'll look into adding a warning there.


Slightly Off-topic:

Is there any "clustering" of flags into visually similar designs?

Telling similar flags apart and correctly naming the country when the other option is presented as choice ... must be harder work and should ideally have more points :)


Oh my gosh - the touch movement of the globe on mobile is one of the coolest things I’ve seen in a while. I hate smart phones and apps and this is a really good website implementation on mobile.

Well done even though the game is super difficult!


I didnt realize this till I saw your comment.

Very cool indeed!

EDIT: Just noticed that right and wrong answers are also plotted on the globe with a green/red circle on the rotating globe as soon as you pick an answer. (Wow!)


Great fun - bravo!

One observation from me, using Firefox on a 2019 MacBook Pro: my computer got very warm while playing, and the cooling fans were running much higher than normal. It looks like the page is using a lot of CPU.


Nicely done! 11 mins 4 seconds with 97% accuracy (my apologies to some smaller caribbean and pacific islands for forgetting your flag, and for mixing up whether Indo or Singapore had the crescent moon + stars)


Nice score! For me, it's always the Central American flags that trip me up.


Not bad. I think it could be nice if there was possibility of mode with just more or lesser known flag. Like only countries with > 1 million population or 20 or more percentile of countries by population.


This is really cool! Nice touch with the moving globe behind the question. Maybe create a page showing the flags and their countries the user got wrong, for reviewing purposes?


Does this show a random flag each time? You could use a spaced-repitition algorithm to pick which flag to show based on correct/incorrect previous answers.


The order of flags is randomized on page load, but incorrectly-answered flags are sent to the back of the question set. Those remain in the order they were answered.


Small suggestion to obfuscate image names, because:

Right-click on the flag -> Open image in a new tab -> ISO-2 code image file

Makes it easier to narrow it down to correct answer.


Fun demo!

When you get it wrong, show the correct country name under the flag. Optionally, show the flag of the country you got wrong and your wrong guess underneth.


Wrong flag for Afghanistan, recently famously updated


Disagree. terrorist regime notwithstanding, the flag he chose was the historically correct and currently accepted one amongst afghans and governments.


Agreeing with the current regime is not a requirement for a sovereign nation to update their flag is it? There is no government in exile, and the current regime is really the only entity in charge of that nation's flag.

Flags change.


Eh, I suppose. I'll update it when a high-res emoji image becomes available.


Is the order randomized at the start? I keep getting runs of almost-alphabetical countries starting with A, B, or C when I restart.


Great job! What did you enjoy most about this project? Were there any aspects that were satisfying once the concepts clicked?


I was just happy to finally put something together. I've taken scattered programming lessons here and there but never sat down and created something on my own. Very happy to see people using it and learning with it! Outside of coding - I'm getting lots of interesting feedback on UI/UX.


Sheldon Cooper would be excited about this one


Congrats! This is great. What resources are you using to learn web dev? I ask because I'm also a beginner.


Thank you! My process was: try to write it myself -> google it until it works -> ask ChatGPT how it can be better. I did this one component at a time, starting with the questions array, then answer buttons, timer logic, game over prompt, settings menu, etc.

I learned a hell of a lot more and a hell of a lot faster doing this project than I ever had in online courses/lessons/etc.


Idea: I'd like to be able to select only countries who speak spanish to practice my knowledge of latinoamerica.


Love the idea of a native language filter. Will keep this in mind!



there might be a bug in there, I'm clicking a country and it says you clicked another country my mistake


It says "Learn the flags..."

But doesn't give me the correct answer when I'm wrong, so I can't learn.


It does in tiny text at the bottom middle


But you've moved on to a new flag, so I cannot let the association sink in as I have forgotten the flag already.


This is helpful feedback. Thanks!


Great game. One suggestion is to present fake flags as another toggle. Helps spot real vs fake flags


What a stunning project, it's beyond a beginner result. It's polished and fun to play.

Excellent work!


I had a whole series in alphabetical order by ISO 3166 code, which made that section easier.


Oh boy, this takes me back to Playfish's Geo Challenge. Man, that game was fun...


There should be a reverse version also, with a nation in top and choose a flag below


and the more tricky version to choose from countries/flags with similar design


Great ideas! Keeping them in mind for future updates.


Very nice. The text goes out of the page on Zoom levels above 100% though.


The image for the flag of Micronesia (./flags/fm.png) is missing.


Good catch. Fixed!


Fabulous job! Love the scrolling background and the cute buttons!


Love it, absolutely love the scrollable earth behind as well!


That's the part I'm most proud of - thank you!


Thanks, I need/want to learn more flags! Great project.


this is pretty cool. I think you have a big opportunity here to have an easter egg if you detect someone holding down a number key for over 10 seconds as I did.


Thank you! That is a neat idea.


Nice! Quite fun, hope you keep building things :)


Thank you :)


This is really really well done! Awesome work!


Thank you!


cool, well done!

but it doesn't fit my screen size. Perhaps you need to fix this, i'm not the only one here with this problem.


Thank you! And yes, you're right, I will look into this. Responsive design is definitely the biggest challenge for me.


Nice, reminds me of kahoot


This needs a leaderboard!


Be wary of https://xkcd.com/787/ … People can get worked up over what is a "real" country, and what the "real" flags are




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: