Engine selection

← Back to skills

> Pick tools that match **delivery target**, **interaction model**, and **team constraints**. Engines serve the game type — not the reverse.

Category: Game Development & 3D
Repo: antigravity-awesome-skills
Path: skills/game-development/engine-selection/SKILL.md
Updated: 7/19/2026, 7:47:10 PM

AI Summary

> Pick tools that match **delivery target**, **interaction model**, and **team constraints**. Engines serve the game type — not the reverse. It is useful for game engines, 3D graphics, Unity, Unreal, and interactive media. Source: antigravity-awesome-skills (skills/game-development/engine-selection/SKILL.md).

Engine selection

Pick tools that match delivery target, interaction model, and team constraints. Engines serve the game type — not the reverse.


Fit questions (ask first)

  1. Platform: Web, mobile, PC, console, VR?
  2. Primary loop: Action/physics, turn-based, narrative branch, management/UI, hybrid?
  3. Presentation: Full-screen canvas, DOM/UI chrome, or both?
  4. Toolchain: No-build / ESM OK, or bundler + editor OK?
  5. Authoring: Code-only, or designers need Twine/Ink/Godot/Unity editors?

Architecture patterns

PatternWhenNotes
Full engine shellGame is the canvas/scenePhaser, Godot, Unity, Kaplay as app root
Renderer + custom logicYou want draw power, own gameplayPixiJS, Three.js + your systems
Hybrid shell + guestDense UI/text + occasional skill-checksDOM/app shell; mount canvas engines in modals/viewports only
Narrative runtimeBranching prose is the productInk, Twine; host chrome separately
Content-as-dataLevels/events authored as packsJSON/YAML + thin loader; engine optional

Web — decision tree

What type of game?
│
├── Mostly DOM / panels / forms / text UI
│   ├── + small arcade/spatial challenges
│   │     └── Hybrid: custom shell + guest
│   │         Raw Canvas/WebGL → Kaplay → Phaser → PixiJS
│   └── + branching story
│         └── Ink (inkjs) or Twine export → host in DOM
│
├── Full-screen 2D game
│   ├── Full gameplay features (scenes, physics, input)
│   │     └── Phaser 4  (or Kaplay if you want lighter/faster prototype)
│   └── Mostly rendering / custom systems
│         └── PixiJS 8  (or Raw Canvas/WebGL if tiny scope)
│
└── Full-screen 3D game
    ├── Full engine / physics / XR
    │     └── Babylon.js
    └── Rendering-focused / lighter
          └── Three.js

Quick comparison (web & common exports)

ToolTypeBest forWatch-outs
Raw Canvas / WebGL2D/low-levelTiny games, learning, no framework taxYou own everything
Kaplay (ex-Kaboom)2D toolkitFast prototypes, jam gamesLess “full product” structure than Phaser
Phaser 42D engineComplete 2D featuresHeavier; often bundled
PixiJS 82D rendererPerformance, custom game codeNot a full gameplay framework alone
Three.js3D rendererVisuals, lightweight 3DYou add gameplay systems
Babylon.js3D engineFuller 3D + XRHeavier than Three for simple scenes
Ink + inkjsNarrativeComplex branching proseWeak for real-time multi-entity sims
Twine / Twison / TweeJSNarrativeEducator-friendly branchesExport/host glue; not a physics engine
Godot 4Full engine2D/3D indie, open sourceWeb export iteration cost
UnityFull engineLarge teams, multi-platformHeavy for simple web UI games

Editor-first web shells (Construct, GDevelop) fit visual prototyping; weaker when you need versioned code-first content pipelines.


Non-web defaults (see also platform skills)

TargetLean toward
PC indie / open sourceGodot 4
PC large team / multi-platformUnity
MobileSee game-development/mobile-games (touch, stores, battery)
VR/ARSee game-development/vr-ar (+ Babylon/Three on web)

Anti-patterns

Don'tDo
Choose Unity/Godot for a form-heavy browser toolPrefer DOM/hybrid
Force Ink to run real-time concurrent simulationsUse narrative tools for branches; custom/sim code for clocks & entities
Use Phaser as “the whole app” when the surrounding UI is HTMLPrefer a hybrid guest viewport
Optimize for WebGPU on day oneShip WebGL; add WebGPU + fallback when needed

When to Use

Use when choosing or comparing game engines/frameworks before implementation, especially for hybrid DOM+canvas or narrative-first products.

Limitations

  • Does not replace platform skills (game-development/web-games, game-development/pc-games, …).
  • Final choice still depends on team skill and shipping constraints.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Related skills