Taking the losing out
Remove the moment where you lose and a puzzle usually stops being a game. These three kept their teeth by rehousing the two jobs that the ending was quietly doing.
Write-ups from building the games on this site: the mechanics, the rendering, the automated checks that catch mistakes before they ship, and the things that went wrong in public. Every post is about work done on this domain, by the person who did it.
Remove the moment where you lose and a puzzle usually stops being a game. These three kept their teeth by rehousing the two jobs that the ending was quietly doing.
Everyone's fluffy seal looks identical, which is why nobody will share one. A creature that walks the way you built it is different every time, and the physics generates the comedy for free.
Filtered noise makes a convincing knock, and moving the filter cutoff with progress turns a status readout into something you feel. The finished state is warmer, not louder.
Felt photographs beautifully and behaves terribly as a sprite. Drawing it in code fixes the lighting problem and costs nothing in assets, once you stop drawing perfect shapes.
Five new unit tests passed while the branch they covered was unreachable from any real game. A test that builds its own input cannot verify that anything produces that input.
A game has no function to call and no return value to assert on. A small read-only global changes that, and reporting unjudgeable rules as skipped rather than passed keeps the green build honest.
The technical checklist was complete and it bought nothing. The real failures were keywords nobody searches for and a catalogue with no identity, and the ad rejection was a diagnosis rather than an insult.
Stretching a portrait game to fill a laptop screen does not just look wrong, it changes the difficulty. Keeping a fixed play band fixes that and makes vertical video clips free.
Blank canvases, frame rates reported as minus 134, a game you died in under a second, and forty lines of authoring notes pushed live. Each rule in the build gate has an incident behind it.
A capture tool that picked the earliest changed frame produced a duck game with no ducklings and a rhythm game showing MISSED. Fixing it meant letting each game declare when it is worth looking at.
Most write-ups about making browser games describe a finished thing. These describe the decisions while they are still reversible, including the ones that turned out to be wrong — a quality gate that graded a game on the opposite of what it was trying to be, a thumbnail that captured the one second before the game became legible, nineteen games that were launched to an audience of nobody. The value in that is specific rather than general: the numbers are real, the code is on this site, and the mistakes were paid for once already.
If you are building something similar, the parts most likely to be useful are the build gates and the screenshot timing problem. If you are here to play something instead, the games are on the front page.