Unannounced Tycoon Sim
A competitive procedural tycoon sim — Townscaper-like building on an irregular grid, with Monopoly Tycoon-style rival businesses. Built on Cinder (C99/Vulkan) and Pulse (Golang/NATS).
Overview
Personal project, working title withheld until announce — a competitive procedural tycoon sim combining relaxed city building with rival businesses. Place buildings on an irregular grid, attract passing trade, and outmanoeuvre competitors. Built on Cinder (C99/Vulkan) and Pulse (Golang/NATS); deliberately not Unreal or Unity.
Problem
Off-the-shelf engines fight the specific blend of procedural layout, economic simulation, and rendering control I want. Contract work funds the project, but the architecture needs to stay small, legible, and mine.
Constraints
- Solo developer — scope must stay disciplined
- Solo project alongside ongoing contract work through Hidden Bridge
- Custom tech only where it earns its keep
Approach
Three components: Cinder for rendering, Pulse for multiplayer-ready room abstraction over NATS JetStream, and the game itself for procedural building and simulation.
Key Decisions
Custom C99/Vulkan renderer (Cinder) instead of a commercial engine
Full control over pipeline and iteration. Vulkan 1.3 with Slang shaders; the API surface stays minimal — describe pipelines programmatically, render.
- Unreal or Unity
- Godot
Pulse — room abstraction over NATS JetStream
Reuses patterns from contract backend work. Pub/sub with durable streams; rooms as a thin layer for future multiplayer and tooling.
- Dedicated game server with custom TCP protocol
- Off-the-shelf multiplayer SaaS
Irregular grid procedural building
Townscaper proved the pleasure of low-friction placement; Monopoly Tycoon proved competitive sim depth. The combination is the product.
- Traditional rectangular grid
- Pure sandbox without economic competition
Tech Stack
- C99
- Vulkan 1.3
- Slang
- Golang
- NATS JetStream
Result & Impact
- Cinder — C99 / Vulkan 1.3Renderer
- Pulse — Golang / NATSBackend
In active development. Cinder handles rendering experiments; Pulse prototypes session and room semantics; the building system explores irregular-grid placement rules. Intended as the game I want to play and the tech stack I want to maintain.
Learnings
- Building your own engine is viable when the game design demands rendering control
- Backend abstractions from contract work transfer directly to game infrastructure