A devlog by Neeraj Kotwani, who builds every game on Elipar.
Roach Smash is whack-a-mole with cockroaches. They pop up from holes in a four-by-four grid, you tap them before they scurry off, and sometimes a ladybug appears instead — those are friendly, and tapping one costs you a life.
That mechanic rests entirely on one thing: being able to tell the two bugs apart instantly, under time pressure, at small size on a phone.
Which is why both are hand-drawn inline SVG rather than emoji. Emoji rendering varies across operating systems and browsers, the cockroach emoji in particular is a late and inconsistently-supported addition, and a game where the two bugs look alike on some phones is not a hard game — it is an unfair one. So: a dark flat oval with legs, versus a round red shell with black spots. Different silhouette, different colour, readable at a glance.
And then the start screen used an emoji anyway
I found this while reading the source to write this post, which is becoming a pattern.
The start screen has a three-item legend: three lives, streak bonus, and "spare the ladybug". The first two are fine. The third was labelled with a character escape — and that codepoint is U+1F41C, which is the ant emoji.
So the one glyph on the whole site whose entire job is to teach the roach-versus-ladybug distinction, in the game built around that distinction, was both an emoji and the wrong insect.
Two separate problems in one character. A player on a platform where that emoji is missing sees a box next to "spare the ladybug". A player on a platform where it renders correctly sees an ant, learns to spare ants, and then has to distinguish a red spotted beetle from a dark oval roach with no help from the thing that was supposed to help.
It is now the same ladybug drawing the game itself uses, scaled down to legend size. One rule's worth of CSS, and a comment next to it saying what it replaced and why — because this is exactly the kind of thing that looks like a tidy-up candidate later.
The lightning bolt next to "streak bonus" stays. It is a widely-supported symbol, it is decorative next to a text label, and nothing about the game depends on reading it. The rule is not "no emoji anywhere" — it is that no emoji should be load-bearing for telling two game pieces apart.
Reusing formulas instead of inventing them
This is the fourth reflex-style game in the catalogue, so the difficulty ramp and the scoring were lifted wholesale from the arithmetic game rather than tuned fresh: the same exponential shrink on how long a bug stays visible as your streak climbs, and the same multiplier that steps up every five-streak.
That is deliberate consistency rather than laziness. Four games teaching the player four different senses of how fast a streak should pay would be worse than four games that feel like siblings. The one thing added here is that the number of concurrent bugs scales with streak as well, which a one-question-at-a-time quiz does not need and a whack-a-mole board does.
One design detail that is load-bearing: ladybugs linger about a third longer than roaches before leaving on their own. Missing a roach costs a life and tapping a ladybug costs a life — symmetric penalties, so guessing is never better than waiting. Giving the ladybug extra time removes any pressure to commit to a bug you have not identified.
The test that was wrong about its own arithmetic
My scoring test failed with a hand-typed array of expected values that did not match what the game produced.
The game was right. The multiplier steps up at a streak of five, not after it, and my array had it one squash late. I had typed the expectations from memory of how the formula works rather than from the formula.
Caught by going and reading the arithmetic game's source — where this formula was copied from verbatim — rather than adjusting numbers until the test went green. Which is the correct order: if the test and the implementation disagree about a formula that exists in two places, read the original.
Roach Smash is free in a browser, no account, no download. The ladybug in the instructions is a ladybug now.