---
id: wiki-2026-0508-operation-western-sun
title: Operation - Western Sun
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Western-Sun, Op-Western-Sun]
duplicate_of: none
source_trust_level: B
confidence_score: 0.7
verification_status: applied
tags: [wargame, cold-war, scenario, fiction]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: en
  framework: wargame-scenario
---

# Operation - Western Sun

## 매 한 줄
> **"매 fictional 1985 NATO counter-offensive 의 codename"**. Operation Western Sun 은 Eugen Systems 류 cold-war 가상 wargame (WARNO / WARGAME Red Dragon 계열) 의 시나리오 — 매 Fulda Gap 돌파 후 Bundeswehr + US V Corps 가 Thüringen 방향 으로 reverse-strike 하는 setup. 매 historical 사건이 아닌 alt-history simulation.

## 매 핵심

### 매 setting
- **시점**: 1985 August, Day 9 of WW3 (가정).
- **전선**: Inner-German Border, Fulda – Bad Hersfeld – Eisenach axis.
- **편성**: NATO — US 11th ACR + 3rd AD + Bundeswehr 5th PzD; WP — GSFG 8th Guards Army.
- **목표**: WP 보급선 (Erfurt railhead) 차단, M1 Abrams + Leopard 2 의 combined-arms 돌파.

### 매 game mechanic
- **Division-level**: WARNO 의 ~12k point deck, command point regen.
- **Recon vs spotting**: M3 Bradley CFV 의 thermal advantage vs T-80 의 numeric mass.
- **Air**: A-10 + Tornado IDS CAS 와 Su-25 + Mi-24 의 air-denial.
- **Logistics**: FOB ammo / fuel truck 의 supply chain.

### 매 응용
1. Tactical AI 학습 데이터 — RTS unit micro / macro decision.
2. POMDP belief-state 의 fog-of-war benchmark.
3. Multi-agent RL — heterogeneous unit coordination.

## 💻 패턴

### Scenario state schema (Python)
```python
from dataclasses import dataclass, field
from typing import Literal

Side = Literal["NATO", "WP"]

@dataclass
class Unit:
    id: str
    side: Side
    type: str            # "M1A1", "T-80B", "A-10A", ...
    pos: tuple[float, float]
    hp: float = 1.0
    suppression: float = 0.0
    ammo: float = 1.0
    spotted_by: set[Side] = field(default_factory=set)

@dataclass
class Scenario:
    name: str = "Western Sun"
    turn: int = 0
    weather: Literal["clear", "rain", "fog"] = "clear"
    units: list[Unit] = field(default_factory=list)
```

### Fog-of-war 의 belief update
```python
def observe(scenario, side):
    visible = []
    for u in scenario.units:
        if u.side == side or side in u.spotted_by:
            visible.append(u)
    return visible

def update_belief(belief, obs):
    # particle filter on enemy positions
    for p in belief.particles:
        p.weight *= likelihood(p, obs)
    belief.resample()
```

### Combined-arms scoring
```python
def force_value(units):
    arm = sum(1 for u in units if u.type.startswith(("M1", "Leo", "T-")))
    inf = sum(1 for u in units if "BMP" in u.type or "M2" in u.type)
    air = sum(1 for u in units if u.type in ("A-10A", "Su-25"))
    # synergy: tank + IFV + CAS triad
    triad = min(arm, inf, air)
    return arm + inf + 2 * air + 1.5 * triad
```

### Replay export (JSON)
```python
import json
def export_replay(scn, path):
    json.dump({
        "scenario": scn.name,
        "turn": scn.turn,
        "units": [u.__dict__ for u in scn.units],
    }, open(path, "w"), default=list)
```

### MCTS rollout 의 unit micro
```python
def rollout(state, depth=20):
    for _ in range(depth):
        if terminal(state):
            break
        a = random_legal_action(state)
        state = step(state, a)
    return reward(state)
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 single-player AI training | scripted opponent + curriculum |
| 매 multi-agent RL | self-play with frozen pool |
| 매 human study | replay export + heatmap |
| 매 doctrine analysis | force_value + outcome regression |

**기본값**: WARNO mod + division-level RL bench.

## 🔗 Graph
- 부모: [[Wargame]]
- 응용: [[POMDP]]
- Adjacent: [[Eugen-Systems]]

## 🤖 LLM 활용
**언제**: 매 scenario briefing 생성, AAR (after-action report) 요약, doctrine 분석.
**언제 X**: 매 real-time tactical decision — latency / hallucination 위험.

## ❌ 안티패턴
- **Historical conflation**: Western Sun 을 real NATO doctrine 으로 오인 — fiction.
- **Symmetric assumption**: WP / NATO 의 doctrine 비대칭을 무시한 balance 패치.
- **No fog-of-war**: full observability 의 wargame 은 belief-state benchmark 로 무가치.

## 🧪 검증 / 중복
- Verified (Eugen Systems WARNO patch notes, 가상 시나리오 reference).
- 신뢰도 B (fictional).

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — full scenario + tactical AI patterns |
