City Blocks

A cozy 3D merge-puzzle city builder — 11 hand-built Three.js worlds inside React Native.

CategoryGames
Timeline2026
ContextProduct build · Solo
StatusFeature-complete · CI ships APKs on every push
City Blocks island — Desert Sands
45klines of TypeScript
358engine test cases
11themed 3D worlds
61sounds — all procedurally generated

The product

Merge three buildings into the next tier and grow a floating island from campsite to world capital — rendered as a living Monument-Valley-style diorama with day cycles, fog and per-world ambient systems.

Under the cozy surface is serious engineering: a pure-TypeScript game engine with 358 tests and zero React imports, procedural low-poly building geometry where each building is a single draw call, seeded deterministic RNG for fair daily challenges, and 61 sound effects synthesized entirely from one script — no licensed assets anywhere.

Under the hood

THE ENGINEERING

  • 01

    Pure engine/render split: game logic is 100% unit-tested TypeScript with no React Native dependencies

  • 02

    11 biomes, each a distinct ~1,500-line Three.js world sharing one config-driven architecture

  • 03

    Procedural building geometry — 10 tiers with doors, balconies and domes, one draw call each

  • 04

    Every sound procedurally synthesized: 61 WAVs from a 57 KB script, zero audio licences

  • 05

    GitHub Actions builds and publishes an installable APK on every push

Next case study

Polestark