Client City: a walkable 3D portfolio city built with Three.js

Our portfolio is a small mountain town you walk through in the browser. Each house is a client’s live website, built in that client’s own style: a snowy log cabin for a Christmas shop, a golden saucer for a galactic calendar, an A-frame chapel by a lake, an adobe market and more.

Walk it: Client City — The Bailey Perspective

Case study: Case Study: Client City, a Walkable 3D Portfolio in Three.js

Under the hood (all Three.js, no plugins):

  • Heightmap terrain with CC0 PBR materials blended by a splat map
  • Instanced pine forest, a river and a stone bridge at the gate
  • Road-following fast travel, a compass bar, signposts and place banners
  • A lower-detail phone mode that cuts tree counts and texture sizes

It went through six versions in a week: a street, a ring village, a long valley, and finally a compact town square. Walking the valley showed that spreading the buildings out hid the work, so the final layout keeps every house within a minute of the gate.

Feedback is welcome, especially on mobile performance.

Update: I open-sourced the engine behind Client City as Walkable City (MIT). One HTML file, no build step, nine building styles, procedural valley, phone joystick. Fork it and put your own projects in the town.

Code: GitHub - freak419/walkable-city: A walkable 3D town at sunset where every project is a building. Single-file Three.js template, no build step, phone-friendly. MIT. · GitHub

Live demo: Walkable City: Open-Source Three.js Portfolio Town | The Bailey Perspective