npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

gamecodex

v2.0.1

Published

A game designer AI lens for programmers — one MCP tool that applies industry-proven design philosophies (Cerny's Method, MDA, game feel, juice, flow, scope discipline…) to whatever you're building. 957 engine docs ride along as MCP resources.

Readme

GameCodex

CI npm version npm downloads License: MIT

A game designer AI lens for programmers. One MCP tool.

Your AI assistant writes competent game code and gives you zero design judgment. It will implement a jump, a shop, or an entire crafting system without ever asking whether it should exist, what it should feel like, or which proven design thinking applies. GameCodex gives your AI that judgment: a single tool — lens — that answers as the game designer looking over your shoulder.

Works with Claude Code, Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compatible tool.

Quick start

claude mcp add gamecodex -- npx -y gamecodex

Or add to your MCP config file (claude_desktop_config.json, .cursor/mcp.json, ~/.windsurf/mcp.json, …):

{
  "mcpServers": {
    "gamecodex": { "command": "npx", "args": ["-y", "gamecodex"] }
  }
}

The one tool

lens { situation: "my jump feels floaty" }

returns the Game Feel lens (Steve Swink, 2008): the questions a designer would ask right now ("how many frames between input and first visible response — have you measured?"), red flags phrased in code terms ("input handled in a fixed tick without interpolation", "jump is a single impulse with default gravity"), and concrete prescriptions ("derive gravity from jump height and time-to-apex: g = 2h/t², v0 = 2h/t; split rising/falling gravity; add coyote time and input buffering").

| Call | Returns | |------|---------| | lens { situation: "..." } | Top matching lenses for what you're building, deciding, or struggling with — plus the matching knowledge-base docs | | lens { lens: "scope" } | A specific lens by id | | lens { doc: "G106" } | A knowledge-base doc — oversized docs return a table of contents | | lens { doc: "G106", section: "Jitter" } | Just that section of the doc | | lens { } | The catalog |

No action routing. Four optional strings. That's the entire API.

The 15 lenses

Every lens distills an industry-proven philosophy — real, checkable provenance, original distillations:

| Lens | Source | Reach for it when | |------|--------|-------------------| | find-the-fun | Mark Cerny — Method (D.I.C.E. 2002) | Starting anything; building systems before fun is proven | | mda | Hunicke/LeBlanc/Zubek (2004) | A feature works as coded but the game feels wrong | | interesting-decisions | Sid Meier (GDC 2012) | Everyone picks the same option; choices feel hollow | | game-feel | Steve Swink (2008) | Floaty, sluggish, unresponsive, slippery | | juice | Jonasson & Purho (2012); Nijman (2013) | Combat "lacks impact"; actions go unacknowledged | | flow-difficulty | Csikszentmihalyi (1990); Celeste Assist Mode (2018) | Players quit; too hard/too easy arguments | | onboarding | George Fan (GDC 2012); Nintendo | New players are confused; tutorial walls of text | | kishotenketsu | Koichi Hayashida (GDC 2012) | Levels feel like filler; no per-level identity | | core-loop | Dormans (2012); session-design craft | "What do players actually do?"; retention questions | | scope | Derek Yu — Finishing a Game (2010) | "Should I add X?"; the project keeps growing | | playtesting | Valve culture; RITE (2002) | Months of dev, zero external eyes | | player-motivation | SDT (Ryan/Rigby 2006); Bartle; Quantic Foundry | "Who is this for?"; retention mechanics debates | | balance | Sirlin; Schreiber | Overpowered options; economies that inflate | | theory-of-fun | Raph Koster (2004) | "It gets old fast"; depth vs. complexity | | emergence | BotW (GDC 2017); immersive sims | Special-cased interactions; content treadmill |

The knowledge base works within the lens

The 957-doc engine library (29 engines — deepest on MonoGame 131, Godot 116, Unity 81, Unreal 81; every doc purpose-written for AI consumption, drafted with AI assistance under human editorial direction) is reachable through the same one tool:

  • every situation reply ends with From the knowledge base — the top matching docs with ids
  • doc: "<id>" reads one; docs over 25KB return their table of contents so you fetch just the section you need instead of flooding context

The docs also ship as passive MCP resources at gamedev://docs/{module}/{id} for clients that browse resources.

Scope which modules load:

{ "env": { "GAMEDEV_MODULES": "core,godot-arch" } }

Without GAMEDEV_MODULES, all modules load.

What makes this different

  • Judgment, not integration. Godot-MCP and Unity-MCP give your AI buttons to press in the editor; Context7 gives it API docs. GameCodex gives it design thinking — the layer none of them touch. They compose well.
  • One tool. No 50K-token schema dump. The entire tool surface is four optional strings.
  • Real provenance. Every lens cites its source — the talks, books, and papers the industry actually runs on. No invented frameworks.
  • Secure by design. stdio-only transport — no network, no open ports. Analytics are local JSON files (~/.gamecodex/analytics/), never uploaded.

Development

git clone https://github.com/sbenson2/GameCodex.git
cd GameCodex
npm install
npm run build
npm test

Runtime dependencies: @modelcontextprotocol/sdk and zod. Nothing else.

See SPEC.md for the v2 architecture and lens content rules, and SECURITY.md for the security policy.

Upgrading from 1.x: v2.0.0 removed the project/design/docs/build/meta tools — the lens is the product now. [email protected] is the final release of the old five-tool surface if you depend on it.

Contributing

Found a bug, a provenance error, or a doc correction? Open an issue. New lenses are welcome if they meet the content rules in SPEC.md: real, checkable provenance; original distillation; red flags in programmer terms.

License

MIT — see LICENSE.


Built for programmers who want their AI to think like a designer.