Game review
n-gon
7.5 / 10
- Developer
- Ross Landgreen
- Publisher
- Ross Landgreen
- Released
- 1 January 2018
- Platforms
- Desktop (mouse and keyboard required; no touch support)
- Genre
- Action / Roguelike Shooter
- Monetisation
- Free, open source, no ads, no in-game purchases
- Players
- None
The short version
n-gon is a mature, actively maintained PC roguelike shooter with real physics-based combat — matter.js drives every collision, blast, and knockback — layered under a deep tech-upgrade system built up over roughly a decade of continuous hobby development. WASD movement and mouse-driven aiming were confirmed with real synthetic input: pressing D repeatedly moved the player character and scrolled the level, and mouse clicks shifted the camera and interacted with the aiming reticle. The canvas is genuinely responsive, filling the full viewport on both desktop and phone with no letterboxing. This is squarely a PC game, though, confirmed by reading the source: it uses the Pointer Lock API for mouse-look aiming and WASD for movement, with no touch or pointer-based movement path anywhere in the code, and the game's own splash screen is upfront about this with a clear keyboard-and-mouse control diagram before you ever press start. One optional feature — a button that fetches and runs a third-party community script for gamepad support — was neutralized before shipping, since executing unaudited third-party code at a click is a risk this shelf isn't in a position to vet; the link out to that project's own page is preserved instead.
Biggest strengths
- WASD movement and mouse interaction confirmed with real synthetic input, not inferred from source — repeated key presses moved the player character and scrolled the level, and mouse clicks shifted the camera and interacted with the crosshair reticle
- Real physics-based combat via matter.js — every object, projectile, and collision in testing behaved like a genuine 2D physics simulation rather than a scripted animation
- Deep, long-running development: a public changelog fetched live from the project's own GitHub commit history, years of continuous updates, and an involved tech/upgrade system referenced directly in the splash screen and settings
Biggest weaknesses
- No touch or pointer-based movement path exists anywhere in the source — this is a genuine, permanent PC-only game, not a touch game with rough edges
- One settings option let a button fetch and execute a third-party community script (a separate, unaudited GitHub repository) at runtime; this was neutralized before shipping to just link out to that project's page instead of running unreviewed code on this install
- The splash screen surfaces a lot of surface area at once (settings, controls, music links, changelog, community mod links) before the actual game, which may read as busy on first visit
Who it's for: PC action/roguelike fans who want a free, deep, physics-driven shooter with real long-term development behind it
Our recommendation: A genuinely substantial free PC shooter — confirmed working, openly desktop-only, and worth the mouse-and-keyboard requirement
7.5 / 10
n-gon has been in continuous development since 2018, evolving out of a string of even older Scratch and CodePen prototypes the author still links from its own "about" panel, and it shows: this is a substantial, physics-driven roguelike shooter, not a jam-scale demo. Every object on screen — the player, enemies, pickups, terrain — is a real body in the matter.js physics engine, and combat plays out with genuine momentum, knockback, and collision rather than pre-scripted animation.
Confirmed working with real input
The splash screen is upfront about what this game needs: a clear diagram shows WASD for movement, the mouse for aiming and firing, and a scattering of other keys for guns and pause, before a player ever presses start. That claim was tested rather than taken at face value. Pressing the D key repeatedly moved the player character and scrolled the level's background elements in sequence, confirming real keyboard-driven movement. Mouse clicks shifted the camera and interacted with the on-screen crosshair, confirming the pointer is genuinely read by the game rather than just accepted and ignored. Zero console errors, zero page errors, and zero failed requests turned up across every test on both desktop and a simulated phone.
Reading the source confirms why this needs a real mouse: aiming is built on the Pointer Lock API (requestPointerLock()/exitPointerLock()) for continuous mouse-look, which has no touch equivalent, and movement is handled entirely through keyboard event listeners with no pointer-based fallback anywhere in player.js or simulation.js. This isn't an oversight — it's a deliberate PC-first design, correctly reflected in the desktop-only classification here.
One feature neutralized before shipping
The settings panel included a button offering "gamepad support" that, on click, fetched a JavaScript file from a separate, unrelated GitHub repository maintained by a different community member and executed it directly in the page. Whatever that script does, it's not something this review is in a position to audit on the author's behalf, and running unreviewed third-party code at a click is a real risk regardless of the specific community's good intentions. That button now links out to the project's own GitHub page instead of running the code directly — the option to explore it is preserved, just not the automatic execution.
Where that leaves it
A 7.5 reflects a genuinely deep, actively maintained physics shooter with real, tested keyboard-and-mouse controls and years of development behind its tech and upgrade systems, matched honestly to the shelf's desktop tier rather than pretending at touch support it was never built for. Free, open source under GPL-3.0, and worth a real sit-down session with a mouse in hand.
Pros and cons
Pros
- WASD movement and mouse interaction confirmed with real synthetic input, not inferred from source — repeated key presses moved the player character and scrolled the level, and mouse clicks shifted the camera and interacted with the crosshair reticle
- Real physics-based combat via matter.js — every object, projectile, and collision in testing behaved like a genuine 2D physics simulation rather than a scripted animation
- Deep, long-running development: a public changelog fetched live from the project's own GitHub commit history, years of continuous updates, and an involved tech/upgrade system referenced directly in the splash screen and settings
- Fully responsive canvas — confirmed via direct measurement to fill the complete viewport on both a 1280x800 desktop and a 390x844 phone, with no fixed-aspect letterboxing
- Honest with players before they ever click start: the splash screen shows a clear keyboard-and-mouse control diagram, so a phone visitor knows immediately this isn't built for touch, matching its correct desktop-only classification here
- Genuinely GPL-3.0 licensed with the real license text in the repository
- Zero console errors, zero page errors, and zero failed requests across every test
Cons
- No touch or pointer-based movement path exists anywhere in the source — this is a genuine, permanent PC-only game, not a touch game with rough edges
- One settings option let a button fetch and execute a third-party community script (a separate, unaudited GitHub repository) at runtime; this was neutralized before shipping to just link out to that project's page instead of running unreviewed code on this install
- The splash screen surfaces a lot of surface area at once (settings, controls, music links, changelog, community mod links) before the actual game, which may read as busy on first visit