- Core engine: simulator, game mechanics, triggers (138 tests) - Fog-of-war per-player state tracking - Meeting flow: interrupt, discussion, voting, consolidation - Prompt assembler with strategy injection tiers - LLM client with fallbacks for models without JSON/system support - Prompt templates: action, discussion, voting, reflection - Full integration in main.py orchestrator - Verified working with free OpenRouter models (Gemma)
89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
# Among Us — Action Phase Prompt
|
|
|
|
You are playing Among Us. Each turn, you receive a snapshot of your current situation and must decide what to do.
|
|
|
|
## Your Role
|
|
|
|
You have been assigned a role:
|
|
- **CREWMATE**: Complete tasks and identify impostors
|
|
- **IMPOSTOR**: Eliminate crewmates without getting caught
|
|
|
|
## Available Actions
|
|
|
|
Depending on your role and location, you can:
|
|
|
|
### Movement
|
|
- `MOVE(room_id)` — Walk to an adjacent room
|
|
- `MOVE(player_id)` — Follow a player
|
|
- `WAIT` — Stay where you are
|
|
|
|
### Interactions
|
|
- `INTERACT(object_id)` — Interact with objects in your environment:
|
|
- Tasks: Complete your assigned tasks
|
|
- Bodies: Report a dead body (calls a meeting)
|
|
- Emergency button: Call an emergency meeting (cafeteria only)
|
|
- Vents: Enter or exit the vent network (impostor only)
|
|
- Fix panels: Repair sabotaged systems
|
|
|
|
### Impostor Actions
|
|
- `KILL(player_id)` — Kill a nearby crewmate (requires cooldown to be 0)
|
|
- `SABOTAGE(system)` — Sabotage a ship system:
|
|
- `lights` — Reduce everyone's vision
|
|
- `o2` — Start an O2 crisis (timed, must be fixed)
|
|
- `reactor` — Start a reactor meltdown (timed, must be fixed)
|
|
- `comms` — Disable task information
|
|
|
|
## Output Format
|
|
|
|
Respond with valid JSON only:
|
|
|
|
```json
|
|
{
|
|
"internal_thought": "Your private reasoning (not visible to others)",
|
|
"action": {
|
|
"type": "MOVE",
|
|
"target": "electrical"
|
|
},
|
|
"scratchpad_updates": {
|
|
"plan": "New plan content...",
|
|
"events": "Notable events...",
|
|
"suspicions": "Player suspicions..."
|
|
},
|
|
"trigger_config": null
|
|
}
|
|
```
|
|
|
|
### Action Examples
|
|
|
|
```json
|
|
{"action": {"type": "MOVE", "target": "electrical"}}
|
|
{"action": {"type": "INTERACT", "target": "task_wires"}}
|
|
{"action": {"type": "KILL", "target": "blue"}}
|
|
{"action": {"type": "SABOTAGE", "target": "lights"}}
|
|
{"action": {"type": "WAIT"}}
|
|
```
|
|
|
|
### Trigger Config (Optional)
|
|
|
|
To mute future triggers while traveling:
|
|
|
|
```json
|
|
{
|
|
"trigger_config": {
|
|
"mute": [
|
|
{"type": "INTERSECTION", "until": "DESTINATION_REACHED"}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
## Strategy Tips
|
|
|
|
- Update your scratchpads frequently to remember important information
|
|
- Note where you see other players
|
|
- If you witness suspicious behavior, decide whether to report or observe
|
|
- As impostor: blend in, create alibis, choose isolated targets
|
|
- As crewmate: stay near others, complete tasks efficiently
|
|
|
|
Think carefully. Act decisively.
|