docs / framework-comparison

Framework Comparison

A fair, evidence-based look at g2w next to Phaser and Ritmo. Every fact below was verified against official sources on 2026-10-28 and linked in the sources section; cells without verifiable evidence say Not verified instead of guessing. If a claim here ever conflicts with reality, the source link wins.

jixi.jsA comparison with jixi.js was requested, but no verifiable project by that name exists — there is no npm package (registry.npmjs.org/jixi.js → Not found) and zero GitHub repositories matching jixi.js or jixijs(GitHub search API, checked 2026-10-28). The closest real projects are jixi (an unmaintained PixiJS engine, last npm publish 2021) and @jixi/js (an unrelated AI SDK). If you meant one of those — or another name — the comparison column will be filled in.

Side by side

Dimensiong2wPhaserRitmojixi.js
What it isTypeScript-first framework: small packages composed at the application boundaryAll-in-one 2D HTML5 game framework, commercially maintainedHeadless, type-safe ECS simulation runtime — the renderer is host codeNo verifiable project found
RenderingPixiJS 8 adapter (WebGL / Canvas / WebGPU), all browser-verified per featureBuilt-in node-based WebGL renderer (v4); Canvas renderer deprecated in v4None built in — adapters mirror entities to Pixi, Three.js, or canvas—
Scenes & lifecycleRenderer-agnostic SceneManager with defined transitions and disposal semanticsPhaser.Scene with init/preload/create/update and 10 documented statesNo scene manager — spawn/despawn commands with deferred application—
Game looprAF with injectable FrameScheduler, seconds-based clamped deltaTimeRAF TimeStep with variable smoothed delta; fixed-step physics loop: none documentedFixed-step Clock (hz 60) with accumulator, clamping, and interpolation alpha—
InputKeyboard, pointer, multi-touch (core contract) + DOM and Gamepad API adaptersKeyboard, pointer, drag & drop, multi-touch, gamepad — all built inKeyboard, gamepad, pointer, touch with actions, rebinding, and local multiplayer—
PhysicsNot implemented (candidate work)Arcade Physics + Matter.js bundledSwept circle collision in ritmo-math; no rigid-body engine—
AudioAudioManager contract + @g2w/audio-web backend with an explicit autoplay policyBuilt-in SoundManager (Web Audio + HTML5 Audio, spatial audio, autoplay unlock)Not built in—
TypeScriptWritten in strict TypeScript end to end; core has zero runtime dependenciesJavaScript source with generated .d.ts definitionsTypeScript ≥5.9 strict; permission-checked systems make misuse a compile error—
Architecture styleExplicit ownership, small strict contracts, adapters at the edgeGame Objects via component mixins; plugin system in coreECS: permission-checked queries, relations, events, snapshots, seeded RNG—
AI/agent supportAGENTS.md governance, deterministic-test discipline, DevTools read-only overlayOfficial MCP server, .md versions of every docs page, 28 in-repo agent skills, Phaser AESKILL.md shipped in the npm package, llms.txt, oxlint plugin, replay-as-test devtools—
Maturityv0.1.0, 8 packages on npm (2026-10-28); pre-1.0, API may changeSince 2013; Phaser 4.2.1; ~40.6k stars (GitHub API, 2026-10-28)First npm publish 2026-10-17 (v0.18.0, 0.x); 127 stars (GitHub API, 2026-10-28)—
LicenseMITMITMIT—

What Makes g2w Different?

Separated into what is verified today, what is intended, and what is ambition:

When Phaser Is the More Practical Choice Today

This page would not be honest without this section. g2w is a young, deliberately small framework; Phaser is a mature, commercially maintained one. Choose Phaser when:

And choose g2w when:

About Ritmo

The Broader Ecosystem

G2W next to ten popular web game frameworks and engines. Version, license, and status facts were verified against the npm registry and the GitHub API on 2026-10-28; the feature columns (physics, 2D/3D) reflect each project's official documentation and were not re-audited line by line like the deep comparison above.

FrameworkType2D/3DPhysicsLanguageLicenseStatus (verified 2026-10-28)
g2wSmall packages you compose2D (3D planned)Not yet (candidate work)TypeScript strictMIT0.1.0, 8 packages on npm
PhaserAll-in-one 2D framework2DArcade + Matter.jsJavaScript + generated .d.tsMIT4.2.1, ~40.6k stars
PixiJSRendering engine only2DNoneTypeScriptMIT8.22.0, ~48.6k stars
Three.js3D library3DNone in coreJavaScriptMITr186, ~117k stars
Babylon.jsFull 3D engine3DHavok / Cannon pluginsTypeScriptApache-2.09.32.1, ~26.2k stars
ExcaliburTypeScript-first 2D engine2DArcadeTypeScriptBSD-2-Clause0.32.0 (still 0.x)
KaplayQuick-and-fun game library (Kaboom successor)2DSimple built-inJavaScript / TypeScriptMIT3001.0.19
MelonJSTilemap-focused 2D engine2DBuilt-inJavaScript / TypeScriptMIT20.11.0
PlayCanvas3D engine + visual editor3DVia moduleTypeScriptMIT2.23.3
GDevelopNo-code / visual engine2DVia behaviorsNo coding requiredMITEditor-based; no npm package
p5.jsCreative coding library2DNoneJavaScriptLGPL-2.12.3.4

Where everything sits

Every project above falls into one of three boxes:

  1. All-in-one engines (Phaser, Excalibur, MelonJS, Kaplay, Babylon.js, PlayCanvas, GDevelop) — every system built in, but you live inside their architecture and bundle; the renderer is not swappable.
  2. Pure renderers / libraries (PixiJS, Three.js, p5.js) — flexible, but the game loop, scenes, input, assets, and lifecycle are all yours to build; PixiJS is in fact what G2W's renderer adapter wraps.
  3. G2W's box — framework structure (loop, scenes, input, assets, audio, lifecycle) with a renderer-agnostic, zero-dependency core. The only project in this list that ships "swap the renderer" as a tested contract rather than a concept.

Sources

All facts were checked on 2026-10-28 against these official sources (framework counts like stars come from the GitHub API on that date):

Framework community numbers (stars, forks) change daily and are only meaningful as order-of-magnitude context, not rankings. No performance benchmarks are claimed by anyone in this table — g2w's own roadmap requires a reproducible benchmark harness before any performance claim.

Next steps

See what has actually shipped in Roadmap, or start building with Installation.