Educational GPT-Chat based text adventure lab.
Create your own text adventure games and play them with your friends.
- Learn, how GPT can be used to create interactive stories.
- Use debug-mode to see the raw requests and responses of the GPT model
If you're working on ChatGameLab (including web designers), you must learn Git basics first. There are user-friendly Git clients for Mac like GitHub Desktop or Sourcetree that make this easier.
Essential Rules:
mainbranch = Published/live website (don't touch!)developmentbranch = Current development work- Your workflow: Fork
development→ make changes → create Pull Request todevelopment→ wait for review - Never change
maindirectly or make PRs tomainalone - Work in small chunks - when you finish a feature, make a PR right away. Don't work alone for weeks!
This keeps everyone in sync and prevents the project from breaking apart.
If you're a designer wanting to explore the React frontend without setting up the full backend, you can run the app in mock mode:
Prerequisites: Make sure you have Node.js and npm installed on your Mac.
-
Launch the frontend (on Mac):
./run-frontend.sh
-
Open your browser and go to:
http://localhost:3000?mock=true -
Explore the app:
- The React app will be running at
http://localhost:3000 - Mock mode provides fake data so you can test all features
- No Auth0 or backend setup required
- Login/logout buttons work with fake authentication
- The React app will be running at
Perfect for UI/UX design work and frontend development!
To install and run the project you will need the following:
- Auth0 account
- Docker
To use the project you will need the following:
- OpenAI API key
The project is deployed as a docker. Start by pulling the image:
# make sure to login to ghcr.io first..
docker pull ghcr.io/flocko-motion/chatgamelab:latestThe docker requires a few runtime parameters to be set:
DATA_PATH=/path/to/data/dir
AUTH0_DOMAIN=your.auth0.domain
AUTH0_AUDIENCE=your.auth0.audience
PUBLIC_URL=your.public.url
docker run -p 3000:3000
-v ${DATA_PATH}:/app/var
-e AUTH0_DOMAIN=${AUTH0_DOMAIN}
-e AUTH0_AUDIENCE=${AUTH0_AUDIENCE}
-e CORS_ALLOWED_ORIGIN=${PUBLIC_URL}
chatgamelab