Skip to main content

AI-powered game generator and arcade using Lemonade Server

Project description

██╗███╗   ██╗███████╗██╗███╗   ██╗██╗████████╗██╗   ██╗
██║████╗  ██║██╔════╝██║████╗  ██║██║╚══██╔══╝╚██╗ ██╔╝
██║██╔██╗ ██║█████╗  ██║██╔██╗ ██║██║   ██║    ╚████╔╝ 
██║██║╚██╗██║██╔══╝  ██║██║╚██╗██║██║   ██║     ╚██╔╝  
██║██║ ╚████║██║     ██║██║ ╚████║██║   ██║      ██║   
╚═╝╚═╝  ╚═══╝╚═╝     ╚═╝╚═╝  ╚═══╝╚═╝   ╚═╝      ╚═╝   

 █████╗ ██████╗  ██████╗ █████╗ ██████╗ ███████╗
██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝
███████║██████╔╝██║     ███████║██║  ██║█████╗  
██╔══██║██╔══██╗██║     ██╔══██║██║  ██║██╔══╝  
██║  ██║██║  ██║╚██████╗██║  ██║██████╔╝███████╗
╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═════╝ ╚══════╝

Discord Windows 11 Ubuntu 24.04 | 25.04 Made with Python Latest Release GitHub downloads License: MIT Star History Chart

Create playable retro-style games with LLMs in minutes! Enter your prompt and your game pops open, it's that simple.

Push your imagination to the limit, it's 100% free and local.

Infinity Arcade GIF

Hardware Requirement

Infinity Arcade will detect the hardware you have available and load a recommended LLM.

Configuration GPU/APU Memory Disk Space LLM
Minimum (CPU) Ryzen AI 7000-series chip or newer 32 GB RAM 5 GB Playable1-GGUF
Suggested (iGPU) Ryzen AI 300-series chip or newer 32 GB RAM 5 GB Playable1-GGUF
Suggested (dGPU) Radeon 7800XT or newer 16 GB VRAM 20 GB Qwen3-Coder-30B
Suggested (APU) Strix Halo (Ryzen AI MAX 395) 64 GB unified memory 20 GB Qwen3-Coder-30B

Quick Start

Windows: click this:

Arcade Quick Start

Linux: click this

Overview

Infinity Arcade combines the convenience of a ChatGPT-like interface with the concept of a game emulator. Instead of emulating existing games, it uses LLMs (served by Lemonade) to generate completely new games based on your prompts, then lets you play them instantly.

Features

  • Lemonade integration: automatically connects to Lemonade Server and has access to any Lemonade LLM.
  • AI Game Generation: Describe a game concept and watch as an LLM creates a playable Python game.
  • Game Library: All generated games are saved and can be replayed anytime.
  • Easy Management: View game source code, copy prompts for remixing, and delete games you don't want with a simple click.

Installation

Windows

Navigate to the Releases page, download the .exe, and get started!

Linux (and Windows Devs)

From PyPI (recommended):

pip install infinity-arcade
infinity-arcade

From Source:

  1. Clone this repository:

    git clone https://github.com/lemonade-sdk/infinity-arcade
    cd infinity-arcade
    
  2. Install the package:

    pip install -e .
    
  3. Run it:

    infinity-arcade
    

Architecture

Game Generation

Games are generated with the following constraints:

  • Pure Python using the pygame library only.
  • No external images, sounds, or asset files.
  • Complete and playable with proper game mechanics.
  • Proper event handling and game loops.
  • Visual appeal using pygame's built-in drawing functions.

Note: LLMs are imperfect, and may fail to generate the game you asked for or fail to generate a functioning game at all.

Game Cache

Games are cached under the .infinity-arcade folder in your home directory.

~/.infinity-arcade/
└── games/
    ├── metadata.json    # Game titles and descriptions
    ├── abc12345.py      # Generated game files
    └── xyz67890.py

Troubleshooting

"Server Offline" Status

  • Ensure Lemonade Server is running on http://localhost:8000.
  • Check that you have models installed in Lemonade Server by opening the model manager: http://localhost:8000/#model-management.
  • Visit lemonade-server.ai for setup instructions.

Game Won't Launch

  • Check the generated code for any syntax errors.
  • Try regenerating the game with a more specific prompt.

Generation Failures

  • Try a simpler game concept.
  • Make sure your selected model supports code generation.
  • Check the infinity-arcade and Lemonade Server logs for errors.

Examples

Here are some example prompts that work well:

  • Classic Games: "pong", "tetris", "pacman maze game", "asteroids"
  • Variations: "snake but food teleports", "breakout with power-ups", "flappy bird in space"
  • Original Ideas: "catching falling stars", "color matching puzzle", "maze with moving walls"

Contributing

Contributions are welcome! Feel free to:

  • Share interesting game prompts and results by opening an issue!
  • Report bugs or request features via GitHub issues.
  • Submit pull requests for improvements.

License and Attribution

This project is licensed under the MIT license. It was built with Python with ❤️ for the gaming and LLM communities. It is built on the shoulders of many great open source tools, including llama.cpp, Hugging Face Hub, and OpenAI API.

Most of the code for this project was generated by Claude Sonnet 4.

Maintainer

This project is maintained by @jeremyfowers.

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

infinity_arcade-0.2.2.tar.gz (663.7 kB view details)

Uploaded Source

Built Distribution

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

infinity_arcade-0.2.2-py3-none-any.whl (664.2 kB view details)

Uploaded Python 3

File details

Details for the file infinity_arcade-0.2.2.tar.gz.

File metadata

  • Download URL: infinity_arcade-0.2.2.tar.gz
  • Upload date:
  • Size: 663.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for infinity_arcade-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3eb792a3aaf083eb3068e89edb14fd1fb394796b0aee7a324ce8799e71d01a09
MD5 b2845a09e0d13574d4fa01fe24a1d7dc
BLAKE2b-256 b0df878192ca8f8edc95ffd2999c5aaa96283b3b2b75343c5b0567b0d93cece6

See more details on using hashes here.

File details

Details for the file infinity_arcade-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for infinity_arcade-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 033f758a4bf71338c32e63e26403c96268af7aec6aaf5464f923b4235f0d3b4b
MD5 2b7fba607997898f12ded5a659a6c699
BLAKE2b-256 74ea34ec76d99feaf12ee775c517524f17fafcecbe8f58f25a65d4e2cfc2754b

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