Practical overview
When it fits
Use Neuralkart as a hands-on example of connecting a visual game-playing model to an emulator, or to explore its documented recording and retraining workflows.
Who it is for
- Researchers and students exploring computer vision and real-time game-playing AI.
- Developers interested in combining learned control with search and recorded gameplay.
Documented uses
- Run a pretrained AI demo across three Mario Kart 64 tracks.
- Play on another track when trained weights are available.
- Retrain model weights from recordings.
- Generate recordings with the search AI and use them in an iterative improvement loop.
Requirements & limits
- The documented setup currently works only on Windows and requires 64-bit Python 3.
- The README lists TensorFlow, Keras, Pillow, matplotlib, mkdir_p and h5py as Python dependencies.
- The scripts are written for BizHawk and identify version 1.12.2 as the version used.
- Playing another track requires trained weights for that track.
- The emulator-to-model frame transfer uses the clipboard, which the README cautions against using for other copy-and-paste activity while scripts run.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up and run the three-track demo
Launch Neuralkart’s documented live demo in BizHawk.
Before you start
- Windows
- 64-bit Python 3
- TensorFlow, Keras, Pillow, matplotlib, mkdir_p and h5py
- BizHawk 1.12.2 and its prerequisites
- Neuralkart repository, Mario Kart 64 ROM, save states and pretrained weights
Steps
Install the listed Python dependencies and BizHawk 1.12.2 with its prerequisites.
Unzip the save states and pretrained weights into the repository, using the documented states/ and weights/ folder paths.
Run predict-server.py with Python 3; add --cpu to force TensorFlow to use the CPU.
Load the Mario Kart 64 ROM in BizHawk, open its Lua console and load Demo.lua.
Expected outcome
The README says the demo automatically plays three tracks in a loop; Esc switches tracks and arrow keys allow manual steering.
Guide limitations
- The project currently works only on Windows.
- The demo uses the clipboard to pass emulator frames to the Python script; avoid copying or pasting while the scripts run.
Retrain weights from recordings
Run the documented training script for a track using recordings.
Before you start
- A working Neuralkart setup
- Pretrained weights
- Recordings for the selected track
Steps
Download the pretrained weights and recordings and place them in the repository using the documented folder structure.
Run train.py [track], substituting the track name; use --cpu to force CPU operation if needed.
Expected outcome
The training script is used to retrain weights for the selected track based on recordings.
Guide limitations
- The README does not provide a complete training workflow beyond these instructions.
- The track must have the required recordings and weights.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- rameshvarun/NeuralKart · Official homepage title · retained in its source language

