bundled-skills/game-development/engine-selection/SKILL.md
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.
npx skillsauth add FrancoStino/opencode-skills-antigravity engine-selectionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Pick tools that match delivery target, interaction model, and team constraints. Engines serve the game type — not the reverse.
| Pattern | When | Notes | |---------|------|-------| | Full engine shell | Game is the canvas/scene | Phaser, Godot, Unity, Kaplay as app root | | Renderer + custom logic | You want draw power, own gameplay | PixiJS, Three.js + your systems | | Hybrid shell + guest | Dense UI/text + occasional skill-checks | DOM/app shell; mount canvas engines in modals/viewports only | | Narrative runtime | Branching prose is the product | Ink, Twine; host chrome separately | | Content-as-data | Levels/events authored as packs | JSON/YAML + thin loader; engine optional |
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
| Tool | Type | Best for | Watch-outs | |------|------|----------|------------| | Raw Canvas / WebGL | 2D/low-level | Tiny games, learning, no framework tax | You own everything | | Kaplay (ex-Kaboom) | 2D toolkit | Fast prototypes, jam games | Less “full product” structure than Phaser | | Phaser 4 | 2D engine | Complete 2D features | Heavier; often bundled | | PixiJS 8 | 2D renderer | Performance, custom game code | Not a full gameplay framework alone | | Three.js | 3D renderer | Visuals, lightweight 3D | You add gameplay systems | | Babylon.js | 3D engine | Fuller 3D + XR | Heavier than Three for simple scenes | | Ink + inkjs | Narrative | Complex branching prose | Weak for real-time multi-entity sims | | Twine / Twison / TweeJS | Narrative | Educator-friendly branches | Export/host glue; not a physics engine | | Godot 4 | Full engine | 2D/3D indie, open source | Web export iteration cost | | Unity | Full engine | Large teams, multi-platform | Heavy for simple web UI games |
Editor-first web shells (Construct, GDevelop) fit visual prototyping; weaker when you need versioned code-first content pipelines.
| Target | Lean toward |
|--------|-------------|
| PC indie / open source | Godot 4 |
| PC large team / multi-platform | Unity |
| Mobile | See game-development/mobile-games (touch, stores, battery) |
| VR/AR | See game-development/vr-ar (+ Babylon/Three on web) |
| Don't | Do | |-------|-----| | Choose Unity/Godot for a form-heavy browser tool | Prefer DOM/hybrid | | Force Ink to run real-time concurrent simulations | Use narrative tools for branches; custom/sim code for clocks & entities | | Use Phaser as “the whole app” when the surrounding UI is HTML | Prefer a hybrid guest viewport | | Optimize for WebGPU on day one | Ship WebGL; add WebGPU + fallback when needed |
Use when choosing or comparing game engines/frameworks before implementation, especially for hybrid DOM+canvas or narrative-first products.
game-development/web-games, game-development/pc-games, …).tools
Authorized security assessment of LLM applications and AI agents: prompt injection, tool abuse, RAG exposure, memory poisoning, system-prompt extraction, and agent-compliance engineering per OWASP LLM/ASI Top 10.
development
Builds two parameterized UI modes—流光溢彩白 (iridescent white) and 五彩斑斓黑 (colorful black)—with OKLCH, WebGL/CSS fallback, vision gating, screenshot QA, and total/per-color intensity reports. Use when a UI request names either mode or needs measured color parameters.
tools
Delegate coding tasks to the Kimi Code CLI (`kimi`) only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.
development
Front-end JavaScript reverse engineering: locate signature chains, analyze encrypted request parameters, sample runtime behavior, and reproduce logic locally in Node for evidence-based output.