TensorKart  by kevinhughes27

Self-driving agent for MarioKart 64, trained with TensorFlow

created 8 years ago
1,583 stars

Top 26.9% on sourcepulse

GitHubView on GitHub
Project Summary

TensorKart enables self-driving capabilities for Mario Kart 64 using TensorFlow. This project is aimed at researchers and hobbyists interested in game AI, reinforcement learning, and computer vision applications in gaming. It allows users to train an AI agent to control the game using recorded gameplay data.

How It Works

The project utilizes a convolutional neural network (CNN) trained on gameplay footage to predict joystick inputs. It captures screenshots from the Mupen64Plus N64 emulator, processes them into a training dataset (images as input, joystick commands as output), and then trains a TensorFlow model. The trained model is then used to control the game via the gym-mupen64plus environment.

Quick Start & Requirements

  • Install dependencies: pip install -r requirements.txt
  • Install Mupen64Plus emulator: sudo apt-get install mupen64plus
  • Requires Python and pip.
  • GPU with CUDA and cuDNN recommended for training acceleration.
  • Training can take ~1 hour depending on data and system specs.
  • Official documentation and demo are available via links in the README.

Highlighted Details

  • Demonstrates generalization to new tracks with limited training data.
  • Supports recording gameplay, preparing data, and training TensorFlow models.
  • Integrates with gym-mupen64plus for AI execution.
  • Future work includes reinforcement learning enhancements and a "shadow mode" for AI analysis.

Maintenance & Community

The project is maintained by kevinhughes27. Contributions are welcomed via pull requests. Links to related projects and a special thanks to Autopilot-TensorFlow are provided.

Licensing & Compatibility

The project appears to be available under a permissive license, though the specific license is not explicitly stated in the README. Compatibility with commercial use or closed-source linking would require clarification of the license.

Limitations & Caveats

The model's performance is highly dependent on the quantity and quality of training data. The current reward signal for reinforcement learning is a basic time-step penalty. The project is presented as a demonstration, and extensive fine-tuning or additional features may be required for robust performance.

Health Check
Last commit

3 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems), Mckay Wrigley Mckay Wrigley(Founder of Takeoff AI), and
1 more.

street-fighter-ai by linyiLYi

0.1%
6k
AI agent for Street Fighter II using deep reinforcement learning
created 2 years ago
updated 1 year ago
Feedback? Help us improve.