I made a tiny browser-based Metroid-inspired 2D engine as a learning project — playable online + source included
I’ve been building a small vanilla browser-based 2D engine inspired by classic side-scrolling Metroid exploration and camera movement.
This is not a fangame, remake, or “next AM2R” type project — more of a fun educational sandbox focused on learning and experimenting with:
- tile maps
- scrolling cameras
- layered canvas rendering
- sprite/entity logic
- simple enemy movement
- keyboard input
- retro-style engine structure
You can try it directly in the browser here:
And the source code is here if anyone wants to poke around or experiment with it:
The project intentionally stays very lightweight and readable — no frameworks, no heavy abstraction, just straightforward TypeScript/browser APIs and old-school game loop logic.
Current features include:
- scrolling tilemap rendering
- front/back map layers
- debug grid/FPS toggles
- simple “Zoomer”-style enemies navigating terrain
- offscreen canvas rendering
- configurable runtime debug options
A lot of it was inspired by studying how older 2D games handled movement, maps, and camera systems. The goal is mainly educational: something people can read, modify, and extend without getting lost in engine complexity.
If anyone here enjoys retro engine architecture, Metroid-style exploration systems, or just tinkering with small game tech projects, I’d genuinely love feedback and ideas for where to take it next.