https://github.com/anatta336/llm-dungeon
Using LLMs for a text game
https://github.com/anatta336/llm-dungeon
Last synced: 6 months ago
JSON representation
Using LLMs for a text game
- Host: GitHub
- URL: https://github.com/anatta336/llm-dungeon
- Owner: Anatta336
- Created: 2024-09-08T20:42:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-13T16:49:21.000Z (12 months ago)
- Last Synced: 2025-02-13T22:44:24.532Z (8 months ago)
- Language: Go
- Size: 4.55 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Dungeon
An LLM-powered text adventure game that attempts to have a coherent world model.
## Status
Imperfect proof of concept.## Quickstart
- Have Ollama installed and set up.
- `ollama serve`
- `. ./build.sh && go build -o bin/main main.go && bin/main`## Process structure
```mermaid
graph TBuser(["User"])
llmAdjudicate[["LLM: Adjudicate"]]
world[("World model")]
llmEncode[["LLM: Update State"]]user --"Freeform input"--> llmAdjudicate
world --> llmAdjudicate
llmAdjudicate --"Freeform description"--> llmEncode
world --> llmEncode
llmEncode --"Update"--> world
llmAdjudicate --"Freeform description"--> user
```## Plan
- Do not rely on LLM to update JSON directly.
- Instead describe changes it wants to make and apply those.
- Adjudicator to stop inventing objects.
- Adjudicator to be less "helpful" so it doesn't just solve problems.
- Generation of scenes.
- Goal.
- Obstacles.
- Means of overcoming obstacles.
- Some kind of player health/condition tracking?
- Something more interesting that can take advantage of LLM reasoning.
- Anything to optimise LLM steps.