--- 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 — Bureaucracy as Mechanic]] - 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 확장 |