<< All versions

Skill v1.0.1

currentAutomated scan100/100
sickn33/agentic-awesome-skills/engine-selection

+4 new

──Details
PublishedOctober 25, 2026 at 04:56 PM
Content Hashsha256:49531cb3f9d055b1...
Git SHAe8d346bcb691
Bump Typepatch
Compare with v1.0.0
──Files
Files (1 file, 5.1 KB)
SKILL.md5.1 KBactive
SKILL.md · 119 lines · 5.1 KB

version: "1.0.1" name: engine-selection description: >- Selects game engines and frameworks by platform, genre, and architecture (full canvas shell vs hybrid DOM shell + guest viewport). Covers Phaser, PixiJS, Kaplay, Canvas/WebGL, Three.js, Babylon.js, Godot, Unity, Ink, Twine. Use when choosing a stack or comparing runtimes before implementation. risk: safe source: self date_added: "2026-07-17"


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

Version names are examples. Verify current official stable releases, target exports, plugin compatibility and license terms before pinning a stack; prototype the critical mechanic and delivery size rather than treating subjective fit labels as benchmarks. Phaser installation reference: https://docs.phaser.io/phaser/getting-started/installation .

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.
← v1.0.0All versions