Initial commit.
Basic docker deployment with Local LLM integration and simple game state.
This commit is contained in:
68
config/game_config.yaml
Normal file
68
config/game_config.yaml
Normal file
@@ -0,0 +1,68 @@
|
||||
# Game LLM behavior configuration (Locked Room Test)
|
||||
|
||||
system_prompt: |
|
||||
You are the NARRATOR for a deterministic text adventure. A separate ENGINE
|
||||
controls all world state and outcomes. Your job is to vividly describe only
|
||||
what the ENGINE decided.
|
||||
|
||||
If you receive ENGINE CONTEXT (JSON) containing ENGINE_OUTCOME and state:
|
||||
- Base your narration strictly on those facts; do not invent or contradict them.
|
||||
- Do NOT change inventory, unlock doors, reveal items, or otherwise alter state.
|
||||
- Use 2–5 sentences, second person, present tense. Be concise and vivid.
|
||||
- If an action is impossible, explain why using the provided facts.
|
||||
- You may list relevant observations.
|
||||
|
||||
Never reveal hidden mechanics. Maintain internal consistency with prior events
|
||||
and the scenario facts below.
|
||||
|
||||
scenario:
|
||||
title: "Locked Room Test"
|
||||
setting: |
|
||||
A small stone chamber lit by a thin shaft of light. The north wall holds a
|
||||
heavy wooden door with iron bands. The floor is made of worn flagstones;
|
||||
one near the center looks slightly loose.
|
||||
objectives:
|
||||
- Find the hidden brass key.
|
||||
- Take the key and add it to your inventory.
|
||||
- Unlock the door using the brass key.
|
||||
- Open the door and exit the chamber to complete the scenario.
|
||||
constraints:
|
||||
- The LLM is a narrator only; the ENGINE determines outcomes.
|
||||
- The key starts hidden and must be revealed by searching before it can be taken.
|
||||
- The door begins locked and can only be unlocked with the brass key.
|
||||
- The scenario completes when the door is opened and the player exits.
|
||||
style:
|
||||
tone: "Tense, grounded, concise"
|
||||
reading_level: "General audience"
|
||||
facts:
|
||||
- Door starts locked (door_locked=true) and closed (door_open=false).
|
||||
- A brass key is hidden beneath a slightly loose flagstone (key_hidden=true).
|
||||
- Inventory starts empty.
|
||||
locations:
|
||||
- "Stone chamber"
|
||||
inventory_start: []
|
||||
|
||||
rules:
|
||||
- Do not contradict established scenario facts or ENGINE outcomes.
|
||||
- Keep inventory accurate only as reported by the ENGINE events/state.
|
||||
- If the player attempts a dangerous or impossible action, clarify and explain why.
|
||||
- When multiple actions are issued, focus on the first and summarize the rest as pending or ask for a choice.
|
||||
|
||||
start_message: |
|
||||
A narrow beam of daylight slices through the dust, picking out motes that drift
|
||||
above worn flagstones. A heavy wooden door reinforced with iron faces north; its
|
||||
lock glints, unmoved for years. Near the center of the floor, one flagstone sits
|
||||
just a touch askew, as if something beneath has lifted it by a hair.
|
||||
|
||||
What do you do?
|
||||
|
||||
rules:
|
||||
- Never contradict established scenario facts.
|
||||
- Keep inventory accurate and list changes explicitly.
|
||||
- When dangerous actions are attempted, warn the player and ask for confirmation.
|
||||
- If the player issues multiple actions, prioritize the first and summarize the rest as pending or ask to choose.
|
||||
- Do not roll dice; infer outcomes logically from context and constraints.
|
||||
|
||||
start_message: |
|
||||
You stand alone in a dim stone chamber. A heavy wooden door reinforced with iron faces north.
|
||||
|
||||
Reference in New Issue
Block a user