Skip to main content

Universal AI Game Agent

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

limitless_ai-0.1.0.tar.gz (59.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

limitless_ai-0.1.0-py3-none-any.whl (85.1 kB view details)

Uploaded Python 3

File details

Details for the file limitless_ai-0.1.0.tar.gz.

File metadata

  • Download URL: limitless_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 59.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for limitless_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c2cdd41800c9ea07963d5d4f0024c4ef448ada28aab313e7caeb6b0e28a95692
MD5 44a166b34fb86893461a55ef49181134
BLAKE2b-256 34462b0f21e306212d75e657cff6964d5800be5596f58f1759703815e1bf8b9b

See more details on using hashes here.

File details

Details for the file limitless_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: limitless_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 85.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for limitless_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a822237c2e5c99a0cfaa171406b11cf01ffe23a36c0384df4cb700625a6ded53
MD5 0b923b1829b0f90d07f5560d0c9ea526
BLAKE2b-256 bca0a0897d6759b01567b0ea9e70f64b5c8ef276d7a1be5f03ad3a53eb86f9cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page