Skip to content

How Phaser’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score31/100

Agent-ready 53.0 × 0.30 = 15.90

API quality 15.4 × 0.20 = 3.08

Openness 46.0 × 0.20 = 9.20

Built-in AI 15.6 × 0.15 = 2.34

Automation 6.0 × 0.15 = 0.90

(15.90 + 3.08 + 9.20 + 2.34 + 0.90) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 31.42 ÷ 1.00 = 31.4

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready53.0/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [probe] https://docs.phaser.io/llms.txtPROBE llms.txt: HTTP 404 at https://docs.phaser.io/llms.txt
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.
  • [probe] https://phaser.io/agent/mcpofficial MCP server documented at https://phaser.io/agent/mcp
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.

Run the product headlessly / in CI for automationweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.
  • [probe] https://phaser.io/agent/mcpofficial MCP server documented at https://phaser.io/agent/mcp

Connect an agent via an official MCP serverweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.
  • [claimed-docs] https://phaser.io/agent/mcpYou describe what you want in plain language and your agent calls the tools for you.
  • [claimed-docs] https://phaser.io/agent/mcpGive the player a double-jump and a coin counter.The jump feels floaty, make gravity stronger.
  • [probe] https://phaser.io/agent/mcpofficial MCP server documented at https://phaser.io/agent/mcp
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Use an official CLIweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationThis CLI tool presents an interactive selection of official project templates and demo games.
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationThis CLI tool presents an interactive selection of official project templates and demo games. Issue the command, answer some questions and the app will download and configure the right package for you.

