acquire-codebase-knowl…
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like…
Expert skill for building web-based game engines and games using HTML5, Canvas, WebGL, and JavaScript. Use when asked to create games, build game engines, implement game physics, handle collision detection, set up game loops, manage sprites, add game controls, or work with 2D/3D
Claude Code
$ npx -y skills add github/awesome-copilot --skill game-engine --agent claude-code
Codex
$ npx skills add github/awesome-copilot --skill game-engine -a codex -y
Cursor
$ npx skills add github/awesome-copilot --skill game-engine -a cursor -y
Gemini CLI
$ npx skills add github/awesome-copilot --skill game-engine -a gemini-cli -y
GitHub Copilot
$ npx skills add github/awesome-copilot --skill game-engine -a github-copilot -y
OpenCode
$ npx skills add github/awesome-copilot --skill game-engine -a opencode -y
Windsurf
$ npx skills add github/awesome-copilot --skill game-engine -a windsurf -y
name: game-engine description: 'Expert skill for building web-based game engines and games using HTML5, Canvas, WebGL, and JavaScript. Use when asked to create games, build game engines, implement game physics, handle collision detection, set up game loops, manage sprites, add game controls, or work with 2D/3D rendering. Covers techniques for platformers, breakout-style games, maze games, tilemaps, audio, multiplayer via WebRTC, and publishing games.'
Build web-based games and game engines using HTML5 Canvas, WebGL, and JavaScript. This skill includes starter templates, reference documentation, and step-by-step workflows for 2D and 3D game development with frameworks such as Phaser, Three.js, Babylon.js, and A-Frame.
The following concepts form the foundation of every web-based game engine.
Every game engine revolves around the game loop -- a continuous cycle of:
1. **Process Input** - Read keyboard, mouse, touch, or gamepad input 2. **Update State** - Update game object positions, physics, AI, and logic 3. **Render** - Draw the current game state to the screen
Use `requestAnimationFrame` for smooth, browser-optimized rendering.
1. Set up an HTML file with a `<canvas>` element 2. Get the 2D rendering context 3. Implement the game loop using `requestAnimationFrame` 4. Create game objects with position, velocity, and size properties 5. Handle keyboard/mouse input for player control 6. Implement collision detection between game objects 7. Add scoring, lives, and win/lose conditions 8. Add sound effects and music
1. Choose a framework (Three.js, Babylon.js, A-Frame, or PlayCanvas) 2. Set up the scene, camera, and renderer 3. Load or create 3D models and textures 4. Implement lighting and shaders 5. Add physics and collision detection 6. Implement player controls and camera movement 7. Add audio and visual effects
1. Optimize assets (compress images, minify code) 2. Test across browsers and devices 3. Choose distribution platform (web, app stores, game portals) 4. Implement monetization if needed 5. Promote through game communities and social media
Starter templates are available in the `assets/` folder. Each template provides a complete, working example that can be used as a starting point for a new project.
| Template | Description | |----------|-------------| | `paddle-game-template.md` | 2D Breakout-style game with pure JavaScript | | `2d-maze-game.md` | Maze game with device orientation controls | | `2d-platform-game.md` | Platformer game using Phaser framework | | `gameBase-template-repo.md` | Game base template repository structure | | `simple-2d-engine.md` | Simple 2D platformer engine with collisions |
Detailed reference material is available in the `references/` folder. Consult these files for in-depth coverage of specific topics.
| Reference | Topics Covered | |-----------|---------------| | `basics.md` | Game development introduction and anatomy | | `web-apis.md` | Canvas, WebGL, Web Audio, Gamepad, and other web APIs | | `techniques.md` | Collision detection, tilemaps, async scripts, audio | | `3d-web-games.md` | 3D theory, frameworks, shaders, WebXR | | `game-control-mechanisms.md` | Touch, keyboard, mouse, and gamepad controls | | `game-publishing.md` | Distribution, promotion, and monetization | | `algorithms.md` | Raycasting, collision, physics, vector math | | `terminology.md` | Game development glossary | | `game-engine-core-principles.md` | Core design principles for game engines |
| Issue | Solution | |-------|----------| | Canvas is blank | Check that you are calling drawing methods after getting the context and inside the game loop | | Game runs at different speeds | Use delta time in update calculations instead of fixed values | | Collision detection is inconsistent | Use continuous collision detection or reduce time steps for fast-moving objects | | Audio does not play | Browsers require user interaction before playing audio; trigger playback from a click handler | | Performance is poor | Pro
A community-created collection of custom agents, instructions, skills, hooks, workflows, and plugins to supercharge your GitHub Copilot experience.
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like…
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps…
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default,…
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks,…
Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts like…
Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AI…