Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

vdutts7/botplot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

Logo

BotPlot

An NPC bot roaming a plot ⛰️🤖

Github

NOTE: Meant as a proof of concept and is a work in progress. Errors may occur.

Table of Contents

    📝 About
    💻 How to Build
    🔧 Tools Used 🚀 Next Steps
    👥 Contributions
    👤 Contact

📝About

A virtual environment roleplaying game where a user-created NPC (non-playable character) roams about to achieve a given objective:

  • Similar to traditional video games-- but way more AI-heavy. User is in "copilot" mode.

LLMs have the power to behave as NPCs whch taken on states, personalities, character-like qualities, and most importantly-- develop heuristics to pursue (modeled by one or many heuristic functions often). I use gpt-3-turbo to explore these capabilties.

This is an open-source project I am building and adding to over time. Feedback and contributions are welcome, see Contributions .

Game Mechanics

  • Agent is the NPC exploring the world, currently a pixelated 2D plot of land
  • Impassable tiles: cannot be passed
  • Plantable (passable) tiles: a Plant layer with Plantable tiles and plants but not currently in use by Agent
  • Commands for Plantable tiles:
    • Press S to plant 1u food
    • Press D to harvest 1u food

Agent Details

  • gpt-3.5-turbo via OpenAI API
  • List of Actions it can perform (up, down, L, R)
  • Copilot style: AI Agent by default, but user interjections take precedent
  • Ability to evaluate Surroundings
  • Actions fluctuate based on Sleepiness values (which it self-assigns)

File Structure

  • Agent contains all Agent-related code
  • ui-admin contains all environemnt-related code
  • Used OpenAI API for (1) decision-making, (2) interacting with frontend (via wss)
  • Tiled is the map editor. See ui-admin/src/assets
  • Phaser and Grid Engine Plugin used for rendering environment

💻How to Build

Meant as a proof of concept and is a work in progress. Errors may occur.

Designed to run locally. Follow steps here to run:

  1. Update the agent/env.json file with your OPENAI_API_KEY
  2. I've only tested with `Node.js 16.19.0``
  3. From the gptrpg folder, run npm install to install dependencies for everything
  4. Run npm start in the main folder. This will start up the agent and front-end. The front-end will be at http://localhost:3000

🚀Next Steps

  • Heuristic goal-setting
  • More agent actions (eat, harvest some shit, sing, vibe, etc.)
  • More states of being (emotions)
  • Web UI

👥Contributions

Contributions are welcome. Creativity is welcome. Please make a pull request at the project repo.


🔧Tools Used

Phaser GridEngine Tiled WebSocket OpenAI React


👤Contact

Email Twitter

About

"BotPlot" • an NPC bot roaming a plot ⛰️🤖

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /