web-games — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited web-games (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Practical guidance for shipping games that run inside a web page, where the runtime is a sandbox you do not fully control.
Start from the dimensionality of your game, then decide how much engine you actually need.
| Library | Dimension | Sweet spot |
|---|---|---|
| Phaser 4 | 2D | Complete game toolkit |
| PixiJS 8 | 2D | Renderer-first, custom UI |
| Three.js | 3D | Lightweight scenes, dataviz |
| Babylon.js 7 | 3D | Full engine with XR |
WebGPU is the modern graphics API; WebGL remains the safe baseline. Roughly 73% of users now have WebGPU.
| Engine | Availability |
|---|---|
| Chrome | 113 and up |
| Edge | 113 and up |
| Firefox | 131 and up |
| Safari | 18.0 and up |
How to choose:
navigator.gpu rather than sniffing the user agent.The browser imposes limits that a native runtime does not. Plan around each one.
| Limitation | What to do |
|---|---|
| Cannot read the local disk | Ship assets in bundles or serve them from a CDN |
| Inactive tabs get throttled | Detect visibility changes and pause the loop |
| Users may be on metered data | Shrink assets aggressively |
| Sound will not autoplay | Wait for a tap or click before starting audio |
When you optimize, work through this order:
Encode each asset type in a format the browser decodes cheaply.
| Asset | Preferred encoding |
|---|---|
| Textures | KTX2 with Basis Universal |
| Audio | WebM/Opus, falling back to MP3 |
| Models | glTF with Draco or Meshopt |
Split delivery into phases so the player reaches gameplay quickly:
Turning the game into a Progressive Web App gives it native-like reach.
What you gain:
What it takes:
Browsers gate the AudioContext behind a user gesture, so build around that rule.
| Avoid this | Prefer this |
|---|---|
| Front-loading every asset | Loading progressively |
| Running flat out in hidden tabs | Pausing when not visible |
| Stalling startup on audio | Loading audio lazily |
| Shipping uncompressed files | Compressing everything |
| Assuming a fast pipe | Designing for slow links |
The browser reaches more players than any other platform, but only if you build for its constraints instead of fighting them.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.