An open-source TypeScript implementation of the Three.js Infinite City demo. This project closely replicates the core logic and algorithmic brilliance of the original InfiniTown while enhancing camera control, animation, car interaction, and scene rotation features. It is also built using the latest version of the Three.js engine.
Visit the original InfiniTown demo by Little Workshop
🔗Try the open-source TypeScript version of InfiniTown
git clone https://github.com/osoker/InfiniTownTS.git
cd InfiniTownTS
npm install
npm run dev
npm run build
The production-ready files will be located in the dist/ directory and can be deployed to any static server or GitHub Pages.
InfiniTownTS/
├── docs/ # Static files for GitHub Pages
├── dist/ # Build output
├── src/ # TypeScript source code
│ ├── core/ # Core logic for infinite city generation
│ └── main.ts # Entry point
├── public/ # Static assets
├── package.json
└── README.md
- Three.js:WebGL rendering engine
- TypeScript:A statically typed superset of JavaScript
- TWEEN.js:Tweening animation library
- ✨ Infinite city algorithm with dynamic loading and unloading of city blocks
- 🧭 Camera orbit and focus control using OrbitControls
- 🔧 TypeScript class-based architecture to help you better understand how InfiniTown works
- 📮 Email:osoker008@gmail.com