CHICKENS MUST DIE / SOURCE CODE

Multiplayer
Starter Kit.

You bring the game ideas. I'll bring the server.

A complete starting point for your next multiplayer project. Get the Godot 4 client, authoritative Colyseus server, and backend infrastructure. Built to work together, ready for you to explore and extend.

$39 launch price All future updates included

Source code. Real development required. Poultry optional.

starter-kit / manifest.txt
00

YOUR NEXT PROJECT

Three layers. One codebase.
  1. 01

    Game client

    Godot 4 / GDScript

    Input, connection, presentation.
  2. 02

    Authoritative backend

    Colyseus / TypeScript

    Intent in. Validated state out.
  3. 03

    Infrastructure & tools

    Docker / PostgreSQL / Redis / RabbitMQ

    The machinery keeping everything connected.

v1.0 · Preparing for release

CLIENT → INTENT → SERVER → STATEPlay the demo ↓

02 / LIVE DEMO

Less theory. More chickens.

The code is real. The chickens are real-ish. Try the browser demo and see the multiplayer foundation in action.

chickens.exe / browser buildUSER-INITIATED ONLY
Chickens Must Die title screen with a pixel village, Start button, and game menu.
Nothing loads until you press play.

Demo is stopped. No game resources loaded.

Open in a new tab ↗

This demo is designed for desktop play. Touch controls aren't supported yet, so grab a keyboard for the full chicken experience.

Starting the demo connects to the game host and may cache game files in your browser. It does not change your optional cookie preferences. You can stop the demo at any time. If it does not start, try a new tab.

03 / WHAT'S IN THE PACKAGE?

One kit. Three moving parts.

A working multiplayer foundation, from the game on your screen to the services running behind it. Pick a layer and take a closer look.

01

Multiplayer Backend

An authoritative Colyseus server that handles player connections, movement, collisions, game state, and more. Built with clear module boundaries, so you can extend the game without turning everything into spaghetti.

  • Node.js
  • TypeScript
  • Colyseus
Explore the backend
02

Infrastructure & Tools

The behind-the-scenes machinery: databases, caching, message queues, Docker deployment, and developer tools. Everything wired together, with room to add your own services as the project grows.

  • PostgreSQL
  • Redis
  • RabbitMQ
  • Docker
Inspect the infrastructure
03

Godot Client

The playable side of the project. A Godot 4 client with multiplayer networking, player movement, state synchronization, animations, and game UI. Explore the code, swap the chickens, and make it your own.

  • Godot 4
  • GDScript
Meet the client

04 / ARCHITECTURE OVERVIEW

Client sends intent.
Server decides what happens.

Transport gets messages to the right place. Gameplay systems decide whether those messages make sense.

Godot ClientDirection flags + input sequence
NginxHTTP proxy + WebSocket upgrade
ColyseusRoom discovery + transport

WebSocket messages ↓   /   ↑ state patches

SERVER PROCESS / dependencies wired before listening

GameApplicationComposition root · config · constructor injection · startup / shutdown
GameRoomLifecycle, validated handlers, input buffer
Authoritative SystemsMovement → position guard → seeds → player eating
Infrastructure ServicesSQL query port · Redis commands · EventPublisher
Ports injected into modules
Map world shared; systems per room

↳ State patches + server messages → Godot Client

GameApplication wires dependencies; it is not a message hop. Gameplay state is in memory. The infrastructure ports are available to modules, not a claim that each game tick writes to a database.

05 / MULTIPLAYER BACKEND

A backend with visible seams.

Follow a message from the socket to the simulation. Add your rules where they belong.

01 / app / core / features

Architecture & modules

One composition root. Ordinary constructors. No DI container to negotiate with.

  • Explicit composition

    Documented

    GameApplication constructs configuration, infrastructure, game, rate limiting, health, Colyseus, and HTTP modules.

  • Ports and adapters

    Documented

    Features depend on small interfaces. SqlQueryExecutor, RedisCommandExecutor, and EventPublisher keep concrete libraries outside domain logic.

  • Controlled lifecycle

    Documented

    The map loads before the first room. Failed infrastructure startup closes opened resources rather than accepting connections.

  • Your own modules

    Extension point

    Register IGameFeature / ISystem implementations in the room runtime. InventoryModule in the developer guide is an example to implement, not a shipped inventory system.

