http://dimbadimba.com/
A fast-paced endless runner game built with vanilla JavaScript and HTML5 Canvas.
Pixel Runner is an addictive endless runner where you control a character jumping over obstacles and collecting coins for points. The game gets progressively harder as your score increases, with the game speed gradually increasing.
- Simple, addictive gameplay
- Pixel art graphics created dynamically in JavaScript
- Progressive difficulty
- Score tracking with local storage for high scores
- Responsive design that works on mobile and desktop
- Smooth animations and collision detection
- Game pause functionality
- Click the "START GAME" button to begin
- Press SPACE bar to jump over obstacles
- Collect yellow coins for bonus points
- Press P to pause the game at any time
- The game ends when you hit an obstacle
- SPACE / Touch: Jump
- P: Pause/Resume game
- HTML5
- CSS3
- JavaScript (ES6+)
- HTML5 Canvas for rendering
- Local Storage API for saving high scores
Simply open the index.html
file in a web browser to play the game.
No dependencies or build process required!
The game is built using vanilla JavaScript without any external libraries or frameworks. All game elements, including the pixel art graphics, are generated dynamically using the HTML5 Canvas API.
Feel free to modify and extend the game with new features!
A browser-based pixel runner game with day/night modes, parallax backgrounds, and mobile support.
- Simple pixel art graphics
- Day and night game modes with different visuals
- Parallax backgrounds for depth effect
- Obstacle variety with different shapes and sizes
- Mobile support with touch controls
- Progressive Web App (PWA) compatibility
- Endless runner gameplay with dimbadimba character
- Obstacle avoidance and coin collection
- Responsive design for all screen sizes


- Node.js and npm installed
- Clone the repository
- Install dependencies:
npm install
This project uses Jest for unit and regression testing. The tests ensure that game functionality works correctly and that new changes don't break existing features.
To run all tests:
npm test
To run tests in watch mode (for development):
npm run test:watch
To generate a test coverage report:
npm run test:coverage
Tests are organized by feature area:
tests/game.test.js
- Core game functionality teststests/background.test.js
- Parallax background teststests/obstacles.test.js
- Obstacle creation and behavior teststests/mobile.test.js
- Mobile support and touch control teststests/audio.test.js
- Game audio system tests
Before making changes to the codebase, always run the tests to ensure everything is working properly:
- Make sure all tests pass with
npm test
- Make your changes
- Run tests again to verify your changes don't break existing functionality
- Add new tests for any new features you implement
- Press SPACE to jump (or tap the screen on mobile)
- Press P to pause the game
- Avoid obstacles and collect coins to increase your score
- Clone this repository
- Open index.html in your browser to play the game locally
- Make changes to HTML, CSS, or JS files and refresh to see updates
index.html
- Main game HTML structurestyle.css
- Game styling and responsive designscript.js
- Game logic and mechanics