Skip to main content

Limitless: Universal AI Game Agent

Limitless is a high-performance, vision-only foundation model agent designed to learn and play any commercial video game. It uses a ResNet50 backbone to map raw gameplay pixels directly to virtual controller actions.

Features

  • Universal Simulator: A Gymnasium-compatible environment that captures any game window and sends inputs via a Virtual Xbox 360 Controller.
  • Vision-Only Generalist: No game-specific IDs or embeddings. The model learns pure visual-to-action mapping, allowing for zero-shot potential across different games.
  • Robust Extractor: Automatically extracts controller states from gameplay videos, even with semi-transparent overlays (e.g., Cuphead, Ready or Not).

🛠️ Installation

1. Prerequisites

  • Python 3.10+
  • ViGEmBus Driver: Required for virtual controller support. Download here.
  • NVIDIA GPU: Recommended for high-speed training and inference.

2. Setup

# Clone the repository
git clone https://github.com/haumlab/limitless
cd limitless

# Install the package
pip install .

Usage

Once installed, you can use the limitless command directly.

1. Extract Data

Extract actions from your own gameplay videos.

limitless extract --input "path/to/videos" --output "dataset/my_game"

2. Train the Model

Train the "Limitless" model on one or multiple datasets.

limitless train --dataset dataset/readyornot --dataset dataset/cuphead

3. Run the Agent

Run the trained agent on a live game window.

limitless run --window "Cuphead" --model limitless_latest.pth

4. Test on Video

Visualize the model's predictions on a video file before running it live.

limitless test-video --video "gameplay.mp4" --model limitless_latest.pth

Technical Architecture

  • Backbone: ResNet50 (Pre-trained on ImageNet).
  • Policy Heads:
    • Buttons: Multi-label classification (Sigmoid + BCEWithLogitsLoss).
    • Sticks: Regression (MSELoss) for LX, LY, RX, RY axes.
  • Input: 224x224 RGB frames.
  • Output: 14 Buttons, 4 Stick Axes.

Safety & Isolation

Limitless is designed to be non-intrusive:

  • It uses a Virtual Gamepad (vgamepad) and does not touch your physical mouse or keyboard.
  • It captures screen data via mss and does not inject code into game processes.

License

MIT

Metadata

Release files for limitless-ai 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for limitless-ai 0.1.0
File Size Uploaded
limitless_ai-0.1.0.tar.gz 59.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for limitless-ai 0.1.0
File Interpreter ABI Platform
limitless_ai-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 144.7 kB

Release files / limitless_ai-0.1.0.tar.gz

Download URL limitless_ai-0.1.0.tar.gz
Size 59.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c2cdd41800c9ea07963d5d4f0024c4ef448ada28aab313e7caeb6b0e28a95692
BLAKE2b-256 checksum
How to use checksums
34462b0f21e306212d75e657cff6964d5800be5596f58f1759703815e1bf8b9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / limitless_ai-0.1.0-py3-none-any.whl

Download URL limitless_ai-0.1.0-py3-none-any.whl
Size 85.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a822237c2e5c99a0cfaa171406b11cf01ffe23a36c0384df4cb700625a6ded53
BLAKE2b-256 checksum
How to use checksums
bca0a0897d6759b01567b0ea9e70f64b5c8ef276d7a1be5f03ad3a53eb86f9cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page