02 / features / simulation

Authoritative gameplay

Position, collisions, growth, and respawn belong to the server.

  • Free + grid movement

    Documented

    Free movement normalizes diagonals and slides along walls. Grid movement validates each route and prevents diagonal corner cutting.

  • Collision world + safe spawn

    Documented

    Map bounds, spatial buckets, and mass-aware colliders constrain movement. The position guard restores the last legal position; spawn fails explicitly if no safe point exists.

  • Collectibles + player mass

    Documented

    Seeds are collected once and replaced. Growth is rejected if the larger collider would overlap a wall.

  • Player eating + respawn

    Documented

    The server checks mass difference, collision, room for growth, and safe respawn before committing the result. No safe respawn means no eating transaction.

03 / rooms / schema / messages

Realtime networking

A defined contract between Godot and the room named my_room.

  • Room lifecycle + state

    Documented

    Create, auth, join, leave, and dispose handlers manage connections. Colyseus synchronizes players and seeds; lastProcessedSeq acknowledges processed input.

  • Configuration + tick sync

    Documented

    Joining sends game_config and an initial tick. Subsequent tick_sync messages carry the server tick and time.

  • Chat + targeted events

    Documented

    chat_send is normalized, limited, and broadcast as chat_message. player_eaten is sent to the two affected players.

04 / Zod / rate limits

Validation & control

Treat input as a request, not a fact. Especially when it comes from a chicken.

  • Strict message schemas

    Documented

    A move includes seq, clientTime, and all four direction flags. Extra fields, including a client-supplied position, cause rejection.

  • Limits at the right boundary

    Documented

    HTTP and room auth use shared Redis limits. Movement and chat use per-client, in-memory limits, without a Redis round trip in the hot path.

  • Room admission, not accounts

    Extension point

    Nickname validation and uniqueness operate within a room. User accounts, token authentication, and account persistence will be included in the future release.

A SMALL MESSAGE. A CLEAR BOUNDARY.

Send intent.
Leave coordinates out.

The wire format is documented. Your client and server evolve together.

Read the protocol ↗
CLIENT → SERVER / move
{
  "seq": 42,
  "clientTime": 1789051200123,
  "input": {
    "left": false, "right": true,
    "up": false, "down": false
  }
}
No x. No y. The server calculates the position. clientTime does not drive authoritative movement.

06 / INFRASTRUCTURE & DEPLOYMENT

Outside the game loop.

The infrastructure is connected. Its boundaries are explicit. A connected database is not the same thing as a finished persistence layer.

DATABASE ADAPTER

PostgreSQL

Documented

A process-wide pg pool, generic queries, transactions, reconnect with backoff, and health checks. Ambiguous failed writes are not automatically retried.

Extension: player/domain repositories, versioned migrations, and player persistence are not implemented.

DATA + COORDINATION

Redis

Documented

An application connection for commands and shared rate limits, plus separate Colyseus Presence and Driver connections for room discovery across instances.

Boundary: multi-instance foundations, not a measured capacity guarantee. Realtime limits remain local.

EVENT PUBLISHER

RabbitMQ

Documented

A durable topic exchange and queue, persistent messages, reconnect, and publisher confirms. The EventPublisher port validates versioned JSON envelopes.

Extension: consumers, dead-letter topology, and a transactional outbox are not implemented.

LOCAL ORCHESTRATION

Docker

Documented

Compose connects the server, map compiler, PostgreSQL, Redis, RabbitMQ, and Nginx. The Dockerfile separates build, development, and production stages.

Configuration: set service credentials and environment values before running your own deployment.

HTTP + WEBSOCKET

Nginx

Documented

A reverse proxy with WebSocket upgrade, forwarded headers, buffering disabled, and long-lived connection timeouts.

Configuration: proxy trust must match your deployment. HTTP and WebSocket share the application server.

