Git Product home page Git Product logo

thistle-gulch's Introduction

Thistle Gulch

A Multi-Agent Gym Environment (MAGE) set in the wild west to simulate the actions and conversations of characters in a realistic 3D Western town.

thistle gulch logo

โš ๏ธ NOTE: To use this repo, you need access to the Thistle-Gulch Runtime as well. Apply for Beta Access on our Website.

About

This project consists of two parts that work together: The Thistle Gulch Simulation running in a 3D game engine we call a "Runtime" and a python bridge (referred to simply as the "Bridge" from here on out) that acts similar to a client for the Runtime. The Bridge also leverages our open-source SAGA python library to generate actions and conversations. The simulation is rendered in 3D using the Thistle Gulch Runtime app which can be downloaded from itch.io. The Bridge allows many aspects of the simulation to be customized or overridden by manipulating the metadata and/or prompts that are sent to SAGA. While each CAN be run independently - for the proper functioning, you will need both parts. The bridge is available in this repo under a non-commercial use open-source license, while the Runtime is currently available for free under our standard Fable Studio EULA.

Wyatt Cooper views Dead Native

Quick Start

  1. Make sure you have python, openAI env var, and poetry installed at least. See Wiki for Dependencies on Windows, Linux, or macOS
  2. Sign up for the Thistle Gulch beta at https://blog.fabledev.com/blog/beta-application-for-thistle-gulch-now-open and wait to receive your itch.io invite link.
  3. Download and install the Thistle Gulch Runtime from itch.io
  4. Make sure you have git, python-3.10/11, poetry installed, and your OPENAI key setup (see Installing Dependencies below.)
  5. Clone this repo and change the directory to the python sub-folder.
  6. Run poetry install to install dependencies.
  7. Start a poetry shell with poetry shell to make sure you are using the correct python version and have the correct environment variables set.
  8. Run python run_demos.py --runtime "<PATH_TO_ITCHIO_DIR>/ThistleGulch.exe -agents wyatt_cooper" . (Runtime flags are described below.)
  9. Pick the default SagaServer (option 0) from the available demos. (other available demos listed below)
    -= Available Demos =-
    0: SagaServer
    1: PrintActionsAndPickFirst
    2: SkipSagaAlwaysDoTheDefaultAction
    3: ReplaceContextWithYamlDump
    4: UseLlama2Model
    Pick a demo to run: 
    

The Runtime application will launch a new window, and then you should quickly see a message similar to the following from the Bridge:

======== Running on http://localhost:8080 ========
(Press CTRL+C to quit)

Runtime [Connected]: l0NKrutjyO4ANhseAAAB
[Simulation Ready] received..
Resuming simulation

The icon in the upper-right corner of the Runtime will remain red as long as the bridge is connected, and you should quickly see the simulation pause and open a modal with options for wyatt_cooper. You can choose which option you want him to do. Note that the options are sorted by their score, so the "best" option should be at the top. See the wiki for more details on using the Runtime.

Making Thistle Gulch your own.

There are lots of ways to customize Thistle Gulch, with more coming in each release. Head over to the WIKI for more in-depth discussion on how to customize Thistle Gulch.

thistle-gulch's People

Contributors

frankcarey avatar fablechris avatar vedant11 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.