·
Last changedVersion:
This version passed the hardening gate. Hardening updated the skill content and independently checked the resulting changes. Classified findings before hardening: 7. Classified findings closed: 2. Classified findings remaining: 5. Unclassified scanner findings remaining: 0. Review findings closed: 1. Review findings remaining: 12.
3
4
2
3
Expand | File | Group | Subtype | Severity | Status |
|---|---|---|---|---|---|
references/3d-web-games.md | Supply Chain & Install-Time Trust | — | Medium | Closed | |
SKILL.md | Memory & Context Poisoning | — | Medium | Open | |
references/game-control-mechanisms.md | Memory & Context Poisoning | — | Medium | Open | |
references/game-control-mechanisms.md | Prompt Injection | Third-party content as instructions | Low | Closed | |
references/3d-web-games.md | Prompt Injection | Third-party content as instructions | Low | Open | |
references/game-publishing.md | Sensitive Data & Secret Exposure | Data exfiltration | Low | Open | |
references/web-apis.md | Prompt Injection | Third-party content as instructions | Low | Open |
7 findings
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:
Use requestAnimationFrame for smooth, browser-optimized rendering.
<canvas> elementrequestAnimationFrameStarter 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 |
|---|---|
| 2D Breakout-style game with pure JavaScript |
| Maze game with device orientation controls |
| Platformer game using Phaser framework |
| Game base template repository structure |
| 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 |
|---|---|
| Game development introduction and anatomy |
| Canvas, WebGL, Web Audio, Gamepad, and other web APIs |
| Collision detection, tilemaps, async scripts, audio |
| 3D theory, frameworks, shaders, WebXR |
| Touch, keyboard, mouse, and gamepad controls |
| Distribution, promotion, and monetization |
| Raycasting, collision, physics, vector math |
| Game development glossary |
| 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 | 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 |
Get started with chainctlchainctl skill install public/github/game-engine:latest
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
skills.cgr.dev/public/github.com/github/skills/game-engine:latest
MIT
HARDENING.md
LICENSE
SKILL.md
assets/2d-maze-game.md
assets/2d-platform-game.md
assets/gameBase-template-repo.md
assets/paddle-game-template.md
assets/simple-2d-engine.md
references/3d-web-games.md
references/algorithms.md
references/basics.md
references/game-control-mechanisms.md
references/game-engine-core-principles.md
references/game-publishing.md
references/techniques.md
references/terminology.md
references/web-apis.md