Skip to main content

"AI Asteroids: Self-Learning Game"

"A neural network learns to play Asteroids using TensorFlow.js"

ReactTypeScriptTensorFlow.jsCanvas API

AI Asteroids: Self-Learning Game

Watch as a neural network learns to play the classic Asteroids game in real-time using TensorFlow.js.
Loading Asteroids...

How It Works

This implementation uses a neural network that learns through reinforcement learning:
  1. •
    Neural Network Architecture: The AI uses a simple feedforward neural network with:
    • •Input layer: Game state (ship position, asteroid positions, velocities)
    • •Hidden layers: Two dense layers with ReLU activation
    • •Output layer: Actions (thrust, rotate left, rotate right, shoot)
  2. •
    Reinforcement Learning: The AI learns by:
    • •Receiving rewards for destroying asteroids and surviving
    • •Receiving penalties for collisions
    • •Using experience replay to improve over time
  3. •
    Training Process:
    • •The network starts with random actions
    • •Gradually learns patterns and strategies
    • •Improves performance through multiple generations

Features

  • •Real-time Learning: Watch the AI improve as it plays
  • •Manual Control: Switch between AI and manual control
  • •Training Visualization: See the neural network's decision-making process
  • •Performance Metrics: Track score, survival time, and learning progress

Technologies Used

  • •TensorFlow.js: For neural network implementation
  • •React: For UI and game state management
  • •Canvas API: For rendering the game
  • •TypeScript: For type-safe development