Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
github avatar

Game Engine

  • 11.7k installs
  • 37.1k repo stars
  • Updated July 28, 2026
  • github/awesome-copilot

Web-based game engine and game development using HTML5, Canvas, WebGL, JavaScript, and frameworks like Phaser, Three.js, Babylon.js, A-Frame.

About

Expert skill for constructing web-based game engines and games using HTML5 Canvas, WebGL, and JavaScript. Covers game loops, physics simulation, collision detection, sprite management, input handling (keyboard, mouse, touch, gamepad), and rendering techniques for 2D and 3D experiences. Includes starter templates for platformers, breakout games, and maze games; reference documentation on core concepts like rendering, physics, and controls; and workflows for audio integration, multiplayer via WebRTC, performance optimization, and publishing across browsers and platforms.

  • Game loop architecture: input processing, state updates, and rendering using requestAnimationFrame
  • Collision detection: AABB, circle, SAT-based (2D) and bounding box, raycasting (3D) implementations
  • Multi-input support: keyboard, mouse, touch events, gamepad API, and device orientation controls
  • Framework integration: Phaser, Three.js, Babylon.js, A-Frame with 2D Canvas and WebGL rendering
  • Pre-built templates for paddle games, platformers, and maze games with complete working examples

Game Engine by the numbers

  • 11,719 all-time installs (skills.sh)
  • +166 installs in the week ending Jul 28, 2026 (Skillselion tracking)
  • Ranked #2 of 247 Game Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

game-engine capabilities & compatibility

Capabilities
2d game rendering via canvas · 3d game rendering via webgl · physics and gravity simulation · collision detection (aabb, circle, sat, raycasti · multi input handling (keyboard, mouse, touch, ga · audio playback and web audio api · sprite and tilemap management · game loop implementation
Works with
github · vercel
Use cases
ui design · frontend
Platforms
macOS · Windows · Linux · WSL
Runs
Remote server
Pricing
Free
From the docs

What game-engine says it does

Covers techniques for platformers, breakout-style games, maze games, tilemaps, audio, multiplayer via WebRTC, and publishing games.
SKILL.md#description
npx skills add https://github.com/github/awesome-copilot --skill game-engine

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs11.7k
repo stars37.1k
Security audit3 / 3 scanners passed
Last updatedJuly 28, 2026
Repositorygithub/awesome-copilot

What it does

Build 2D and 3D web-based games and game engines using HTML5 Canvas, WebGL, and JavaScript frameworks.

Who is it for?

Game developers building web-based 2D platformers, breakout games, maze games, 3D experiences, and interactive browser games.

Skip if: Native mobile game development, AAA game engines (Unreal, Unity native), or non-interactive web applications.

When should I use this skill?

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.

What you get

A working, optimized web game or game engine with proper rendering, physics, controls, audio, and cross-browser/device compatibility.

  • Working game or game engine
  • Optimized assets and code
  • Cross-browser testing completed

By the numbers

  • 5 starter templates provided: paddle-game, 2d-maze, 2d-platform, gameBase-repo, simple-2d-engine
  • 8 reference documentation files covering basics, web APIs, techniques, 3D, controls, publishing, algorithms, and termino

Files

SKILL.mdMarkdownGitHub ↗

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.

TemplateDescription
paddle-game-template.md2D Breakout-style game with pure JavaScript
2d-maze-game.mdMaze game with device orientation controls
2d-platform-game.mdPlatformer game using Phaser framework
gameBase-template-repo.mdGame base template repository structure
simple-2d-engine.mdSimple 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.

ReferenceTopics Covered
basics.mdGame development introduction and anatomy
web-apis.mdCanvas, WebGL, Web Audio, Gamepad, and other web APIs
techniques.mdCollision detection, tilemaps, async scripts, audio
3d-web-games.md3D theory, frameworks, shaders, WebXR
game-control-mechanisms.mdTouch, keyboard, mouse, and gamepad controls
game-publishing.mdDistribution, promotion, and monetization
algorithms.mdRaycasting, collision, physics, vector math
terminology.mdGame development glossary
game-engine-core-principles.mdCore design principles for game engines

Troubleshooting

IssueSolution
Canvas is blankCheck that you are calling drawing methods after getting the context and inside the game loop
Game runs at different speedsUse delta time in update calculations instead of fixed values
Collision detection is inconsistentUse continuous collision detection or reduce time steps for fast-moving objects
Audio does not playBrowsers require user interaction before playing audio; trigger playback from a click handler
Performance is poorProfile with browser dev tools, reduce draw calls, use object pooling, and optimize asset sizes
Touch controls are unresponsivePrevent default touch behavior and handle touch events separately from mouse events
WebGL context lostHandle the webglcontextlost event and restore state on webglcontextrestored

Related skills

How it compares

Pick game-engine over generic frontend skills when you need a complete Phaser maze prototype with tilt controls rather than UI components.

FAQ

What is the game loop and why is it essential?

The game loop is a continuous cycle of: (1) Process Input, (2) Update State, (3) Render. Use requestAnimationFrame for smooth, browser-optimized rendering. Every game engine revolves around this loop.

How do I handle collision detection in 2D and 3D games?

2D uses AABB, circle, or SAT-based collision. 3D uses bounding box, bounding sphere, or raycasting. For fast-moving objects, use continuous collision detection or reduce time steps.

Why does audio not play in my web game?

Browsers require user interaction before playing audio. Trigger playback from a click handler, not immediately on page load.

Is Game Engine safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.