A modern, browser-based tribute to the classic Atari 2600 game "River Raid" with innovative gameplay mechanics and dynamic scrolling technology.
River Raid JS brings the beloved classic arcade shooter to modern web browsers with respect for the original while introducing compelling new mechanics. Navigate through dynamic river environments, manage fuel strategically, and experience the innovative scrolling system that shifts between vertical and horizontal gameplay.
- ๐น๏ธ Faithful Core Gameplay: Classic shoot-and-refuel mechanics that made the original addictive
- ๐ Dynamic Scrolling System: Revolutionary transitions between vertical and horizontal scrolling sections
- โฝ Fuel-to-Speed Mechanics: Strategic fuel management directly affects your maximum speed
- ๐ฃ Score-as-Currency: Spend points to purchase extra bombs for challenging situations
- ๐ฑ Cross-Platform: Optimized for both desktop and mobile browsers
- ๐ฏ 60 FPS Performance: Smooth gameplay on average consumer hardware
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Node.js 18+ (for development)
# Clone the repository
git clone https://github.com/yourusername/bmad-method-riverraid.git
cd bmad-method-riverraid
# Install dependencies
npm install
# Start development server
npm run devThe game will be available at http://localhost:3000
# Create production build
npm run build
# Preview production build
npm run previewDesktop:
- Arrow Keys / WASD: Navigate your jet
- Spacebar: Fire weapons
- B Key: Use screen-clear bomb (limited quantity)
- X Key: Purchase extra bomb (costs score points)
Mobile:
- Touch Controls: Tap and drag to move
- Tap: Fire weapons
- Bomb Button: Use screen-clear bomb
- Buy Button: Purchase extra bomb
Fly through the river, destroy enemy ships and helicopters, avoid crashing into riverbanks, and manage your fuel carefully. Refuel at fuel depots to continue your journey. Experience dynamic gameplay as the perspective shifts between vertical and horizontal scrolling sections.
| Category | Technology | Version | Purpose |
|---|---|---|---|
| Language | JavaScript (ES6+) | ES2022 | Core game logic |
| Game Engine | Phaser | 3.70.0 | 2D rendering and physics |
| Build Tool | Vite | 5.2.0 | Development and bundling |
| Testing | Vitest | 1.6.0 | Unit testing |
| E2E Testing | Playwright | 1.44.0 | Automated testing |
| CI/CD | GitHub Actions | - | Deployment pipeline |
| Hosting | Vercel | - | Static hosting |
bmad-method-riverraid/
โโโ src/ # Source code
โ โโโ scenes/ # Phaser game scenes
โ โโโ entities/ # Game objects (Player, Enemies, etc.)
โ โโโ systems/ # Game systems (Physics, Audio, etc.)
โ โโโ utils/ # Utility functions
โโโ assets/ # Game assets
โ โโโ sprites/ # Image assets
โ โโโ audio/ # Sound effects and music
โ โโโ fonts/ # Font files
โโโ docs/ # Project documentation
โโโ tests/ # Test files
โโโ public/ # Static public files
โโโ dist/ # Build output (generated)
- Feature Development: Create feature branches from
main - Testing: Write unit tests for new functionality
- Code Quality: Follow the coding standards in
docs/architecture/coding-standards.md - Documentation: Update relevant documentation
- Pull Request: Submit PR with clear description and testing notes
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run test # Run unit tests
npm run test:e2e # Run end-to-end tests
npm run lint # Run code linting
npm run format # Format code with Prettier- ESLint: Enforces code style and catches errors
- Prettier: Automatic code formatting
- Vitest: Unit testing framework
- Playwright: End-to-end testing
- Project foundation and tooling setup
- Basic Phaser game structure
- Player jet movement and controls
- Enemy spawning and AI
- Collision detection system
- Fuel management system
- Dynamic scrolling transitions
- Score and bomb purchasing system
- Audio integration
- Mobile touch controls
- Performance optimization
- Turret bonus stage
- Online leaderboards
- Additional enemy types
- Environmental hazards
- Campaign mode with levels
- Boss battles
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Follow the coding standards in
docs/architecture/coding-standards.md - Write tests for your changes
- Commit using our commit convention
- Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Project Brief: Complete project overview and goals
- Architecture: Technical architecture and design decisions
- PRD: Product Requirements Document
- Coding Standards: Development guidelines
- Development Workflow: Process documentation
- Player Count: 1,000 unique players (first month)
- Session Duration: 10+ minutes average
- Retention Rate: 15% day-1 retention
- Performance: Consistent 60 FPS gameplay
This project is licensed under the MIT License - see the LICENSE file for details.
- Original "River Raid" game by Activision (1982)
- Phaser community for excellent documentation
- Retro gaming community for inspiration and feedback
River Raid JS - Bringing classic arcade action to the modern web ๐โจ