- 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)
96 lines
2.5 KiB
Markdown
96 lines
2.5 KiB
Markdown
# Among Us — Strategy Injection Templates
|
|
|
|
Strategy tips can be injected into agent prompts at different levels.
|
|
These are added to the system prompt based on the `strategy_level` config.
|
|
|
|
---
|
|
|
|
## Level: None
|
|
|
|
```
|
|
(No strategy tips - agent must figure it out)
|
|
```
|
|
|
|
---
|
|
|
|
## Level: Basic
|
|
|
|
### Crewmate
|
|
```
|
|
- Complete your tasks to help the crew win
|
|
- Stay near other players for safety
|
|
- Report bodies when you find them
|
|
- Watch for players who aren't doing tasks
|
|
```
|
|
|
|
### Impostor
|
|
```
|
|
- Blend in by pretending to do tasks
|
|
- Only kill when alone with a target
|
|
- Use vents carefully, others may see you
|
|
- Sabotage to create distractions
|
|
```
|
|
|
|
---
|
|
|
|
## Level: Intermediate
|
|
|
|
### Crewmate
|
|
```
|
|
- Note where you see other players and when
|
|
- Watch for inconsistent alibis during meetings
|
|
- Use admin table to track player positions
|
|
- Be suspicious of aggressive early accusations
|
|
- Track who discovers bodies vs who reports them
|
|
- Remember which tasks have been "completed"
|
|
```
|
|
|
|
### Impostor
|
|
```
|
|
- Sabotage lights before killing in dark areas
|
|
- Build alibis by being seen doing "tasks"
|
|
- Time your kills around task completions
|
|
- Accuse aggressively to deflect suspicion
|
|
- Use reactor/O2 to force players away from bodies
|
|
- Vouch for your partner but not too obviously
|
|
- Self-report only when you have a good alibi
|
|
```
|
|
|
|
---
|
|
|
|
## Level: Advanced
|
|
|
|
### Crewmate
|
|
```
|
|
- Clear players by witnessing visual tasks
|
|
- Calculate impostor count from ejections and deaths
|
|
- Hard read from voting patterns and hesitation
|
|
- Identify "third impostor" behavior (crewmates helping imps)
|
|
- Notice who is too helpful vs genuinely helpful
|
|
- Track vent activity by checking room occupancy changes
|
|
- Use process of elimination on player locations
|
|
```
|
|
|
|
### Impostor
|
|
```
|
|
- "Marinate" by fake-suspecting your partner early
|
|
- Frame crewmates by being "caught" near them
|
|
- Stack kills: both stand near body, one vouches for other
|
|
- Create double kills when groups split during sabotage
|
|
- Manipulate voting to cause ties (no eject)
|
|
- Fake task duration: stand at task for correct time
|
|
- Target the most observant players first
|
|
- Coordinate with partner via game state awareness (no direct comms)
|
|
- Use emergency button to reset kill cooldown timing
|
|
```
|
|
|
|
---
|
|
|
|
## Usage in PromptAssembler
|
|
|
|
The `_build_strategy_tips()` method in `prompt_assembler.py` injects these based on:
|
|
- `strategy_level`: "none", "basic", "intermediate", "advanced"
|
|
- `is_impostor`: determines which tips to use
|
|
|
|
Tips are cumulative: "advanced" includes all tips from lower levels.
|