Drive the product through a documented public APIweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationFull TypeScript definitions can be found inside the types folder
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/physics/arcadeThis will allow you to control the Sprite using the built-in physics functions, such as velocity, acceleration, gravity, etc.
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/inputPhaser maintains a unified input system that works across all browsers and devices.
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/loaderCommon asset types include images, texture atlases, sprite sheets, fonts, audio files and JSON data, but there are many more that Phaser can handle.
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/animationsAnimations are created via the Animation Manager.
  • [probe] https://docs.phaser.io/llms.txtPROBE llms.txt: HTTP 404 at https://docs.phaser.io/llms.txt
  • [probe] https://docs.phaser.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.phaser.io/openapi.json, https://docs.phaser.io/swagger.json, https://docs.phaser.io/api/openapi.json, https://docs.phaser.io/.well-known/openapi.json)
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Issue scoped/least-privilege API credentials for an agentweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Build against official SDKsweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationnpm install phaser
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationFull TypeScript definitions can be found inside the types folder
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationInstall via [npm](https://www.npmjs.com/package/phaser): npm install phaser
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationThis CLI tool presents an interactive selection of official project templates and demo games. Issue the command, answer some questions and the app will download and configure the right package for you.
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationPhaser is on jsDelivr which is a "super-fast CDN for developers". Include _either_ of the following in your html
  • [github] https://github.com/phaserjs/phaserYou can use JavaScript or TypeScript for development.
  • [community] https://news.ycombinator.com/item?id=16372375I've spent the past 6 months building a game using Phaser and TypeScript. On the whole, it's been a great experience... one of the worst parts of Phaser is its documentation... TypeScript + VSCode massively improves this experience.
  • [community] https://news.ycombinator.com/item?id=37499163Phaser 4 was announced ~four years ago and was an attempt to get the project written natively in TypeScript. It looks pretty dead in the water... 'best effort' TypeScript experience layered onto Phaser 3 via DefinitelyTyped didn't excite me.

Subscribe to events via webhooksweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Agent-ready = 74.2 ÷ 140 × 100 = 53.0

API quality15.4/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [community] https://news.ycombinator.com/item?id=37499163I've made a couple toy projects with Phaser, after comparing other Javascript based 2d engines. Phaser is the most fully featured amongst them... Phaser specifically has many examples and docs to work from.
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.
  • [probe] https://docs.phaser.io/llms.txtPROBE llms.txt: HTTP 404 at https://docs.phaser.io/llms.txt
  • [probe] https://docs.phaser.io/phaser/getting-started/what-is-phaser.mdPROBE docs-md: HTTP 404 at https://docs.phaser.io/phaser/getting-started/what-is-phaser.md

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationFull TypeScript definitions can be found inside the types folder
  • [probe] https://docs.phaser.io/llms.txtPROBE llms.txt: HTTP 404 at https://docs.phaser.io/llms.txt
  • [probe] https://docs.phaser.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.phaser.io/openapi.json, https://docs.phaser.io/swagger.json, https://docs.phaser.io/api/openapi.json, https://docs.phaser.io/.well-known/openapi.json)
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://docs.phaser.io/phaser/concepts/scenesIf you find any reference to States in code or a tutorial you've found online, it's for Phaser 2 and likely won't work in Phaser 3.
  • [community] https://news.ycombinator.com/item?id=37499163Phaser 4 was announced ~four years ago and was an attempt to get the project written natively in TypeScript. It looks pretty dead in the water... 'best effort' TypeScript experience layered onto Phaser 3 via DefinitelyTyped didn't excite me.
  • [probe] https://docs.phaser.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.phaser.io/openapi.json, https://docs.phaser.io/swagger.json, https://docs.phaser.io/api/openapi.json, https://docs.phaser.io/.well-known/openapi.json)

API quality = 10.8 ÷ 70 × 100 = 15.4

Openness46.0/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://phaser.io/editorDrag and drop objects into place, tweak their animations, adjust their physics bodies, enable special effects and more as you go.
  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.
  • [claimed-docs] https://phaser.io/agent/mcpYou describe what you want in plain language and your agent calls the tools for you.
  • [claimed-docs] https://phaser.io/agent/mcpGive the player a double-jump and a coin counter.The jump feels floaty, make gravity stronger.
  • [claimed-docs] https://phaser.io/editorAdd and configure filters visually — Glow, Shadow, Blur, Pixelate, Bokeh, ColorMatrix, Displacement and more — directly in the Scene Editor's Inspector view, in real time.
  • [claimed-docs] https://phaser.io/editorCreate a particle emitter, reorganise a scene into layers, rename a bunch of objects — it handles it without switching tools.
  • [claimed-docs] https://phaser.io/pricingPixel art, tilemap & atlas editors * SFX & music generation
  • [probe] https://docs.phaser.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://docs.phaser.io/openapi.json, https://docs.phaser.io/swagger.json, https://docs.phaser.io/api/openapi.json, https://docs.phaser.io/.well-known/openapi.json)
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Export all of my data in open formats and leaveweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Read the product's source under an open licenseweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [github] https://github.com/phaserjs/phaserYou can use JavaScript or TypeScript for development.
  • [github] https://github.com/phaserjs/phaserGames can be built for the web, or as YouTube Playables, Discord Activities, Reddit games, Twitch Overlays or compiled to iOS, Android, Steam and native apps using 3rd party tools.
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Self-host the core productweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationnpm install phaser
  • [claimed-docs] https://docs.phaser.io/phaser/getting-started/installationPhaser is on jsDelivr which is a "super-fast CDN for developers".
  • [github] https://github.com/phaserjs/phaserYou can use JavaScript or TypeScript for development.
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Openness = 46.0 ÷ 100 × 100 = 46.0

Built-in AI15.6/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.
  • [claimed-docs] https://phaser.io/agent/mcpYou describe what you want in plain language and your agent calls the tools for you.
  • [probe] https://phaser.io/agent/mcpofficial MCP server documented at https://phaser.io/agent/mcp

Operate the product with natural-language commandsweight 2

2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max

  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.
  • [claimed-docs] https://phaser.io/agent/mcpYou describe what you want in plain language and your agent calls the tools for you.
  • [claimed-docs] https://phaser.io/agent/mcpGive the player a double-jump and a coin counter.The jump feels floaty, make gravity stronger.
  • [claimed-docs] https://phaser.io/editorCreate a particle emitter, reorganise a scene into layers, rename a bunch of objects — it handles it without switching tools.
  • [probe] https://phaser.io/agent/mcpofficial MCP server documented at https://phaser.io/agent/mcp
  • [probe] https://phaser.io/agent/mcpPROBE runtime (recorded 2026-09-15): `npm view phaser version` → 4.2.1 (MIT, 263,018 weekly downloads), and phaser.io/llms.txt is live as a programmatic examples-API index ('# Phaser Examples Index... For full metadata and source code, use the API: GET /api/v1/examples/{id}'). Phaser Studio's official MCP rides its hosted Game Agent (phaser.io/agent/mcp 'Connect your coding agent'); no @phaserjs MCP package exists on npm (E404, recorded). Caveat: phaser.io root 403s non-browser clients — deep links and a browser UA required.

Built-in AI = 14.0 ÷ 90 × 100 = 15.6

Automation6.0/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max

  • [claimed-docs] https://phaser.io/editorCreate a particle emitter, reorganise a scene into layers, rename a bunch of objects — it handles it without switching tools.
  • [claimed-docs] https://phaser.io/editorFor power users, the MCP Server goes deeper. It implements over 40 specialised tools and integrates directly with Claude Desktop, Cursor, GitHub Copilot and other MCP-compatible tools.
  • [claimed-docs] https://phaser.io/agent/mcpBuild games from inside the editor you already use with the Phaser Game Agent MCP server.

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://docs.phaser.io/phaser/concepts/inputPhaser maintains a unified input system that works across all browsers and devices.
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/scenesTypical uses for a Scene would be a Loading Screen, a Main Menu, a Game Level, a Boss Fight, an in-game Item Shop, a High Score Table, etc.
  • [claimed-docs] https://docs.phaser.io/phaser/concepts/scenesyou can pause, resume and sleep a Scene at will, and that you can easily run multiple Scenes at the same time.

Schedule recurring jobs or workflowsweight 2

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 3.6 ÷ 60 × 100 = 6.0