Taps can be unreliable inside this app's built-in browser. For the full experience, use its menu to open this page in your browser.
Skip to content

Six Puzzles, Each Solved Before It Shipped

A devlog by Neeraj Kotwani, who builds every game on Elipar.

Code Blocks is a visual programming puzzle: assemble a short program out of Move, Move x3, Turn Left and Turn Right, press run, and watch a robot either reach the flag or walk into a wall.

It went into the Education category because the two games already there were both timed reflex quizzes — arithmetic and flags. Picking a genuinely different mechanic mattered more than picking an easy one, so this is the category's first game where nothing is timed and you can think for as long as you like.

What a level being unsolvable looks like

The risk in this genre is specific. If a level cannot be solved, the player does not conclude "this level is impossible". They conclude the game is broken — and from where they are sitting, those two are identical. They write a correct program, it fails, and the only available explanation is that the interpreter is wrong.

So every one of the six levels was solved by hand on paper first, before any of the game's own code was trusted. Straight line, then a right-angle turn, then an S-curve, then a long stretch deliberately sized to reward the triple-move block, then a wall requiring a detour, then a final level combining both turns and a wall.

Then — and this is the part that is not optional — each hand-traced solution was fed to the real interpreter in a test, asserting the level-complete overlay actually appeared. Having solved it on paper proves the level is solvable. It does not prove the game agrees, and the game is the thing shipping.

There is a separate test for the failure path: walk deliberately into the wall on level five, confirm the bump animation fires, and then confirm the in-progress program is not corrupted — editing and re-running after a bump works without restarting the level.

That last assertion is there because a failed run is the state most likely to leave something half-reset, and the symptom would be a player tweaking one instruction, pressing run, and getting nonsense.

Move x3 is one slot, not a loop

Real games in this genre support nested loops with bodies, where you drag instructions inside a repeat block. That is the proper version and it is also a much heavier interpreter plus a whole second layer of drag-and-drop interface for nesting.

So this simplifies to a second, fixed-count move block that occupies one program slot. You still learn the thing the genre is teaching — fewer, smarter instructions beat repeating yourself — because the efficiency bonus rewards using it on the long straight stretches, and level four exists specifically to make that obvious. You just do not get loop-body nesting.

I would rather ship the honest subset than a half-working version of the full thing. It is a browser mini-game, not a teaching platform.

Winning mid-program counts

The robot checks for the goal tile after every single sub-step— including the second and third steps inside a triple move — rather than only when the program finishes.

So reaching the flag with unused instructions still queued is a win. That matches the intuitive feel of the genre and it is what a player expects: you got there, you got there. The alternative, where the robot walks onto the flag and then off it again because there was one more instruction in the list, is technically defensible and feels like a bug.

The mobile check, run before it was needed

This game was built right after a quiz game here shipped with its bottom row of answers clipped off a real phone — unreachable, not just cramped. The cause was testing in a browser viewport nearly twice as tall as the frame the game actually gets.

So before this game's styling was considered finished, the same measurement was run against it: every actionable control's position compared against the window height inside the iframe's own document, at a normal phone width and at the smallest common one.

Zero clipped controls at both, first try — because the layout was written tight from the start, with a small tile size, minimal margins and a scroll safety net, instead of needing a follow-up fix.

That is the entire value of writing a bug down. The previous game paid for the lesson; this one got it for free, and so has every game built here since.

Code Blocks is free in a browser, six levels, no account, no download. All six have been solved, including by the game itself.

We use cookies to keep games running and, once ads are live, to show relevant content. See our Privacy Policy for details.