The short version
Mech Motion is a good-looking, well-conceived puzzle — plan a route for a robot around a grid by dragging movement cards (move forward, turn left/right) into an execution order, then watch it play out against a wildcard "Rule" that changes what happens when it hits an obstacle. The presentation is genuinely charming: hand-drawn UI icons, a battery-drain tension mechanic, and a soft ambient soundtrack. The problem is the fixed 1920x1080 canvas, which on a 390x844 phone in portrait scales down to a canvas just 219 CSS pixels tall — about a quarter of the screen — with the rest as dead black bars, and depending on the hand dealt, the fanned-out cards can spill past the left or right edge of that already-cramped strip. Worse, repeated real-touch drag attempts on a visible card, precisely targeted at its measured on-screen center, produced no visible response in this review across multiple tries; the same "Go!" advance action also failed to register on a second attempt on desktop with mouse input. The underlying interaction code (Phaser's unified pointer/drag system) looks sound on inspection, so this may be a synthetic-input quirk of the testing harness rather than a real defect for a human thumb or mouse — but this review could not confirm the core mechanic works reliably, and per the shelf's own standard, that has to be disclosed rather than assumed away.
Biggest strengths
- Charming, cohesive visual style — hand-drawn robot and UI icons, a battery/power-drain meter that adds real tension, and a soft chiptune-adjacent soundtrack that reacts to game state
- A genuinely clever core concept: plan a card sequence in advance, then watch a "Rule" card (e.g. "turn 90° anti-clockwise upon hitting an obstacle") interact with your plan in ways that require real forward thinking, not just reflexes
- 1st place in Gamedev.js Jam 2024's Open Source challenge, and the source is genuinely clean and well-organized TypeScript, with a proper Phaser-standard unified pointer/drag input system (the same architecture confirmed working correctly in other reviewed titles)
Biggest weaknesses
- The fixed 1920x1080 canvas with Phaser's FIT scale mode renders as just 390x219 CSS pixels on a 390x844 portrait phone (confirmed via direct measurement) — about 26% of the screen height, with black bars above and below for the entire session
- Depending on the level's shuffled hand, the fanned card row can extend past the left and right edges of that already-narrow strip, observed directly in testing on one level
- The core drag-to-reorder interaction did not produce any visible response across several carefully-targeted real-touch attempts on phone, nor did a repeat "Go!" tap register on a second desktop attempt — this review cannot confirm the primary mechanic works reliably, though the underlying code looks correct on inspection
Who it's for: Puzzle fans who enjoy programming-by-cards mechanics (Human Resource Machine, Robot Turtles-style design) and don't mind trying it on desktop first
Our recommendation: A promising, good-looking jam game held back by unconfirmed touch reliability and a phone layout that wastes most of the screen — worth another pass once these are fixed
6 / 10
Mech Motion is a small, sharply-made puzzle game about programming a robot with a hand of cards rather than controlling it directly. Each level drops a little wheeled robot into a grid of tiles that need clearing of "charges," and instead of driving it around live, the player drags a hand of movement cards — move forward, move two spaces, turn left, turn right — into an execution order, then presses "Go!" and watches the plan unfold. A "Rule" card sits in the corner describing a wildcard behavior (in our test level, "Turn 90° anti-clockwise upon hitting an obstacle"), which turns simple path-planning into a small logic puzzle: you have to think about what happens when your plan goes wrong, not just when it goes right. It's a clean, original concept, built in genuinely well-organized TypeScript, and it won 1st place in Gamedev.js Jam 2024's Open Source challenge for good reason.
The layout doesn't fit the phone it claims to support
The itch.io page advertises Touchscreen and Smartphone input, and the shelf's own discovery note flagged this game specifically for that claim. Testing it directly on a simulated 390×844 phone confirms the problem: the game's Phaser configuration locks the canvas to a fixed 1920×1080 resolution with FIT scaling, which means on a portrait phone it renders as a canvas measuring just 390×219 CSS pixels — confirmed directly via getBoundingClientRect() — centered in the middle of the screen with permanent black bars above and below eating roughly three-quarters of the available height. Within that cramped strip, the fanned-out hand of cards spreads wide enough that, depending on the level's shuffle, cards near the ends of the fan can extend past the left or right edge of the screen entirely — observed directly in one test run, where a "Turn" card was cut off at the image boundary. None of this is a hosting-layer bug to fix; it's how the game is built, and it makes an advertised "smartphone" experience look and feel like squinting at a filmstrip through a slot in a piece of cardboard.
The core mechanic could not be confirmed working
This is the harder, more important finding. This review's standard practice is to drive every control with real synthetic touch or mouse events and report only what was actually observed, not what the source code implies should happen. Doing that here, multiple precisely-targeted drag attempts on a visible, correctly-measured card center produced no visible change in card position or state across repeated tries, and on a separate desktop attempt, even the simpler "Go!" button tap that had worked once earlier failed to register on a second try. Reading the source shows a conventional, correctly-built Phaser pointer/drag system — the same general approach confirmed working in other reviewed titles — so this may well be an artifact of how this review's automated touch harness dispatches synthetic pointer events against this specific game's input timing, rather than a real defect a human player would hit. But this review cannot respectably claim "confirmed working" for the one interaction the whole game is built around, and per this shelf's own standard, an unconfirmed core mechanic has to be stated plainly rather than assumed in the game's favor.
Loading is also heavier than it should be for a browser puzzle game: the bundle is 33MB, mostly audio, and the level-intro reveal animation took anywhere from a few seconds to over twenty seconds to finish across repeated tests, with no clear pattern — a real signal that this game will feel inconsistent on a slower connection or an older phone, on top of the layout problem above.
Where that leaves it
A 6.0 reflects a genuinely clever, well-crafted puzzle concept and clean presentation, held below the shelf's pass mark by a fixed-aspect layout that wastes most of a phone's screen and — more importantly — a core drag mechanic this review could not get to visibly respond despite real, repeated attempts. Licensed MIT by the developer via package.json (no separate LICENSE file present), so reuse is not in question; what's in question is whether this plays the way its own itch.io page claims on the device this shelf cares most about. It doesn't clear that bar today.
Pros and cons
Pros
- Charming, cohesive visual style — hand-drawn robot and UI icons, a battery/power-drain meter that adds real tension, and a soft chiptune-adjacent soundtrack that reacts to game state
- A genuinely clever core concept: plan a card sequence in advance, then watch a "Rule" card (e.g. "turn 90° anti-clockwise upon hitting an obstacle") interact with your plan in ways that require real forward thinking, not just reflexes
- 1st place in Gamedev.js Jam 2024's Open Source challenge, and the source is genuinely clean and well-organized TypeScript, with a proper Phaser-standard unified pointer/drag input system (the same architecture confirmed working correctly in other reviewed titles)
- Explicitly licensed MIT by the developer in package.json, even without a separate LICENSE file — the author's intent to permit reuse is clear and unambiguous
Cons
- The fixed 1920x1080 canvas with Phaser's FIT scale mode renders as just 390x219 CSS pixels on a 390x844 portrait phone (confirmed via direct measurement) — about 26% of the screen height, with black bars above and below for the entire session
- Depending on the level's shuffled hand, the fanned card row can extend past the left and right edges of that already-narrow strip, observed directly in testing on one level
- The core drag-to-reorder interaction did not produce any visible response across several carefully-targeted real-touch attempts on phone, nor did a repeat "Go!" tap register on a second desktop attempt — this review cannot confirm the primary mechanic works reliably, though the underlying code looks correct on inspection
- The 33MB asset bundle (mostly audio) loads and animates slowly and inconsistently in testing, with the intro reveal animation sometimes taking upwards of 20 seconds to finish
- No LICENSE file in the repository itself — only the package.json's license field states MIT