Files
playableintelligence__game-…/tests/flows/03-monetize-with-playfun.md
rshtirmer eaa818074e refactor: unify site build + consolidate folder structure
Reduce top-level directories from 19 to 14 and unify the two
disconnected site pages into a single build script.

Site unification:
- gallery/ → site/ (manifest.json, build.js, thumbnails/, telemetry/)
- New unified site/build.js generates both _site/index.html (landing)
  and _site/gallery/index.html (gallery) with shared CSS, nav, footer
- Landing page game cards are now data-driven from manifest (no drift)
- Optional benchmarks section renders when site/benchmarks.json exists
- npm run build:site produces the whole _site/

Directory consolidation:
- character-library/ + 3d-character-library/ → assets/characters/ + assets/3d-characters/
- evals/ → tests/ (trigger files, flows, README)
- docs/troubleshooting.md → TROUBLESHOOTING.md
- benchmarks/ deleted (empty)

All references updated across ~15 files (CLAUDE.md, skills, templates,
package.json, examples).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-13 17:14:22 -04:00

1.1 KiB

Flow Test: Monetize a Game with Play.fun

Setup

  • A deployed game with scoring (use flappy-bird example or any game with SCORE_CHANGED events)
  • Play.fun MCP server connected
  • Valid Play.fun credentials

Trigger

"Monetize my game with Play.fun"

Expected Steps

  • Checks/runs Play.fun authentication
  • Registers game via MCP (register_game tool)
  • Adds Play.fun SDK script tag to index.html
  • Creates src/playfun.js wiring EventBus score events to SDK
  • SDK integration is non-blocking (game works if SDK fails to load)
  • Anti-cheat limits set (maxScorePerSession, maxSessionsPerDay)
  • Rebuilds game (npm run build)
  • Redeploys to hosting
  • Returns play.fun URL

Success Criteria

  • Game registered on Play.fun
  • SDK loads and tracks points
  • Game still works with ad blockers (graceful degradation)
  • Anti-cheat values are reasonable for the game's scoring system
  • 0 failed API calls

Known Constraints

  • Requires valid Play.fun credentials
  • launch_playcoin requires dashboard (not MCP) — skill should direct to dashboard