SkillAgentSearch skills...

game-engine

Expert skill for building web-based game engines and games using HTML5, Canvas, WebGL, and JavaScript

Install / Use

npx skills add github/awesome-copilot --skill game-engine

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

88/100

Category

Design

Supported Platforms

Universal

Tags

Our assessment of game-engine

game-engine scores 88/100 on our quality scale, 63rd of 161 Design skills we index (top 40%).

Its SKILL.md is 6.2 KB long, well organised into 16 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 39,348 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
13/20
Description
12/15
Adoption
20/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 2 days ago, so game-engine is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

game-engine compared with similar skills

All 4 of these similar skills score higher than game-engine; compare them before choosing.

SkillScoreStarsUpdatedFormat
game-engine (this skill)by github8839.3k2d agoSKILL.md
algorithmic-artby anthropics100177.9k3d agoSKILL.md
pptxby anthropics100177.9k3d agoSKILL.md
designby nextlevelbuilder100130.2k4d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k4d agoSKILL.md

Frequently asked questions

How do I install game-engine?
Run npx skills add github/awesome-copilot --skill game-engine. The install tabs above show the steps for each supported agent.
Which AI agents does game-engine work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is game-engine safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is game-engine still maintained?
The repository was last updated 2 days ago, so game-engine is actively maintained.

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.'

Game Engine Skill

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.

When to Use This Skill

  • Building a game engine or game from scratch using web technologies
  • Implementing game loops, physics, collision detection, or rendering
  • Working with HTML5 Canvas, WebGL, or SVG for game graphics
  • Adding game controls (keyboard, mouse, touch, gamepad)
  • Creating 2D platformers, breakout-style games, maze games, or 3D experiences
  • Working with tilemaps, sprites, or animations
  • Adding audio to web games
  • Implementing multiplayer features with WebRTC or WebSockets
  • Optimizing game performance
  • Publishing and distributing web games

Prerequisites

  • Basic knowledge of HTML, CSS, and JavaScript
  • A modern web browser with Canvas/WebGL support
  • A text editor or IDE
  • Optional: Node.js for build tooling and local development servers

Core Concepts

The following concepts form the foundation of every web-based game engine.

Game Loop

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.

Rendering

  • Canvas 2D - Best for 2D games, sprite-based rendering, and tilemaps
  • WebGL - Hardware-accelerated 3D and advanced 2D rendering
  • SVG - Vector-based graphics, good for UI elements
  • CSS - Useful for DOM-based game elements and transitions

Physics and Collision Detection

  • 2D Collision Detection - AABB, circle, and SAT-based collision
  • 3D Collision Detection - Bounding box, bounding sphere, and raycasting
  • Velocity and Acceleration - Basic Newtonian physics for movement
  • Gravity - Constant downward acceleration for platformers

Controls

  • Keyboard - Arrow keys, WASD, and custom key bindings
  • Mouse - Click, move, and pointer lock for FPS-style controls
  • Touch - Mobile touch events and virtual joysticks
  • Gamepad - Gamepad API for controller support

Audio

  • Web Audio API - Programmatic sound generation and spatial audio
  • HTML5 Audio - Simple audio playback for music and sound effects

Step-by-Step Workflows

Creating a Basic 2D Game

  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

Building a 3D Game

  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

Publishing a Game

  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

Game Templates

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 |

Reference Documentation

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 |

Troubleshooting

| 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 | Profile with browser dev tools, reduce draw calls, use object pooling, and optimize asset sizes | | Touch controls are unresponsive | Prevent default touch behavior and handle touch events separately from mouse events | | WebGL context lost | Handle the webglcontextlost event and restore state on webglcontextrestored |

Related Skills

View on GitHub
GitHub Stars39.3k
CategoryDesign
Updated2d ago
Forks5.0k

Languages

JavaScript

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions