(For now only Nintendo 64)
This is a ready-to-use AI environment that runs on your browser. Simply connect with

https://ai-plays-emulators.vercel.app and set your Vitrus API key and your world ID
bun add vitrus
emulator-environment/: Contains the React frontend application using EmulatorJS.ai-player/: Contains an example of an AI agent.
-
Install dependencies for the entire monorepo:
cd ./emulator-environment bun install -
Setup Environment Variables To help developers focus only in the AI player development, we abstracted the ai-to-emulator communication using Vitrus Agent-World-Actor (AwA) infrastructure.
🔑 You can get your API Keys here.
cd ./emulator-environment touch .envAnd inside of the
.envfile define your credentials and APIVITE_VITRUS_API_KEY = vitrus-<api-key> VITE_VITRUS_WORLD = <world-id> ROM_URL = https://path/your_file_here.n64 #Your game of preference
Alternativelly you may fork this repo and use a custom AwA layer like Redis, PeerJs, etc. But we've made Vitrus SDK to simplify this.
-
Running the Frontend (Vite Development Server): Navigate to the
emulator-environmentdirectory and run:cd ./emulator-environment bun run devThis will typically start the frontend on
http://localhost:5173. You can defined the port by adding--port 3000. -
(optional) Running the example Player (typescript)
cd ./ai-player bun install touch .envAdd the same API Keys on
.envbut without theVITE_prefix.VITRUS_API_KEY = vitrus-<api-key> VITRUS_WORLD = <world-id> #Make sure it's the same world as the emulator
With the browser running, run the player
bun dev
It should play now!! 🎉