Big Ball Game AI

This model is a Deep Q-Network (DQN) agent trained to play "Big Ball Swallows Small Ball", a dynamic arcade-style game where the goal is to eat smaller balls while avoiding larger ones.

Model Description

  • Input: Game state vector (69 dimensions) containing:

    • Player position (x,y)
    • Player size
    • Hunger meter
    • Nearest 13 food items' information (position, size, distance, edibility)
  • Architecture:

    • Dueling DQN with Noisy Linear layers
    • Feature extraction: 2 fully connected layers (256 units each)
    • Value stream: 2 noisy linear layers (128 -> 1)
    • Advantage stream: 2 noisy linear layers (128 -> action_space)

Training

  • Framework: PyTorch 2.5.1
  • Training Data: Generated through gameplay (~2000 episodes)
  • Infrastructure: CUDA-enabled GPU
  • Training Time: ~4 hours

Training Parameters

episodes: 2000
max_steps: 1500
batch_size: 64
target_update: 100
gamma: 0.99
initial_epsilon: 1.0
final_epsilon: 0.01

Performance

The model achieves:

  • Average score: ~3000 points
  • Win rate: ~40%
  • Average survival time: 800 steps

Limitations

  • May get stuck in local optima (circular patterns)
  • Performance degrades with very large numbers of food items
  • Can be overly cautious with larger food items

Useage

Visit Github Repo

License

This model is released under the MIT License. See the LICENSE file for details.

Downloads last month

-

Downloads are not tracked for this model. How to track
Video Preview
loading