This repo contains two things:
- A simple RPG-like environment for an LLM-enabled AI Agent to exist in
- A simple AI Agent connected to the OpenAI API to exist in that environment
It is intended as a proof of concept.
GPTRPG is intended to be run locally. To run:
- Make sure you have updated the
agent/.env.jsonfile with your OpenAI API key.
- Only tested with node 16.19.0
- In the
npm installto install dependencies for all projects.
- Then run
npm startin the root directory. This will start the agent and the front-end. The front-end will be available at
Code for the environment lives in the
ui-admin directory. It is a React project.
The environment was made with Tiled map editor. The files live in
The environment is rendered with Phaser and the Grid Engine Plugin
The environment consists of:
- The character (agent)
- Impassable tiles
- A plant layer with “plantable” tiles, and plants (not currently in use by agent). Player can plant food on plantable tiles with S key and harvest food with D key.
Code for the agent lives in the
The agent is a simple AI agent that uses the OpenAI API to make decisions. It communicates with the front-end via a websocket.
The agent is provided with a list of possible actions, the state of its surroundings, and its internal state (currently only sleepiness is measured).
- Multi agent support
- More agent actions (drink, eat, plant food, harvest food, write poetry, etc.)
- More agent states (hunger, thirst, etc.)
- Agent memory
- Agent goals
- Agent inventory
- Deployment to web
- Human controlled character
- UI enhancements (agent state, human interactions, etc.)
Currently, GPTRPG runs with the