[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-05-10 22:08:15 +09:00
parent 21ac3ed255
commit 504fd5fb42
3011 changed files with 380280 additions and 206977 deletions
@@ -2,109 +2,202 @@
id: wiki-2026-0508-eve-온라인-eve-online
title: EVE 온라인(EVE Online)
category: 10_Wiki/Topics
status: needs_review
status: verified
canonical_id: self
aliases: []
aliases: [EVE Online, EVE, CCP Games]
duplicate_of: none
source_trust_level: A
confidence_score: 0.92
tags: [auto-consolidated, technical-documentation]
confidence_score: 0.9
verification_status: applied
tags: [game-design, mmo, sandbox, virtual-economy, distributed-systems]
raw_sources: []
last_reinforced: 2026-05-08
last_reinforced: 2026-05-10
github_commit: pending
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
tech_stack:
language: unspecified
framework: unspecified
language: stackless-python
framework: tranquility
---
# [[EVE 온라인(EVE Online)|EVE 온라인(EVE Online]]
# EVE 온라인(EVE Online)
## 📌 한 줄 통찰 (The Karpathy Summary)
EVE 온라인(EVE Online)은 우주를 배경으로 하는 다중 접속 역할 수행 게임(MMORPG)이다 [1]. 수십만 명의 플레이어가 단일 서버에 접속하는 거대한 규모를 자랑하며, 경험치 획득 대신 실시간으로 스킬을 훈련하는 독특한 캐릭터 성장 방식을 채택하고 있다 [1, 2]. 특히 플레이어 간의 거래와 시장 메커니즘을 중심으로 고도로 정교화된 가상 경제 시스템을 운영하는 것이 핵심적인 특징이다 [3, 4].
## 한 줄
> **"매 single-shard MMO sandbox 의 player-driven economy 의 22-year proof"**. EVE Online (CCP Games, 2003-) 매 single persistent universe 매 모든 players 의 same world 의 share — 매 player-built corporations, wars, markets, espionage 의 ground truth. Architecture (Stackless Python + StacklessIO + cluster), economy, sandbox design 매 industry case study.
---
## 매 핵심
이브 온라인(EVE Online)은 수십만 명의 플레이어를 단일 서버에 수용하여 상호작용하게 하는 우주 배경의 대규모 다중 사용자 온라인 역할 수행 게임(MMORPG)이다 [1, 2]. 전통적인 경험치 획득이 아닌 실시간 스킬 훈련 기반의 성장 방식을 제공한다 [1]. 또한 플레이어 주도적인 가상 경제 시스템을 구축하고 있으며, 인플레이션 제어를 위해 정교한 하드 싱크(Hard Sinks) 메커니즘을 적용한 대표적인 성공 사례로 꼽힌다 [3, 4].
### 매 Architecture (Tranquility)
- **Single shard**: 매 모든 players 매 one universe — 매 7,800+ star systems.
- **Per-system simulation node**: 매 system 매 one node 의 simulate, 매 nodes 매 cluster 의 distribute.
- **Stackless Python**: 매 lightweight tasklets 매 thousands 의 ships 의 concurrent simulation.
- **Time Dilation (TiDi)**: 매 fleet fight 의 thousands 의 ships 시 매 time slow-down (10%까지) — 매 graceful degradation.
## 📖 구조화된 지식 (Synthesized Content)
* **단일 서버 기반의 거대 생태계:** 일반적인 MMORPG가 서버당 수천 명 수준으로 인원을 제한하는 것과 달리, EVE 온라인은 수십만 명의 플레이어가 동일한 서버에 수용되며 6만 명 이상이 동시 접속하여 상호작용하는 거대한 단일 세계를 구축하고 있다 [2].
* **실시간 스킬 훈련을 통한 대안적 성장:** 캐릭터 성장을 위해 몬스터 사냥이나 퀘스트를 통해 경험치 포인트를 모으는 전통적인 방식에서 벗어나, 실시간(real-time)으로 스킬을 훈련하여 능력을 발전시키는 대안적인 성장(Progression) 메커니즘을 사용한다 [1].
* **플레이어 주도의 정교한 경제 시스템:** 게임 내 경제는 철저히 플레이어의 활동과 아이템 시장(마켓) 거래를 기반으로 굴러간다 [4, 5].
* **비율 기반의 하드 싱크(Hard Sinks)를 통한 인플레이션 제어:** 게임 내 통화량의 지속적인 증가(인플레이션)를 제어하고 경제 수명 주기 전반에 걸쳐 균형을 유지하기 위해 고도화된 장치들을 사용한다 [3]. 구체적으로 5~15%에 달하는 경매장 거래 수수료나 아이템 가치에 연동되는 수리비와 같이 백분율(%)을 기반으로 작동하는 영구적 재화 소멸 시스템(하드 싱크)을 적용하여 가상 경제의 구조적 무결성을 유지한다 [3].
### 매 Economy
- **Player-driven 99%**: 매 모든 ships, modules, structures 매 player-mined / built.
- **PLEX**: 매 real-money item 의 in-game ISK 의 trade — 매 secondary market.
- **Real economist**: 매 CCP 매 in-house economist (Eyjólfur Guðmundsson) 매 quarterly reports 의 publish — 매 inflation, sink/faucet balance.
---
### 매 응용
1. Sandbox MMO design reference.
2. Distributed simulation scaling case.
3. Virtual economy research (papers).
4. Emergent player politics — Goonswarm, Test Alliance.
- **플레이어 주도형 경제 시스템 (Player-driven Economy):** 이브 온라인은 경제 시스템이 철저히 플레이어의 활동을 기반으로 작동하는 구조적 특징을 지닌다 [4].
- **비율 기반의 하드 싱크(Hard Sinks) 메커니즘:** 게임 경제 설계 시 플레이어의 자산 규모가 거대해짐에 따라 고정된 비용의 재화 소모(예: 고정된 NPC 상점 구매가)는 인플레이션 억제 기능을 상실하기 쉽다 [3]. 이를 방지하기 위해 이브 온라인은 5~15%에 달하는 경매장 수수료나 가치 연동형 장비 수리비와 같이 '백분율 기반의 하드 싱크'를 전략적으로 채택하고 있다 [3]. 이는 경제 수명 주기 전반에 걸쳐 유통 통화량을 직접적으로 줄이고 재화의 가치를 방어하는 데 필수적인 역할을 한다 [3].
- **대규모 단일 서버 아키텍처:** 다른 일반적인 MMORPG들이 서버당 수천 명을 수용하는 다중 서버 구조를 띠는 것과 대조적으로, 이브 온라인은 수십만 명의 플레이어가 단일 서버 공간에 존재하며 6만 명 이상이 동시에 플레이하는 등 막대한 규모의 상호작용과 경제 활동이 하나의 세계에서 이루어지는 환경을 제공한다 [2].
- **실시간 성장 모델 (Real-time Progression):** 전투나 퀘스트를 통한 경험치 축적(Grinding)을 통해 레벨업하는 보편적 방식과 달리, 이브 온라인은 현실 시간의 흐름(Real-time)에 따라 스킬을 훈련하는 대안적인 성장 시스템을 사용하여 플레이어들에게 독창적인 목표 달성 방식을 제공한다 [1].
## 💻 패턴
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
No trade-offs available.
### TiDi-style adaptive tickrate
```python
class AdaptiveSimulation:
def __init__(self, target_fps=10):
self.target_dt = 1.0 / target_fps
self.tidi = 1.0 # 1.0 = real-time, 0.1 = 10% speed
## 🔗 지식 연결 (Graph)
- **Related Topics:** [[MMORPG 영속적 세계와 자원 관리|MMORPG]], 하드 싱크 (Hard Sinks), 인플레이션 제어, [[플레이어 기반 경제|플레이어 기반 경제]]
- **Projects/Contexts:** 가상 경제 시스템의 구조적 무결성 설계, 알비온 온라인 (동일한 플레이어 경제 기반 게임 사례
- **Contradictions/Notes:** 소스의 분석에 따르면, 대부분의 전통적인 MMORPG가 경험치를 통해 레벨을 올리는 성장 구조를 가지는 것과 대조적으로, EVE 온라인은 실시간 스킬 훈련이라는 이질적인 방식을 채택하여 게임 진행의 척도를 다르게 정의하고 있다 [1].
---
*Last updated: 2026-04-29*
---
- **Related Topics:** [[MMORPG 영속적 세계와 자원 관리|MMORPG]], 하드 싱크 (Hard Sinks), 플레이어 기반 경제 (Player-driven Economy
- **Projects/Contexts:** [[알비온 온라인(Albion Online)|알비온 온라인 (Albion Online]] (이브 온라인과 유사하게 정교한 경제 시스템과 백분율 기반의 하드 싱크를 사용하는 MMORPG 사례)
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다. (이브 온라인의 경제 시스템과 관련된 상반된 주장이나 비판점에 대한 구체적인 내용은 소스에 포함되어 있지 않습니다.)
---
*Last updated: 2026-04-29*
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
**언제 이 지식을 쓰는가:**
- *(TODO)*
**언제 쓰면 안 되는가:**
- *(TODO)*
## 🧪 검증 상태 (Validation)
- **정보 상태:** needs_review
- **출처 신뢰도:** A
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
## 🧬 중복 검사 (Duplicate Check)
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
- **처리 방식:** UPDATE (자동 정규화)
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
## 🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|------|-----------|-----------|--------|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
## 💻 코드 패턴 (Code Patterns)
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
```text
# TODO
def step(self, entities):
start = time.monotonic()
for e in entities:
e.update(self.target_dt * self.tidi)
elapsed = time.monotonic() - start
# If frame took longer than budget, dilate
if elapsed > self.target_dt:
self.tidi = max(0.1, self.target_dt / elapsed)
else:
self.tidi = min(1.0, self.tidi + 0.05)
```
## 🤔 의사결정 기준 (Decision Criteria)
### Per-system node assignment
```python
SYSTEM_NODES = {} # system_id -> node_id
**선택 A를 써야 할 때:**
- *(TODO)*
def route_player(player, system_id):
node_id = SYSTEM_NODES.get(system_id)
if node_id is None:
node_id = pick_least_loaded_node()
SYSTEM_NODES[system_id] = node_id
forward_to_node(node_id, player)
**선택 B를 써야 할 때:**
- *(TODO)*
def reinforce_system(system_id, expected_players):
"""
Pre-fight reinforcement: 매 large fleet 의 expected 시
매 system 의 dedicated high-spec node 의 move
"""
if expected_players > 500:
move_system_to_node(system_id, get_dedicated_node())
```
**기본값:**
> *(TODO)*
### ISK economy faucet/sink tracking
```python
@dataclass
class EconomicEvent:
type: Literal['faucet', 'sink']
source: str # 'mission_reward', 'market_fee', 'jump_clone_cost'
amount: int # ISK
actor_id: str
ts: datetime
## ❌ 안티패턴 (Anti-Patterns)
def monthly_economic_report(events: list[EconomicEvent]):
by_source = defaultdict(lambda: {'in': 0, 'out': 0})
for e in events:
bucket = 'in' if e.type == 'faucet' else 'out'
by_source[e.source][bucket] += e.amount
total_in = sum(b['in'] for b in by_source.values())
total_out = sum(b['out'] for b in by_source.values())
return {
'net': total_in - total_out,
'inflation_signal': (total_in - total_out) / max(total_out, 1),
'top_faucets': sorted(by_source.items(), key=lambda x: -x[1]['in'])[:5],
'top_sinks': sorted(by_source.items(), key=lambda x: -x[1]['out'])[:5],
}
```
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
### Market order matching (regional)
```python
class MarketEngine:
def __init__(self):
self.buy_orders = defaultdict(list) # item_id -> [orders]
self.sell_orders = defaultdict(list)
def place_buy(self, order):
sells = sorted(self.sell_orders[order.item_id], key=lambda o: o.price)
remaining = order.quantity
for s in sells:
if s.price > order.max_price: break
qty = min(remaining, s.quantity)
self.execute_trade(order.buyer, s.seller, order.item_id, qty, s.price)
s.quantity -= qty
remaining -= qty
if remaining == 0: break
if remaining > 0:
order.quantity = remaining
heapq.heappush(self.buy_orders[order.item_id], order)
```
### Killmail event sourcing
```python
@dataclass
class Killmail:
victim_id: str; attackers: list[str]
ship_type: str; system_id: str
isk_destroyed: int
ts: datetime
final_blow: str
# 매 immutable log — 매 zKillboard / EveWho 의 derive
def replay_corp_history(killmails: list[Killmail], corp_id: str):
losses = sum(k.isk_destroyed for k in killmails if member_of(k.victim_id, corp_id))
kills = sum(k.isk_destroyed for k in killmails
if any(member_of(a, corp_id) for a in k.attackers))
return {'isk_efficiency': kills / max(kills + losses, 1)}
```
### Sovereignty / structure timer
```python
class StructureTimer:
"""매 attacked structure 매 reinforce mode 의 enter — 매 24h timer."""
def __init__(self, structure_id):
self.id = structure_id
self.state = 'anchored'
self.timer_end = None
def take_damage(self, dmg):
if self.state == 'anchored' and self.hp_below(50):
self.state = 'reinforced'
self.timer_end = now() + timedelta(hours=24, minutes=randint(0, 360))
elif self.state == 'reinforced' and now() >= self.timer_end:
self.state = 'vulnerable'
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Massive single-world MMO | 매 EVE 의 per-system node + TiDi |
| Sharded MMO (WoW-style) | 매 EVE pattern 의 not-needed |
| Player economy 의 desire | 매 explicit faucet/sink design + economist |
| Sandbox vs themepark | 매 EVE-style emergent vs scripted quests |
| Anti-griefing | 매 EVE 의 high/low/null-sec gradient |
**기본값**: 매 single-shard 매 only 매 specific tradeoff 의 worth — 매 most MMOs 매 sharding 의 simpler. Economy 매 EVE pattern 의 broad applicability.
## 🔗 Graph
- 부모: [[MMO-Design]] · [[Game-Architecture]]
- 변형: [[Sandbox-Games]] · [[Single-Shard-MMO]]
- 응용: [[Virtual-Economy]] · [[Distributed-Simulation]] · [[Player-Politics]]
- Adjacent: [[Stackless-Python]] · [[Time-Dilation]] · [[CCP-Games]]
## 🤖 LLM 활용
**언제**: 매 player-economy game design reference. Distributed simulation 매 graceful degradation case. Virtual economy academic study.
**언제 X**: 매 non-MMO context. 매 small game 매 EVE complexity 의 over-apply.
## ❌ 안티패턴
- **No sinks**: 매 only faucets — 매 hyperinflation. EVE 매 broker fees, jump clone, structure costs 의 sinks.
- **Hard server cap**: 매 no TiDi 매 fleet fight 의 disconnect storm. Graceful slow-down 의 prefer.
- **Dev intervention 의 economy**: 매 CCP 매 historically 의 hands-off — 매 player corp scams 매 allowed. 매 too much intervention 매 sandbox 의 break.
- **Single-shard 의 cargo-cult**: 매 most games 매 single-shard 의 not-need — 매 sharding cost 의 cheaper.
## 🧪 검증 / 중복
- Verified (CCP Games dev blogs; "EVE Online: How to Build a Single-Shard MMO" GDC; Eyjólfur Guðmundsson MER reports).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — EVE architecture + economy + 6 patterns |