OBSERVABILITY + VALIDATION

Pino + Zod

Documented

Structured JSON logs, component loggers, HTTP request IDs, and typed environment configuration. Invalid required settings stop startup.

Scope: logging and validation primitives. No hosted monitoring service is bundled.

Health checks

GET /api/health checks map readiness, PostgreSQL, Redis, and RabbitMQ. It returns 200 only when all are ready; otherwise 503.

Graceful shutdown

The infrastructure lifecycle closes its RabbitMQ, application Redis, and SQL resources. Colyseus owns the lifecycle of its Presence and Driver connections.

Map compiler

Tiled collision rectangles become validated server JSON. MOVEMENT_MODE and GRID_SIZE must match between compiler and server.

07 / GODOT CLIENT

Your side of the screen.

A playable Godot 4 client built around the multiplayer server.

A / Source included

Client architecture

The structure behind the playable client: Godot scenes, GDScript components, shared managers, and the systems connecting them. Understand where things belong before adding something of your own.

Explore architecture
B / Source included

Networking & synchronization

Connection to the game server, send player input, and receive synchronized game state. There is the client-server contract, local and remote players, and the logic that keeps movement responsive while the server stays in charge.

Explore networking
C / Source included

Gameplay & presentation

The part where the game comes alive. Player movement, character animations, interface, audio, and visual feedback turn synchronized server data into something you can actually play.

Explore gameplay
D / Make it yours

Build your own thing

Replace the chickens, redesign the interface, or extend the gameplay. Use the developer guide and code reference to navigate the project, add new features, and keep client-server changes in sync.

Start building

Did you know? Chickens can't read.

08 / DEVELOPER EXPERIENCE

Read it. Run it. Make it weird.

A short route from the repository to your first custom feature.

  1. 01

    Get the source

    Purchase the kit and receive GitHub repository access. The exact invitation and delivery steps will be published before checkout opens.

  2. 02

    Configure & run

    Copy the environment template, set your own credentials, and start Compose. For a standalone server, provide all three infrastructure URLs.

  3. 03

    Build your own features

    Follow GameApplication to RoomRuntimeBuilder. Add a system, inject its dependencies, choose its tick order, and test the behavior.

QUICK START / game repository
# In the game source repository
cp .env.example .env
# Edit .env: replace service credentials first
docker compose up --build
From DEVELOPMENT.md. These commands belong to the purchased game repository, not this static website. Native server development requires Node.js >=24.13.0.

09 / RELEASES & ROADMAP

What you get now.
What grows next.

One purchase. Every future update included. The kit starts with a multiplayer foundation and grows with each release.

1.0 Starter Kit Foundations Preparing for release The multiplayer foundation. Where it all begins.

The first release brings together a working multiplayer game, an authoritative server, and the infrastructure behind them.

  • Authoritative gameplay: free and grid movement, collisions, safe spawn, collectibles, player growth, and player eating.
  • Realtime multiplayer: Colyseus state synchronization, player connections, chat, tick synchronization, input validation, and rate limiting.
  • Backend infrastructure: PostgreSQL, Redis, RabbitMQ publisher, Docker Compose, Nginx, and health checks.
  • Godot client: a playable multiplayer implementation with movement, networking, animations, and game UI.
  • Developer tools: Tiled map compiler, modular application architecture, and technical documentation.
1.1 World Building & Client Polish Planned Better maps, better controls, happier chickens.

Expanding the world-building pipeline and improving the overall game experience.

  • Advanced map pipeline: improved Tiled compilation and Godot rendering, including Y-sort architecture, tile handling, and dedicated documentation.
  • Multiple maps: support for different game worlds and map selection.
  • Character & skills: expanded character selection and the first implementation of a skills system.
  • Better game feel: defeat screen, growth feedback, floating indicators, and more polished UI effects.
  • Connection handling: improved reconnect and recovery flows, building on the existing basic implementation.
  • Infrastructure & mobile: RabbitMQ consumer, initial Grafana and VictoriaMetrics observability, and mobile support.
