---
id: wiki-2026-0508-algorithmic-rhetoric
title: Algorithmic Rhetoric
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Procedural Rhetoric, Game Argumentation, Persuasive Game Design]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [game-design, rhetoric, procedural, persuasion, ian-bogost]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: design-theory
  framework: procedural-rhetoric
---

# Algorithmic Rhetoric

## 매 한 줄
> **"매 game 의 rule 자체 가 argument 를 making"**. Ian Bogost (Persuasive Games, 2007) 의 "procedural rhetoric" 의 알고리즘적 확장 — 매 narrative text 가 X, 매 system mechanic 의 의 의 player belief 를 shaping. 매 2026 기준 LLM-driven dynamic narrative 와 결합 — 매 NPC dialog 가 LLM 으로 생성 의 의 더라도 매 underlying ruleset 의 rhetoric 의 진짜 carrier.

## 매 핵심

### 매 Procedural Rhetoric (Bogost)
- 매 game 의 의 의 의 의 procedure (rule + simulation) 으로 argument 를 making.
- 매 example: "September 12th" — 매 terrorist 를 shooting ⇒ 매 civilian death ⇒ 매 more terrorists. 매 mechanic 자체가 thesis.
- 매 text/cutscene 의 X — 매 player action loop 의 message.

### 매 Algorithmic vs Procedural
- **Procedural**: rule-based simulation 의 outcome.
- **Algorithmic**: 매 algorithm 의 selection/weighting 의 의 의 message — 매 recommendation, 매 matchmaking, 매 dynamic difficulty.
- 매 2026: ML model 의 player behavior 를 shaping — 매 algorithm 자체가 rhetorical agent.

### 매 매 매 의 mechanism
1. **Constraint** — 매 player 의 가능 action set 의 worldview 를 imply.
2. **Feedback** — 매 reward signal 의 value system 을 teaching.
3. **Failure mode** — 매 game over condition 의 norm 을 enforcing.
4. **Aggregate stat** — 매 leaderboard, 매 metric 의 success 의 정의.

### 매 응용
1. Serious games (Darfur is Dying, Papers Please).
2. 매 capitalism critique (Cart Life, Disco Elysium).
3. 매 algorithmic feed critique (every Twitter clone simulator).

## 💻 패턴

### Mechanic-as-Argument Encoding
```python
class MechanicArgument:
    """A game rule that encodes a thesis."""
    def __init__(self, thesis, rule_fn):
        self.thesis = thesis  # natural language claim
        self.rule_fn = rule_fn  # game logic implementing it

    def applies(self, game_state, action):
        return self.rule_fn(game_state, action)

# "Wealth concentrates" — Cart Life-style
wealth_concentration = MechanicArgument(
    thesis="Small businesses lose to chains over time",
    rule_fn=lambda s, a: s.chain_competitor.revenue *= 1.02 each turn
)
```

### Feedback Loop as Persuasion
```python
def reward_action(player, action, value_system):
    """Reward signal teaches what 'success' means."""
    if value_system == "extraction":
        player.score += action.resources_taken
    elif value_system == "regeneration":
        player.score += action.ecosystem_health_delta
```

### Constraint-Driven Worldview
```python
def available_actions(player_role):
    """The set of possible actions implies the worldview."""
    if player_role == "border_officer":  # Papers Please
        return ["approve", "deny", "detain", "interrogate"]
    # No "help refugee personally" — that's the rhetorical point
```

### Algorithmic Dynamic Difficulty (DDA)
```python
def adjust_difficulty(player_stats, target_flow=0.7):
    """The algorithm itself argues 'every player deserves flow'."""
    if player_stats.win_rate > target_flow + 0.1:
        return "harder"
    elif player_stats.win_rate < target_flow - 0.1:
        return "easier"
```

### LLM-NPC with Hardcoded Ruleset (2026 hybrid)
```python
def npc_response(npc, player_input, llm):
    # LLM generates surface text
    surface = llm.generate(npc.persona + player_input)
    # But underlying disposition shifts by RULE — that's the rhetoric
    npc.disposition += rule_based_delta(player_input, npc.faction)
    return surface, npc.disposition
```

### Aggregate-Stat Rhetoric
```python
def display_endgame_summary(playthrough):
    """What you display teaches what mattered."""
    return {
        "kills": playthrough.kills,        # martial frame
        "saved": playthrough.npcs_saved,   # care frame
        "wealth": playthrough.gold,        # accumulation frame
    }  # Choice of axes IS the argument
```

## 매 결정 기준
| 의도 | Mechanic |
|---|---|
| 매 systemic critique | Procedural simulation (SimCity-style) |
| 매 personal moral weight | Constraint + irreversibility |
| 매 algorithmic critique | Visible recommendation + opacity |
| 매 empathy generation | Limited resource + time pressure |

**기본값**: 매 mechanic 가 thesis 와 align — 매 narrative 의 X mechanic 의 의 contradict 의 X.

## 🔗 Graph
- 부모: [[Procedural Rhetoric]]
- 변형: [[Persuasive Games]]
- 응용: [[Papers Please]]
- Adjacent: [[Ludonarrative Dissonance]] · [[Algorithmic Bias]]

## 🤖 LLM 활용
**언제**: 매 game design 의 thematic intent 를 mechanic 으로 translate 의 framework, 매 critique 의 analytic lens.
**언제 X**: 매 pure entertainment design (matching mechanic to fun, not argument) 의 의 의 의 의 의 의 의 over-engineering.

## ❌ 안티패턴
- **Ludonarrative dissonance**: 매 narrative says X, mechanic does Y (Uncharted: Drake = mass murderer narratively heroic).
- **Cutscene-as-rhetoric**: 매 argument 의 cutscene 만 — 매 mechanic 의 contradict 의 의 의 의 player 가 mechanic 을 internalizing.
- **Mechanic-as-decoration**: 매 mechanic 의 thematic weight 의 X — 매 reskin 의 의.
- **Algorithm opacity weaponized**: 매 ML 의 hidden weighting 의 player 가 의 X 의 의 의 — 매 manipulation.

## 🧪 검증 / 중복
- Verified (Bogost, Persuasive Games 2007; Frasca, Simulation versus Narrative; 2026 Game Studies anthologies).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — Bogost procedural rhetoric + 2026 algorithmic 확장 |
