Game review

Moon Lander

ArcadeBrowser

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

Category scores

Category scores are the reviewer's read on each area. They inform the overall score but do not average into it — the number at the top of the page is a judgement, not a calculation.

  • Gameplay 7.5 / 10
  • Visuals 8 / 10
  • Value 7 / 10
  • Originality 6 / 10
  • Replayability 7 / 10
  • Controls 8.5 / 10