Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+1)

Looked at the online flow rather than a long session, so this is about matchmaking and readability rather than balance.

Good news first: Random Match actually works. I picked a nation, sat on SEARCHING FOR RANDOM OPPONENT for about 11 seconds, and it paired me with a real opponent and dropped straight into LIVE MATCH. For a solo-built browser multiplayer that is the hard part already done ⚽

Three things I would change, roughly in order of what I think they cost you:

  1. The search state has no clock and no exit except CANCEL. Eleven seconds was fine for me because I knew what I was waiting for. A first-time visitor does not know whether it is 10 seconds or never, and the default response to an unlabelled spinner is to close the tab. Even “searching… usually under 20s” with an elapsed counter would hold people.

  2. Offer a bot fallback from inside the search, not only as a separate menu item. This is the thing that quietly kills small online games: your concurrency will be zero at 3am no matter how good the game is, and whoever arrives then concludes it is dead and never comes back. If the search passes ~15-20 seconds, swap in a CPU and say so out loud - “nobody around right now, playing a CPU, we will swap in a human if one shows”. You already have a decent CPU. Letting it backfill the queue means the game is never empty, and that is worth more than any netcode work.

  3. Nation select happens before matchmaking, so the player spends a choice before finding out whether anyone is there. Consider firing the search in the background the moment they hit Random Match, so picking a nation IS the queue time. Costs nothing and hides most of the wait.

One readability note: the dashed ring under the active player is hard to track on the green pitch while the camera is moving. An arrow above the head, or dimming the non-active teammates a little, would fix some of what CoderGenius72 described as players running too fast to hold the ball - part of that reads to me as not being certain which player I actually had.

And one page thing since it is a one-field fix: your itch page breadcrumb says “Games > Sports > $5 or less”. The game is free in the browser and only the asset packs are paid, but someone skimming reads that as a price tag on the game.

Hi HKM Industry,

Thank you so much for the detailed and constructive feedback! Hearing that the matchmaking worked smoothly for you is a huge relief and a great motivation for me as a solo developer.

Regarding the Bot Fallback—great minds think alike! I actually just pushed a new update (v1.1) that does exactly this. If a real opponent isn't found within 10 seconds, the game seamlessly drops the player into a match with a CPU.

Your suggestion about adding a visible elapsed timer during the search phase is brilliant. I completely agree that leaving the player staring at a static screen is bad for retention. I will definitely implement a live counter in the next patch!

I’ve also noted the readability issue. An arrow above the active player makes perfect sense and would be much easier to track on the green pitch. I will experiment with this design.

Thanks for pointing out the '$3 or less' tag confusion too! The browser game is completely free, only the source code/assets are paid. I will check my metadata settings right away to fix that breadcrumb.

I really appreciate you taking the time to write this. Also, if you enjoyed testing the game, leaving a quick rating on the game page would mean the world to a solo student developer like me! 🥺🌟 Thanks again 🙏!