HP 0Score 0Stage 1-1
Info

Ninja Dash

Sprint through an old village as a ninja and dodge a relentless barrage of thrown shuriken. They come in at three heights — low, chest and overhead — and they fly faster and faster, so one misread costs a life. Survive long enough and the world moves with you: twenty-five stages, numbered 1-1 to 5-5, run through five locations — the old village, a bamboo forest, a hidden garden, rocky peaks and an ancient castle — and each one is played across five times of day, from daybreak through golden hour and sunset to a crescent moon and a full moon. See how far you can run before your 3 HP runs out.

Timing your jumps is everything. React too early or too late and you'll take a hit — find the rhythm and keep pushing forward.


How to Play


About This Game

Ninja Dash is an endless runner built around a single, satisfying mechanic: jumping over obstacles at exactly the right moment. The ninja sprints automatically while you focus entirely on timing. It's a game you can pick up in ten seconds and spend twenty minutes trying to master.


Why We Built It

Endless runners are one of the most naturally mobile-friendly formats — one input, instant feedback, replayable by nature. We chose spinning shuriken as the hazard because they read clearly from a distance, which makes the "almost made it" moments feel fair rather than cheap. Splitting them across three heights turns a one-button game into a real read: every throw asks whether to jump or hold still. The ninja theme adds personality without complicating the loop.


How It Works

The runner uses a parallax background to simulate movement while the ninja stays fixed horizontally. The sprint itself is a twenty-one-frame sprite cycle covering two full strides — push-off, leg pass, reach, plant, then the same again on the other leg — chosen because the first and last frames sit in almost the identical pose, so the loop closes without a visible hitch and the legs read as continuous motion rather than a two-pose flicker. The backdrop is a set of twenty-five paintings — five locations photographed, in effect, at five times of day — and crossing a stage threshold cross-fades from the old one to the new over about a second, so the light shifts without the scene ever cutting. Each painting is scaled up until it covers the screen edge to edge, at its own proportions, with whatever overflows cropped away — so there is never a letterbox or a filler band, on any screen. What it is not is a plain centred crop: the artwork is pinned to the bottom of the canvas, which keeps the painted road under the ninja's feet no matter how tall the window is. A tall screen therefore loses sky off the top and street off the sides rather than cutting the ground away, and a wide one shows more of the village at the cost of the upper sky. Only the current backdrop and the next one are downloaded, so a long run streams its art in rather than loading all twenty-five up front. Shuriken spawn from the right and scroll left at a speed that gradually increases, each on one of three lanes measured from the ground: 16px, 50px and 120px. Collision is tested against the ninja's full standing height rather than a point at his feet, which is what makes the top lane genuinely safe to stand under and dangerous to jump into. A top-lane throw never spawns directly behind a jump-lane one — it gets extra spacing so you always have time to land first. Each jump follows a parabolic arc calculated in the game loop, and a second press in midair triggers one extra aerial jump — a slightly weaker boost that resets only once the ninja lands, so you get two jumps per grounded takeoff and no more. HP deducts on collision, and the score increments passively every frame the ninja survives.


Tips & Strategy


Ideas for Improvement