Project
Node Kingdom
A browser-based factory and city-building prototype about constructing production networks from directly connected nodes.
Node Kingdom is a browser-based factory and city-building prototype centred on constructing and tuning production networks. Players place buildings freely on a grid, select what each building should produce, and connect compatible outputs directly to inputs.
The project explores how much depth can emerge from a deliberately constrained production system. It does not currently simulate conveyor belts, roads, pipes, pathfinding, or transport distance. Instead, the production graph itself is the game space: its structure, bottlenecks, storage limits, recipe choices, and upgrade decisions are made directly visible.
The central rule
Every recipe-based building has one active output at a time. A crafting building may offer several recipes, but only one can be active. The selected recipe determines which inputs the building requires, which ports appear, and what it produces.
Connections are similarly strict: one output feeds one input, and resource types must match. Changing a recipe clears the affected connections because the meaning of the building’s ports has changed. These constraints keep individual nodes readable while still allowing increasingly complex production chains.
Markets are the exception. They act as sink nodes, accepting supported trade goods and converting them into money when worked.
What is currently playable
The prototype already includes:
- free grid placement and movement of buildings;
- producer, crafter, market, and knowledge-producing buildings;
- selectable recipes and resource-specific ports;
- visible resource flow through direct connections;
- storage capacities and production bottlenecks;
- manual production as an early-game constraint;
- managers that automate assigned buildings;
- goals and production milestones;
- a capability-based technology tree;
- permanent building-type upgrades;
- grid expansion, camera movement, and zoom;
- compact Gold, Silver, and Copper currency;
- saving, loading, and resetting through browser storage.
The opening begins with a pre-placed Sawmill containing enough Wood to produce a first Plank. That initial transformation gradually reveals the building catalogue, market access, resource production, and the technology tree. Manual work provides the initial friction; managers and efficiency upgrades begin the transition from operating individual buildings to designing a production system.
Technical approach
Node Kingdom currently runs directly in the browser without a framework or runtime dependency. Its JavaScript is divided into modules for state, simulation, rules, rendering, input, the world, camera behaviour, persistence, and view models.
Game content is kept separately in JSON files. Items, buildings, recipes, technologies, goals, upgrades, managers, unlock relationships, and the starting state can therefore be changed without rewriting the simulation itself. A validation layer checks references and content structure before the game starts, while focused hardening tests cover important rules and progression states.
This separation is intentional: the project is as much an exploration of content-driven game design and understandable systems as it is an implementation exercise.
Current status
Node Kingdom is a playable prototype, not a finished game. The production graph, progression structure, automation layer, technology map, and persistence are implemented. The next design questions concern external demand, clearer bottleneck feedback, broader testing, and how much additional complexity the deliberately simple connection model can support without losing its readability.
The source code and development documentation are available on GitHub.