Skip to main content

Full game

Goal​

Combine all chapters into one shippable game.

Checklist​

  • Auto guest auth on load
  • App-scoped token minted after auth, refreshed before expiry
  • UDP connected and subscribed
  • Mouse moves local dot; remote dots visible
  • Click paints with color palette
  • Paint hydrates on join and persists on reload
  • Viewport scrolls at edges
  • Collaborative push from multiple players
  • Status panel: user, peers, net push, event log

Stack summary​

LayerIn this tutorialIn The Construct
ShellVite + TypeScriptVite + TypeScript, GameScene adapter
RenderingRaw canvas 2Dpixi.js (Paint) and three.js (hub)
Backend I/OCrowdyJS → the GraphQL API directlyCrowdyJS + World Stores
PersistenceVoxel updates via the UDP proxyChunk store write-back (markDirty → chunks.update)

Next steps​

  • Clone The Construct and compare its PaintScene with what you built — then replace it with your game (docs/NEW-GAME-CHECKLIST.md).
  • Host it on a static host of your own, with the headers CLIENT mods and the Studio agent need. Crowded Kingdoms does not host games.
  • Extend with chat (sendTextPacket), larger palette, or zoom.