A modern web-based recreation of Nokia's classic Bounce game from 2001, using Three.js for 3D rendering and Cannon.js for physics simulation
This project aims to recreate the nostalgic Nokia Bounce game with modern web technologies. The original game was a platformer where players controlled a red ball through side-scrolling levels, navigating through hoops while avoiding obstacles like spikes and moving enemies
- 3D graphics rendered with Three.js
- Realistic physics simulation using Cannon.js
- Responsive design for both desktop and mobile
- Classic game mechanics:
- Ball physics (bouncing, rolling)
- Obstacles and platforms
- Hoops to collect
- Lives system
- Checkpoints
- Power-ups:
- Enlarge spike (makes ball bigger and blue, floats on water)
- Shrink spikes (returns ball to original size)
- Speed box (temporarily increases ball speed)
- Anti-gravity spike (allows ball to fly)
- Initialize project with necessary dependencies
- Set up Three.js scene, camera, and renderer
- Create basic HTML/CSS structure
- Set up Cannon.js physics world
- Create the ball with basic physics properties
- Implement simple platform for testing
- Implement ball movement controls
- Add collision detection
- Create basic level structure
- Implement lives system and checkpoints
- Add obstacles (static and moving)
- Implement hoops and level completion logic
- Create water areas with appropriate physics
- Add power-ups with their effects
- Design and implement game UI
- Add sound effects
- Create level transitions
- Implement score system
- Add visual effects and polish
- Clone the repository:
git clone https://github.com/yourusername/nokia-bounce-game.git
cd nokia-bounce-game
- Install dependencies:
npm install
- Run the development server:
npm start
- Open your browser and navigate to
http://localhost:8080
index.html
- Main HTML filecss/style.css
- Styling for the gamejs/
- JavaScript source filesmain.js
- Entry point for the gamegame.js
- Main game logicrenderer.js
- Three.js rendering setupphysics.js
- Cannon.js physics implementationball.js
- Ball character implementationlevel.js
- Level creation and managementui.js
- User interface handling
To deploy to GitHub Pages:
npm run deploy
- Original game by Nokia (2001)
- Three.js for 3D rendering
- Cannon.js for physics simulation
MIT