logo
Published on

I built ARCOLOGY, a cyberpunk city builder that runs in your browser

Authors
  • avatar
    Name
    Alberto Montalesi
    Twitter
This article was written with the assistance of AI.

My newest project is ARCOLOGY, a browser-based cyberpunk city builder made with Three.js.

You do not play a mayor. You play a district operator. Buildings generate credits, population, and data; infrastructure coverage throttles how much they actually produce; and three rival factions slowly push their meters around whether you like it or not. The long-term goal is to grow the district all the way up to the Arcology itself, a city-within-a-city megastructure that ends the campaign and unlocks endless play.

This game was built with a lot of AI help. I used AI coding tools heavily throughout, and I think the result is more interesting because of it, not less. More on that at the end.

ARCOLOGY gameplay at night, with neon buildings, traffic, and weather

Why I built it

I wanted to build a real-time strategy toy that ran instantly in a browser, with no download and no install, and that looked good enough to make you want to keep zooming in.

City builders are usually either huge and intimidating or shallow and forgettable. I wanted something in between: quick to start, easy to read, but with enough tension that a run could genuinely fall apart. The cyberpunk setting gave me an excuse for a dense, neon, low-poly look, and a reason for the whole thing to feel a little bit doomed.

What it is

ARCOLOGY is a low-poly 3D city builder with a PS1-inspired pixel look, a day/night cycle, and dynamic weather. Under the surface it is a small economy simulation wrapped in a card game.

The whole thing is built around three pressures that constantly pull against each other:

  • Exploit vs sustain: a profitable city still collapses if your citizens or factions spiral.
  • Spend vs earn: land, roads, upgrades, and infrastructure all compete for the same cash.
  • React vs plan: city events, disasters, and story cards keep interrupting whatever tidy build order you had in mind.
ARCOLOGY district during the dayARCOLOGY district at dusk

What is in the game

There is more content in it than a "browser game" usually implies:

  • 38 structures across four tiers, from power and network infrastructure to residential, commercial, and decorative support buildings
  • an infrastructure simulation for power, workforce, and bandwidth coverage, so placement actually matters
  • three factions (Corpos, Citizens, and Syndicate), each of which can win or destroy your run if their meter hits 0 or 100
  • 35 story cards, 12 timed city events, and 3 disaster types (fire, earthquake, flood) constantly poking at your economy
  • campaign goals per biome, with an endless mode after victory
  • autosave plus JSON import/export for local persistence

Every building you place is a small procedural Three.js mesh, and the preview art in the game's manual is rendered from those same in-game models, so the catalog always matches what you actually see on the map.

Shanty buildingNightclub buildingMega Corp Tower buildingThe Arcology megastructure

The tech behind it

The stack is deliberately lightweight:

  • Three.js for rendering, procedural building meshes, lighting, traffic, and weather
  • Vite + TypeScript for the dev server, build, and strict typing
  • Vanilla ES modules with a small event bus instead of a runtime framework
  • Vitest for fast logic regression tests, and Biome for formatting and linting

There is no backend. The entire simulation runs client-side, which is what makes it start instantly and work offline once loaded.

One thing I spent real time on was balancing. The game exports run summaries as JSON, and I used that telemetry to tune the economy and faction drift instead of guessing. That loop of playing a short run, exporting the data, adjusting the constants, and repeating is what took the game from "technically works" to actually being tense to play.

Building it with AI

ARCOLOGY was built with heavy AI assistance. I leaned on AI coding tools for a lot of the Three.js scaffolding, the procedural mesh builders, and large chunks of the simulation systems. What I did not hand off was the design: the pressures the game is built around, the economy tuning, the faction win/loss conditions, and the overall feel are decisions I made and iterated on.

The honest takeaway is that AI made it realistic for one person to ship a game with 38 buildings, a working economy, weather, disasters, and a full narrative event system in the spare time I had. It did not make the design work for me. If anything, it moved the hard part from "can I build this" to "is this actually fun," which is exactly where I wanted the effort to go.

It didn't spring out of nowhere fully formed.

Play it

No download, no install. ARCOLOGY just runs in the browser:

If you get to the Arcology megastructure, you have effectively won the campaign, and then the endless mode is where it gets mean.