dadoum 3 months ago

The way flag appears can be exploited to get very fast.

We can memorize the last two matches position and alternate from there, as flags may not be there when names are popping but after at most one elimination the flag must have appeared (and if you enjoy try-harding you can refresh the website until you get the two first flags and names aligned, so almost no mouse move nor memory are needed)

  • kyrylo 3 months ago

    Now you will have a 10-second penalty when you do this.

    • hombre_fatal 3 months ago

      I seem to trigger the 10 second penalty in normal play through here and there even though I’m not cheating.

      • kyrylo 3 months ago

        I see. Unfortunately, I don’t have enough time rn to deploy a proper fix. Thanks for reporting!

  • kyrylo 3 months ago

    Yeah, I see what you mean. I have to think about how to prevent it.

    It’s late here, and I have no quick, good ideas.

    • paipa 3 months ago

      I'd generate new cards such that the number of pairs on screen is anywhere between 2-5. Which means sometimes you'd create two unpaired entries (which means the turn reduces the number of on-screen pairs by 1) or two different, but paired to existing entries (turn increases pairs by 1). You could sometimes throw in generating an outright pair because why not (turn maintains the number of pairs).

modinfo 3 months ago

My Cheat for console

function i(t){const e=t.dataset.synsetid;const o=t.textContent.trim();if(!o.endsWith(`(${e})`)){t.textContent=`${o} (${e})`}}function t(){const t=document.querySelectorAll('div[data-game-target="word"]');t.forEach(i)}t();const e=function(e,t){for(let t of e){if(t.type==="childList"){t.addedNodes.forEach(t=>{if(t.nodeType===Node.ELEMENT_NODE){if(t.matches&&t.matches('div[data-game-target="word"]')){i(t)}}else if(t.nodeType===Node.TEXT_NODE){const e=t.parentElement;if(e&&e.matches&&e.matches('div[data-game-target="word"]')){i(e)}}if(t.querySelectorAll){const o=t.querySelectorAll('div[data-game-target="word"]');o.forEach(i)}})}}};const o=new MutationObserver(e);o.observe(document.body,{childList:true,subtree:true});

  • kyrylo 3 months ago

    Thanks! Will have to see what I can do about it to prevent it.

    Is your nickname "aptitude"?

  • kyrylo 3 months ago

    Btw, I wish you shared this privately with me.

    • danielspace23 3 months ago

      What for? Are you trying to make the rankings of this somewhat serious? Are you aware that even with this patched, it remains trivial to build an user script that automatically replaces the flag with the country name? Probably within half an hour you could have a script that also plays the game for you! This feels a lot like how NFT owners wanted people not to be able to right-click and save their "property". This is how the internet works, you can run stuff on your machine that does absolutely anything with the data that is sent to it. Sure, you could choose to fight back. You could move from emojis to images of flags with random filters and distortions applied, or implement some click tracker that checks if the mouse/finger movement is natural, or even something more complex and effective. But the question is: should you? Should you really destroy the beautiful simplicity of this game in order to make the leader boards more accurate? And does anyone really care about the leader boards?

      • kyrylo 3 months ago

        > Are you aware that even with this patched, it remains trivial to build an user script

        Copy-pasting code feels even more trivial. Writing a script requires some effort.

        It feels unfair to people who are not tech-savvy.

        Sharing something like this in private is being friendly to me and letting me know that this kind of stuff possible. Honestly, I knew it wasn't bullet-proof, but I simply didn't have the time and brain capacity to envision all of the possible attack vectors.

        Sharing this in public is helping others ruin the experience easier.

KomoD 3 months ago

I got romania and chad alongside each other, that certainly made it harder lol.

  • kyrylo 3 months ago

    Yeah, that's a hilarious situation :)

    Chad and Romania don't want to change their flags!

uhartelightning 3 months ago

Very fun and responsive but I ended up in a chain of "off-by-one" where there was a country/flag whose partner was NOT visible at the moment but was the next to pop up.

  • kyrylo 3 months ago

    Yeah, the “off-by-one” rule is there so that you cannot match the same slot over and over.

go_elmo 3 months ago

Im thinking about a similar thing for plant-species. Knowing them makes being outside a whole different experience!

  • kyrylo 3 months ago

    Is there a large community of plant enthusiasts?

  • nosrepa 3 months ago

    Kinda related, but I use the Seek app extensively to identify plants and it seems to work really well!

jddil 3 months ago

Thanks, my daughter loves it. She wanted me to tell you she's only 10 and got 2nd on the leaderboard.

  • kyrylo 3 months ago

    Aww, that’s really sweet

    My daughter is 2 years old, and she can’t enjoy it yet.

    And wow, good job!

stuartjohnson12 3 months ago

Simple, but with excellent execution. Greatly enjoyed practicing with this, and bookmarked so I can return

  • kyrylo 3 months ago

    Thank you

sciencesama 3 months ago

Is this open source ?? We can use the same template for other games too if open sourced !!

  • kyrylo 3 months ago

    It's not open source at the moment. I did a lot of cowboy coding and I am ashamed to publish it :D

    • junga 3 months ago

      On the one hand I feel you here. I am rarely that proud of stuff I do. On the other hand you accomplished something that just works, so it’s obviously good enough. It will benefit others if you share the sources. No matter what the code looks like.

jack_the_dev 3 months ago

For some reason the game is highlighting the correct answers for me before I click them.

  • kyrylo 3 months ago

    It's a hint. It is shown every 4 seconds if you're not clicking on anything.

    Do you think it would be better if hints were a separate button?

    • Euph0r14 3 months ago

      Yes please! It’s a great game, but it’s giving unwanted spoilers.

      Give a Hint button where you “pay” some time to use it.

      Thanks for making it!

      • kyrylo 3 months ago

        Done! Now you need to press the "Show hint" button.

        • hombre_fatal 3 months ago

          Make it so that it’s always there so you don’t have to wait, but you pay in time. Otherwise if you’re like me and don’t know many flags but you’re trying to learn, you sit there waiting for the button to appear.

          • kyrylo 3 months ago

            That's an interesting idea.

            On the contrary, relying on the "Show hint" button all the time is not that great. Why not to try and guess while the button is hidden?

        • Euph0r14 3 months ago

          Thank you very much!! Will play some more now :))

      • kyrylo 3 months ago

        Perfect, that was my thought as well! Will do

klubbhead 3 months ago

Thanks, great job! I very much liked it, and so did my daughter!

  • kyrylo 3 months ago

    You're welcome! I am especially pleased to know that your daughter liked it :)

    My 2-year-old daughter can't appreciate it yet.

thenipper 3 months ago

This is great. My 11 year old thanks you!

charlestehio 3 months ago

vexillologists would definitely love this

  • kyrylo 3 months ago

    Yeah, and hopefully geography lovers like me as well