Game review
Moon Lander
7.5 / 10
- Developer
- Frank Force
- Publisher
- Frank Force
- Released
- 1 January 2024
- Platforms
- Web browser (desktop and mobile)
- Genre
- Arcade
- Monetisation
- free
- Players
- Single-player only
The short version
A well-worn genre executed cleanly, with a touch control scheme that actually works — confirmed by watching the ship rotate, brake, and eventually crash exactly as the on-screen stick and thrust button said it would.
Biggest strengths
- The touch dual-stick (rotate) and thrust button both confirmed working precisely via real touch dispatch — the ship's angle, speed, and altitude all responded exactly as expected
- Full game loop verified end to end: descent, a near-miss landing, a crash, and a working GAME OVER screen with score, level, and a persisted "NEW BEST!" note
- Polished presentation — glowing neon title screen, animated Earth backdrop, particle thrust trail, live FUEL/SPD/TILT telemetry
Biggest weaknesses
- The shipped HTML was missing its viewport meta tag entirely, which we found and fixed before testing: without it, mobile browsers rendered the whole game at a fixed 980px desktop-emulation width, pushing every button and the on-screen joystick off a real phone's reachable area
- Lunar Lander is a very well-trodden genre — nothing here reinvents the core loop, it's a good rendition rather than a new idea
Who it's for: Anyone who wants a five-minute arcade fix with a satisfying risk/reward landing mechanic, on phone or desktop.
Our recommendation: recommended
7.5 / 10
Moon Lander, part of Frank Force's LittleJS Arcade collection, doesn't try to reinvent rotate-and-thrust lunar landing — it just builds a clean, good-looking version of it and gets the controls right, which turns out to be most of the job.
Controls (8.5) — with an asterisk worth explaining. The shipped game file had no <meta name="viewport"> tag at all, unlike sibling templates in the same repo. On a real phone profile this meant the page rendered at a fixed 980-CSS-pixel width instead of the device's actual 390px — the entire game, including the on-screen joystick and thrust button, was pushed off to a zoomed-out layout with no scroll recovery. We added the standard width=device-width tag before testing further (a one-line fix), and after that the game behaved exactly as intended: window.innerWidth matched the phone's real width with zero overflow. With the fix in place, we tested the controls directly — a drag on the left analog stick visibly rotated the ship and pushed the TILT readout to max, and a sustained hold on the right thrust button lit a particle flame under the rocket and cut the free-fall rate from roughly 7-8 altitude units/second down to under 0.3. We flew a full descent by touch alone, watched the ship line up over the pad, and (on a mistimed last correction) watched it crash — which correctly triggered a GAME OVER screen with score, level reached, and a "NEW BEST!" note that persisted between checks. That's the complete loop, verified, not assumed.
Visuals (8.0). The title screen has a proper glowing neon treatment, the Earth backdrop drifts gently behind the menu, and in-flight the HUD (fuel, speed, tilt bars, altitude, score) stays legible against a starfield. The thrust flame and crash explosion both read clearly even at a small mobile screen size.
Gameplay and value (7.5 / 7.0). The core tension — burn fuel to slow your descent, but burn too much too early and you won't have enough to correct a bad angle near the pad — is the same one Lunar Lander has run on since the 1970s, and it still works. The subtitle promises shrinking pads and scarcer fuel on later levels, which gives the score-chasing loop somewhere to go.
Originality (6.0). This is a faithful, well-made version of an old idea rather than a new one. That's fine for what it is, but it's the reason we're not scoring it higher.
Worth noting for anyone building on the same LittleJS Arcade template: the missing viewport tag looks like it's specific to games built from templates/game.html (which lacks the tag), rather than boardGame.html/menuGame.html (which have it) — other games from this collection built the same way are worth double-checking.
Pros and cons
Pros
- The touch dual-stick (rotate) and thrust button both confirmed working precisely via real touch dispatch — the ship's angle, speed, and altitude all responded exactly as expected
- Full game loop verified end to end: descent, a near-miss landing, a crash, and a working GAME OVER screen with score, level, and a persisted "NEW BEST!" note
- Polished presentation — glowing neon title screen, animated Earth backdrop, particle thrust trail, live FUEL/SPD/TILT telemetry
- MIT licensed, self-contained, no build step
Cons
- The shipped HTML was missing its viewport meta tag entirely, which we found and fixed before testing: without it, mobile browsers rendered the whole game at a fixed 980px desktop-emulation width, pushing every button and the on-screen joystick off a real phone's reachable area
- Lunar Lander is a very well-trodden genre — nothing here reinvents the core loop, it's a good rendition rather than a new idea