Crowns & Commons

Crowns & Commons architecture

The server, bots, and test evidence

Playable prototype

The server validates actions and owns game state. Human clients and bots work within those rules.

Visit the game site
Role
Game design & AI-assisted development
Focus
Multiplayer strategy & shared economies
Stage
Playable prototype

The project

The application separates an independently buildable static JavaScript frontend from a Node.js backend connected through WebSockets. The backend manages instanced, in-memory lobbies, reconnect tokens, turn order, and game state. A public room directory, unlisted rooms, invite-only rooms, expiring and revocable invitations, and quick matching support different ways to gather players.

Bots use bounded planning with time and node budgets, plus a heuristic fallback. They receive privacy-filtered observations and follow the same gameplay rules as humans. Turn-based bot actions are paced so players can follow what happened rather than seeing an entire sequence resolve at once.

The frontend uses AWS Amplify. The backend runs on a single-instance Elastic Beanstalk deployment with Route 53 DNS and nginx TLS with certificate renewal. Development and production have separate routing. Active rooms and reconnect tokens are volatile: restarting the backend clears them. Accounts, persistent rankings, ban lists, and shared state across multiple backend instances are outside the current implementation.

The October 9, 2026 release candidate passed 912 source tests: 693 backend and 219 frontend. Its packaged backend also passed 693 tests and 16 production TLS checks, with 11 additional production-routing tests. These are results from that release candidate, rather than a claim about every later revision.

Validation also included a two-tab create, join, and leave check on the public development site, six local load scenarios, paired seeded bot simulations, and hands-on opening tests. The load scenarios included 25 rooms with 50 human connections and 100 bots, as well as a 100-room, 400-socket admission-cap scenario.

Those checks support functional and regression confidence within the tested conditions. Local load tests do not establish AWS production capacity, and internal playtests do not establish human balance or broad usability. At the October 9 snapshot, the tested work had reached the repository's main branch, but the new-domain frontend and backend cutover still needed end-to-end verification.

A longer-session mode influenced by Neptune's Pride is a future direction using the same base game with different strategic tuning. Persistent long-session play is not implemented. The near-term focus is a feature freeze and external play feedback.

01

The challenge

Keep multiplayer state authoritative and bot behavior bounded while maintaining readable play and clear evidence about what has been tested.

02

The approach

Validate rules on the backend, limit bot planning work, filter observations by player visibility, and test the packaged deployment as well as the source.

Continue exploring

Complete production cutover verification and gather external play feedback before expanding the feature set.

Return to the Crowns & Commons overview