You are the lead game developer, 3D artist, gameplay designer, and QA engineer for this task. Build the complete project autonomously in one continuous run. Do not stop after creating a plan, do not ask me questions, and do not wait for confirmation. Make sensible creative decisions yourself and continue until the game is working and verified.
## Goal
Create a polished browser-based 3D infinite runner inspired by the general gameplay loop of games such as Subway Surfers, but do not copy its characters, environment, branding, music, models, or artwork.
The original game concept is called **Rooftop Rush: Neo India**.
The player controls a small futuristic courier robot running endlessly across the rooftops of a colourful fictional Indian megacity. The setting should combine modern skyscrapers, rooftop gardens, solar panels, water tanks, neon Hindi-inspired signage, monsoon clouds, flying delivery drones, distant temples, and warm sunset lighting.
## Hard restrictions
* Do not use Blender.
* Do not require Blender.
* Do not use Unity, Unreal Engine, Godot, or another external game engine.
* Do not download or depend on external 3D models.
* Do not use copyrighted game assets.
* Create all characters, environments, obstacles, effects, and animations procedurally with code.
* The finished game must run locally in a normal web browser.
* Do not leave important features as TODOs or placeholders.
## Technical stack
Use:
* Vite
* React
* TypeScript
* Three.js
* React Three Fiber
* Drei
* Zustand for game state if useful
* CSS for the HUD and menus
You may install other lightweight npm packages only when genuinely helpful. Keep the architecture understandable and avoid unnecessary complexity.
If the current directory already contains a project, inspect it first and integrate carefully. Otherwise, create the complete project.
## Core gameplay
Create a three-lane infinite runner with:
* Automatic forward movement
* Smooth left and right lane switching
* Jumping
* Sliding or ducking
* Keyboard controls:
* Left/Right arrows or A/D: change lanes
* Up arrow, W, or Space: jump
* Down arrow or S: slide
* P or Escape: pause
* Touch controls using swipe gestures for mobile
* Increasing running speed over time
* Procedurally recycled track sections so the game can continue indefinitely
* Accurate but forgiving obstacle collision detection
* Gradually increasing difficulty
* Game-over state and instant restart
## Player character
Create an original friendly courier robot entirely from Three.js geometry.
It should have:
* A distinctive head, glowing eyes, compact body, arms, and legs
* A small delivery pack
* A cyan-and-orange colour scheme
* A visible running animation
* Leaning during lane changes
* Jump and landing motion
* A proper sliding animation
* A brief hit reaction
* A subtle shadow underneath
The robot must face and move in the correct direction. Its running animation should look convincing and should not resemble sliding across the ground.
Use code-based skeletal-style grouping and transform animation; no imported model is needed.
## Environment
Build an attractive stylised low-poly environment containing:
* Three rooftop running lanes
* Procedurally repeating rooftop sections
* Buildings at different heights in the distance
* Water tanks, satellite dishes, solar panels, AC units, rooftop gardens, railings, pipes, and billboards
* Moving clouds and distant flying drones
* Warm sunset sky with light atmospheric fog
* Neon signs using fictional text and symbols
* Parallax movement to enhance the sensation of speed
* Variation between track sections so repetition is less obvious
Prevent visible gaps between recycled track sections.
## Obstacles
Include several clearly different obstacles requiring different reactions:
* Low AC units that must be jumped
* Overhead pipes or signs that require sliding
* Large water tanks that block an entire lane
* Moving cleaning robots
* Broken rooftop gaps with safe jump ramps
* Drone barriers that move between lanes
Generate fair obstacle patterns. Never create an unavoidable combination. Give the player enough reaction time, especially at the start.
## Collectibles and power-ups
Add glowing energy cells arranged in satisfying lines and arcs.
Include at least three power-ups:
1. **Magnet** – attracts nearby energy cells
2. **Shield** – protects the player from one collision
3. **Overdrive** – temporarily increases speed, gives invulnerability, and adds a stronger visual effect
Power-ups should have visible pickup effects, duration indicators, and clear feedback when they end.
## Scoring and progression
Implement:
* Score based on distance
* Energy-cell counter
* Current speed or level indicator
* Combo multiplier for collecting consecutive cells without missing
* High score saved with `localStorage`
* Difficulty progression based on distance travelled
* A small milestone notification every 500 metres
## Visual polish
Add:
* Respon…You are the lead game developer, 3D artist, gameplay designer, and QA engineer for this task. Build the complete project autonomously in one continuous run. Do not stop after creating a plan, do not ask me questions, and do not wait for confirmation. Make sensible creative decisions yourself and continue until the game is working and verified.
## Goal
Create a polished browser-based 3D infinite runner inspired by the general gameplay loop of games such as Subway Surfers, but do not copy its characters, environment, branding, music, models, or artwork.
The original game concept is called **Rooftop Rush: Neo India**.
The player controls a small futuristic courier robot running endlessly across the rooftops of a colourful fictional Indian megacity. The setting should combine modern skyscrapers, rooftop gardens, solar panels, water tanks, neon Hindi-inspired signage, monsoon clouds, flying delivery drones, distant temples, and warm sunset lighting.
## Hard restrictions
* Do not use Blender.
* Do not require Blender.
* Do not use Unity, Unreal Engine, Godot, or another external game engine.
* Do not download or depend on external 3D models.
* Do not use copyrighted game assets.
* Create all characters, environments, obstacles, effects, and animations procedurally with code.
* The finished game must run locally in a normal web browser.
* Do not leave important features as TODOs or placeholders.
## Technical stack
Use:
* Vite
* React
* TypeScript
* Three.js
* React Three Fiber
* Drei
* Zustand for game state if useful
* CSS for the HUD and menus
You may install other lightweight npm packages only when genuinely helpful. Keep the architecture understandable and avoid unnecessary complexity.
If the current directory already contains a project, inspect it first and integrate carefully. Otherwise, create the complete project.
## Core gameplay
Create a three-lane infinite runner with:
* Automatic forward movement
* Smooth left and right lane switching
* Jumping
* Sliding or ducking
* Keyboard controls:
* Left/Right arrows or A/D: change lanes
* Up arrow, W, or Space: jump
* Down arrow or S: slide
* P or Escape: pause
* Touch controls using swipe gestures for mobile
* Increasing running speed over time
* Procedurally recycled track sections so the game can continue indefinitely
* Accurate but forgiving obstacle collision detection
* Gradually increasing difficulty
* Game-over state and instant restart
## Player character
Create an original friendly courier robot entirely from Three.js geometry.
It should have:
* A distinctive head, glowing eyes, compact body, arms, and legs
* A small delivery pack
* A cyan-and-orange colour scheme
* A visible running animation
* Leaning during lane changes
* Jump and landing motion
* A proper sliding animation
* A brief hit reaction
* A subtle shadow underneath
The robot must face and move in the correct direction. Its running animation should look convincing and should not resemble sliding across the ground.
Use code-based skeletal-style grouping and transform animation; no imported model is needed.
## Environment
Build an attractive stylised low-poly environment containing:
* Three rooftop running lanes
* Procedurally repeating rooftop sections
* Buildings at different heights in the distance
* Water tanks, satellite dishes, solar panels, AC units, rooftop gardens, railings, pipes, and billboards
* Moving clouds and distant flying drones
* Warm sunset sky with light atmospheric fog
* Neon signs using fictional text and symbols
* Parallax movement to enhance the sensation of speed
* Variation between track sections so repetition is less obvious
Prevent visible gaps between recycled track sections.
## Obstacles
Include several clearly different obstacles requiring different reactions:
* Low AC units that must be jumped
* Overhead pipes or signs that require sliding
* Large water tanks that block an entire lane
* Moving cleaning robots
* Broken rooftop gaps with safe jump ramps
* Drone barriers that move between lanes
Generate fair obstacle patterns. Never create an unavoidable combination. Give the player enough reaction time, especially at the start.
## Collectibles and power-ups
Add glowing energy cells arranged in satisfying lines and arcs.
Include at least three power-ups:
1. **Magnet** – attracts nearby energy cells
2. **Shield** – protects the player from one collision
3. **Overdrive** – temporarily increases speed, gives invulnerability, and adds a stronger visual effect
Power-ups should have visible pickup effects, duration indicators, and clear feedback when they end.
## Scoring and progression
Implement:
* Score based on distance
* Energy-cell counter
* Current speed or level indicator
* Combo multiplier for collecting consecutive cells without missing
* High score saved with `localStorage`
* Difficulty progression based on distance travelled
* A small milestone notification every 500 metres
## Visual polish
Add:
*…