Game Engines (2D)
Phaser, PixiJS, LÖVE, MonoGame, libGDX, GDevelop, Cocos and the 2D-focused field.
2D-focused engines for games where the physics, rendering and tooling are all built around sprites, tilemaps and 2D animation. For browser 3D see 3D / WebGL. For 3D engines see 3D engines. For tilemap and level editing see tile / level editors. For pixel art see pixel art tools. For the overall game-dev landscape see Game Development.
Godot 4 is also one of the best 2D engines on the planet — most "should I use Godot or X?" decisions are won by Godot for 2D unless you specifically want web-first or no-code.
Web-first / HTML5
- ★ Phaser 3 / Phaser 4 — MIT, the dominant HTML5 game framework. Massive plugin ecosystem, Tiled / Spine integration, Arcade + Matter physics. Phaser 4 (TypeScript-rewritten core) is the current line.
- ★ PixiJS — MIT 2D WebGL/WebGPU renderer, not a full engine but the rendering core under many web games. Use directly for renderer-only work; pair with custom logic for game frameworks.
- Excalibur.js — opinionated TypeScript engine, good for web games with scenes, actors and tweens.
- Kaboom / kaplay — minimalist JS framework, beginner-friendly, beloved for game jams. Renamed from Kaboom to kaplay after the Replit team transition.
- ct.js — visual editor + JS, good for teaching.
- melonJS — long-running OSS HTML5 engine.
Code-first / cross-platform
- ★ LÖVE 2D — free Lua framework, MIT, ~5MB runtime, ships everywhere. The minimalist's choice; Bytepath, Balatro precursors, countless jam games.
- ★ MonoGame — MIT, the open-source XNA successor. C# all the way; ships to Steam, mobile, consoles. Stardew Valley runs on it. FNA is the alternative XNA reimplementation focused on shipping older XNA games.
- libGDX — Apache 2.0 Java/Kotlin framework, ships to desktop / mobile / web. Mature, large community.
- Heaps.io — Haxe engine, ships Dead Cells and Northgard.
- Solar2D (formerly Corona SDK) — free Lua, mobile-focused.
- Cocos Creator — free, especially popular in Asia for HTML5 / mobile games. JavaScript / TypeScript.
Visual / no-code
- ★ GDevelop — free, OSS, event-based. Outstanding for absolute beginners and educators. Web editor + native. Runs on iPad.
- Construct 3 — subscription ($99–$149/year). No-code, browser-based, very polished. Unbeatable iteration speed in its lane.
- Buildbox — paid no-code, hyper-casual mobile focus.
- GameMaker — historically paid, now free for non-commercial, paid for export. GML scripting. Behind Undertale, Hyper Light Drifter, Hotline Miami.
Python ecosystem
- pygame / pygame-ce — battle-tested Python, MIT. The Community Edition is the active fork. Great for learning; ships fine for small/medium games.
- arcade — modern Python game library; cleaner API than pygame.
- Pyxel — retro-fantasy console in Python.
When to fall back to 3D engines
If you need light-style 2D physics with 3D depth (stylized 2.5D, parallax, smooth pan/zoom in cinematics), Godot 4 and Unity both have 2D-first modes that can outperform pure-2D engines for hybrid games.
Pick this if…
- First game, kids / classroom: GDevelop or Construct 3.
- Web game / itch.io HTML5: Phaser, or PixiJS for renderer-only.
- Tiny, hackable, Lua: LÖVE.
- Cross-platform C#: MonoGame.
- Java/Kotlin shop: libGDX.
- Visual novel / classic adventure: see specialized engines.
- Game-jam speed in JS: kaplay.
- You started in pygame and want to keep going: pygame-ce.
- Stuck on which: Godot 4 in 2D mode. It's that good.