Game Mechanics
Runner Game Physics Explained
Two numbers and one rule produce every jump arc in every runner ever made.
Night Runner
Midnight Cat is a rooftop runner. Buildings vary in height and width, gaps vary in length, and there is no fixed rhythm - you read each jump as it arrives. Milk bottles on the rooftops are worth chasing if you can afford the detour.
Score0
Best0
Press Start Game to play.
Midnight Cat is a rooftop runner with no fixed rhythm. Buildings vary in width and in height, and gaps vary independently of both. That combination means you cannot fall into a repeating press pattern the way you can in most runners - every jump has to be judged on what is actually in front of you.
The jump is variable height. A tap gives a low, fast hop that is right for a short gap onto a building at the same level. A full hold sends the cat high enough to land on a rooftop two storeys up. Because the cat keeps moving forward at a constant speed, jump height also controls how far you travel: a higher jump is a longer one.
The game includes coyote time - a short grace window after you run off a ledge during which a jump still registers. This is standard in well-made platformers and almost invisible when it is working. It is the reason a jump that felt fractionally late still worked.
Milk bottles sit on rooftops, often on the higher ones. They are worth points and are entirely optional, which makes them the game's risk dial: taking the high route for bottles means bigger jumps and less margin, and the score difference is genuinely meaningful across a long run.
| Device | Controls |
|---|---|
| Desktop | Hold Space or Arrow Up to jump higher, release early for a short hop |
| Mobile & tablet | Hold anywhere on the canvas for a longer jump |
| Everywhere | Pause with the Pause button or the P key. Restart at any time with the Restart button. |
Advertisement
Most failed jumps in Midnight Cat come from reading the gap width and ignoring the roof height. A narrow gap onto a tall building still needs a long hold, because the cat has to climb. Look at where you want to land first, then decide how long to press.
Because the cat travels further while airborne, jumping higher than necessary usually just means landing further along a flat roof - which is safe. Jumping lower than necessary means falling into a gap. When in doubt, hold longer.
Dropping onto a lower rooftop needs almost no jump at all; gravity does most of the work. New players hold a full jump here, sail past the roof and land in the next gap. A tap is plenty.
The worst outcome is changing your mind mid-air. Look one building ahead, decide whether the bottle is worth it, and then execute whichever jump you chose without reconsidering.
The background skyline scrolls more slowly than the rooftops. If you find yourself losing the sense of speed, focus on the foreground buildings - they move at the speed that actually matters to your timing.
Hold the jump input longer. Jump height is continuous between a minimum hop and a maximum leap, not a fixed set of steps.
A short window after running off a ledge during which a jump input still counts. It makes jumps that felt marginally late work, and it is standard practice in platformer design.
Yes, but within constraints. Gap width, roof height change and roof width are each limited so that every gap is clearable with a maximum jump, with margin to spare.
No. They are pure score, which is what makes taking a risk for one a real decision.
Flat stretches encourage a fixed rhythm, and then the next height change breaks it. Keep reading each roof individually even when the roofs look the same.
It should. The whole scene is drawn with Canvas rectangles and paths rather than images, and the draw call count stays low even with the parallax layers.
Game Mechanics
Two numbers and one rule produce every jump arc in every runner ever made.
Game Mechanics
One number drives almost all of it. Here is how that number is shaped, and why it stops climbing.
Tips & Strategy
Most runs end in one of four ways. Here is what each one looks like and how to stop it.