Overview

Raichu is a strategic board game inspired by Pokemon, featuring an AI opponent powered by the minimax algorithm with alpha-beta pruning. Play on an 8x8 board with Pokemon-inspired pieces that have unique movement and capture patterns.

Game Pieces

Pichu (w/b)

  • Basic piece that moves diagonally forward, similar to a chess pawn
  • Evolves into Pikachu when reaching the opposite end
  • Captures by jumping diagonally over adjacent opponent pieces

Pikachu (W/B)

  • Intermediate piece that can move 1-2 squares in any direction
  • More versatile than Pichu with horizontal, vertical, and diagonal movement
  • Can jump over opponent pieces to capture them

Raichu (@/$)

  • Advanced piece that can move any distance in any direction
  • Most powerful piece, similar to a chess queen
  • Can jump over multiple opponent pieces in a single move

Game Features

Intelligent AI Opponent

  • Minimax Algorithm: Evaluates game tree to find optimal moves
  • Alpha-Beta Pruning: Optimizes search by eliminating unnecessary branches
  • Difficulty Levels: Adjustable search depth for different challenge levels
  • Strategic Play: AI considers piece values, board control, and positioning

Web Interface

  • Interactive Board: Click-and-drag piece movement
  • Move Validation: Visual feedback for legal moves
  • Game State: Track captures, turns, and game status
  • Responsive Design: Works on desktop and mobile devices

Technical Implementation

Game Engine

  • Python backend with complete game logic
  • Move validation and generation
  • Win condition checking
  • State management and history

AI System

  • Minimax with alpha-beta pruning for efficient search
  • Evaluation function considering:
    • Material advantage (piece count and value)
    • Board control and positioning
    • Piece mobility
    • Strategic patterns

Web Deployment

  • Deployed on Vercel for instant access
  • WebAssembly integration for performance
  • Real-time game updates

Play Now

Try the game at raichu-web-game.vercel.app and test your strategy against the AI!

Learning Outcomes

  • Minimax algorithm implementation and optimization
  • Alpha-beta pruning for game tree search
  • Game state representation and evaluation
  • Web deployment of Python applications