A 3D Infinite Town Experience built using Three.js, featuring customizable Blender assets, realistic directional lighting & cloud system, thunderstorms and raining effects with dynamic shadow mapping, and reflective puddles across the roads.
Infinity Town simulates a visually immersive 3D city that extends endlessly as the player moves forward.
The environment blends handcrafted 3D assets with advanced lighting, weather and reflection effects to create an atmospheric evening urban world directly inside the browser.
- Customizable Blender 3D assets integrated into the scene.
- Infinite city effect through object recycling and movement logic.
- Dynamic weather system with clouds, thunderstorms & rainfall.
- Directional lighting that simulates realistic evening lighting.
- Realtime shadow mapping for buildings, streets and moving elements.
- Reflective puddles on the roads for added realism.
- Extended render/view distance for large-scale visibility.
- Optimized for stable performance in real-time rendering.
- Clone the repository
git clone <https://github.com/deepcodess/Infinity-Town.git>
- Navigate to the folder
cd infinity-town - Install dependencies
npm install
- Start the development server
npm run dev
-
Clone the repository
git clone <https://github.com/deepcodess/Infinity-Town.git>
-
Navigate to the folder
cd infinity-town -
Launch a local HTTP server via Live Server / Python / Node http-server
Python
python -m http.server 8080
or
py -m http.server 8080
Node http-server
npm install -g http-server http-server -p 8080
-
Open in browser:
http://localhost:8080
- Created and optimized Blender 3D asset models for real-time rendering.
- Integrated assets into Three.js using GLTFLoader with accurate scaling and placement.
- Implemented dynamic weather system with clouds, rainfall & thunderstorms.
- Added directional lighting setup for evening ambiance.
- Enabled individual dynamic shadow maps for improved scene realism.
- Added reflective puddles using custom shader materials.
- Extended render range for expanded visible world.
- Optimized 3D assets and rendering logic for stable performance.
- Prepared report documentation describing the workflow, methodology, contribution and system features.
- Designed and updated the frontend UI elements using HTML & CSS for better user presentation.
- Created a project PPT for structured presentation and demonstration of the system.
| Technology | Purpose |
|---|---|
| Three.js | 3D rendering & scene logic |
| Blender | 3D modeling & asset creation |
| JavaScript | Core logic & weather interactions |
| GLSL Shaders | Rain, reflection & light effects |
| GLTF/GLB | Asset loading format |
This project is released under MIT License, allowing full permission to use, copy, modify, merge, publish, distribute, sublicense, and/or sell the software and its documentation — provided that the original copyright notice and this permission notice are included in all copies or substantial portions of the software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@DeepCodess @Swarrrrovski @MajumdarPreetam @SHREYASHIRAJ @rahull79

