Skip to content

andrezaiats/river-raid-js

Repository files navigation

River Raid JS

A modern, browser-based tribute to the classic Atari 2600 game "River Raid" with innovative gameplay mechanics and dynamic scrolling technology.

Game Preview Tech Stack Game Engine

๐ŸŽฎ About

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.

Key Features

  • ๐Ÿ•น๏ธ 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

๐Ÿš€ Quick Start

Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Node.js 18+ (for development)

Installation

# 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 dev

The game will be available at http://localhost:3000

Building for Production

# Create production build
npm run build

# Preview production build
npm run preview

๐ŸŽฏ Gameplay

Controls

Desktop:

  • 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

Objective

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.

๐Ÿ› ๏ธ Technology Stack

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

๐Ÿ“ Project Structure

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)

๐ŸŽฏ Development

Development Workflow

  1. Feature Development: Create feature branches from main
  2. Testing: Write unit tests for new functionality
  3. Code Quality: Follow the coding standards in docs/architecture/coding-standards.md
  4. Documentation: Update relevant documentation
  5. Pull Request: Submit PR with clear description and testing notes

Available Scripts

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

Code Quality

  • ESLint: Enforces code style and catches errors
  • Prettier: Automatic code formatting
  • Vitest: Unit testing framework
  • Playwright: End-to-end testing

๐ŸŽฎ Game Development Status

MVP Features (In Progress)

  • 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

Post-MVP Features (Planned)

  • Turret bonus stage
  • Online leaderboards
  • Additional enemy types
  • Environmental hazards
  • Campaign mode with levels
  • Boss battles

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Follow the coding standards in docs/architecture/coding-standards.md
  4. Write tests for your changes
  5. Commit using our commit convention
  6. Push to your branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

๐Ÿ“š Documentation

๐ŸŽฏ Target Metrics

  • Player Count: 1,000 unique players (first month)
  • Session Duration: 10+ minutes average
  • Retention Rate: 15% day-1 retention
  • Performance: Consistent 60 FPS gameplay

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • 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 ๐Ÿšโœจ

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published