1.2 Combat & Systems Expansion Planned More systems. More players. More chicken violence.

More gameplay possibilities, new application systems, and further multiplayer improvements.

  • Heavy Metal Chicken Fight: a combat-focused game mode with character classes, skills, and fighting mechanics.
  • Inventory system: item management and a foundation for equipment-based gameplay.
  • Multiple rooms: expanded support for managing different multiplayer rooms and game sessions.
  • Transport optimization: planned uWebSockets.js integration, subject to compatibility and performance testing.
  • Multiplayer scaling: further development of the existing Redis Presence and Driver integration for multi-instance deployments.
  • Observability: expanded metrics, monitoring, and more detailed application logging.
1.3 Open World & Scalability Planned Bigger worlds. Smarter updates. More things to render.

Expanding the architecture toward larger multiplayer worlds with more entities and more efficient state distribution.

  • Area of Interest (AOI): interest-based state distribution to limit unnecessary updates between players.
  • Level of Detail (LOD): optimization strategies for handling increasingly complex game worlds.
  • Open-world architecture: expanding the project toward a larger MMO-style environment.
  • Enemy spawners: systems for spawning and managing enemies within the world.
  • Scene-based map objects: representing world objects as reusable Godot scenes.
1.4 Next-Generation Networking Experimental Exploring what comes after WebSockets.

Investigating alternative transport technologies for realtime multiplayer communication.

  • WebTransport: experimental support for HTTP/3 and QUIC, including datagram-based communication.
  • Transport evaluation: benchmarking alternatives and assessing compatibility with Colyseus and the Godot client.

ROADMAP, NOT PROPHECY

This is the current development plan, not a fixed release schedule. Features may move between versions as the project evolves. Experimental technologies depend on compatibility and testing.

Buy once, get every future release for free. No upgrade fees, even if the price increases for new buyers.

10 / TECHNICAL FAQ

Questions from the engine room.

Specific questions. Scope-aware answers.

Can the client set its own position?

No. A move sends direction flags and an input sequence. The server computes position and checks collisions. Extra position fields are rejected by the strict message schema.

Can I change the map?

Yes. Compile Tiled collision data into the server map format. The current configuration uses one map ID, default. Additional maps require extending MapId, path configuration, world initialization, and room selection.

Does the architecture support multiple instances?

Redis Presence and Driver provide the foundations for Colyseus room discovery across instances. HTTP/auth limits are shared; movement/chat limits are local to a connection. Deployment, capacity, and load testing remain your responsibility. No player-count benchmark is promised.

What does PostgreSQL do today?

It provides a pool, generic queries, transactions, reconnect, and health checks. Gameplay does not yet persist players or rooms. Domain repositories and a versioned migration runner are extension work.

What does RabbitMQ do today?

It provides a durable publishing path with confirms and reconnect. It does not include a consumer, dead-letter topology, or transactional outbox. A publish example is not a complete event-processing system.

What do I need to know before using the kit?

Expect to work with Godot/GDScript, TypeScript, and backend services. You'll configure infrastructure and adapt source code. This is neither a finished game nor a no-code product.

How do I receive the code?

Through access to the GitHub repository. The exact invitation and delivery process will be confirmed before sales open. No account system is created on this site.

Are future updates free?

Yes. Your purchase includes all future updates at no extra cost. The launch price is shown in the offer below; the price for new buyers may increase with later releases. No release dates are promised.

Can I use it commercially?

Commercial use in your own games is included. The full license, including redistribution limits and any third-party asset terms, still needs to be published before purchase.

11 / GET THE SOURCE

Your next game starts
with a source folder.

One kit. One purchase. Build something the original chicken never saw coming.

MULTIPLAYER STARTER KIT / v1.0

$39launch price / one purchase

  • Godot 4 client source
  • Authoritative TypeScript / Colyseus backend
  • Infrastructure configuration + developer tools
  • Technical documentation
  • GitHub repository access
  • Commercial use + all future updates

Coming soon — v1.0 is preparing to hatch.

All future updates included. Prices for new buyers may rise.

cookie.exe / settings