Skip to content

jstrait/city-tour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,510 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

City Tour

Visit a procedurally generated city, different each time. Sit back and enjoy the ride!

https://www.joelstrait.com/citytour/

Made using three.js and WebGL.

How It Works

First, blueprints of the world are generated:

  • A terrain map
  • A road network that follows the terrain
  • Empty building lots along roads
  • Buildings in the lots

The results are different each time due to random variation, but follow configurable rules.

Next, this abstract definition is turned into a 3D model that can be rendered with WebGL, with the help of three.js.

Once this is all created, you can move around the city using touch gestures (mobile) or the mouse (desktop). Navigation works similar to Google/Apple Maps. You can also click the "Take a Tour" button to go on an automatic flight/drive through the city.

Running Locally

  • If running the app locally for the first time, run yarn install
  • Run yarn serve, which will build the app in-memory, and serve it using a local development server
  • Open one of the URLs listed in the command-line output in your browser
  • While the server is running the app will automatically be rebuilt each time the site is reloaded in the browser

Building For Production

  • If building the app for the first time, run yarn install
  • Run yarn build
  • The dist/ folder will contain the files that should be deployed to production

Running Tests

  • yarn test

About

A procedurally generated city built with WebGL and three.js

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors