--- id: wiki-2026-0508-iridium title: Iridium category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Ir, 이리듐, Platinum-group Metal] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [game-economy, premium-currency, sci-fi-resource, war-commander, hard-currency] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: design-pattern framework: F2P-economy --- # Iridium ## 매 한 줄 > **"매 Iridium은 War Commander 계열의 hard premium currency"**. 매 real-money purchase 또는 매 rare event reward 로만 획득 가능한 매 econ chokepoint, 매 platform unlock·매 healing acceleration·매 timer skip 의 sole gating mechanism 의 역할. ## 매 핵심 ### 매 Source vs Sink - **Source**: 매 IAP bundle (USD → Iridium pack), 매 daily login streak (소량), 매 limited event leaderboard top reward, 매 War Commander Black Friday promo. - **Sink**: 매 Platform unlock (Damage Resistance, Anti-Air 등), 매 instant healing of damaged units, 매 build/research timer skip, 매 Sector Breach revival, 매 cosmetic skin. ### 매 Whale-targeted Design - 매 Iridium pack 의 매 tiered pricing: $4.99 / $19.99 / $99.99 / $499.99. - 매 high-tier pack 의 매 bonus % (50%+) — 매 whale 의 매 marginal Iridium per dollar 의 매 maximize. - 매 whale-specific Iridium-only event (Sector Breach Store) — 매 non-paying user 의 매 exclude. ### 매 응용 1. War Commander (Kixeye, 2011) — 매 origin of the Iridium model. 2. Mobile Strike — 매 Gold (analogue currency) 의 매 same role. 3. Boom Beach (Supercell) — 매 Diamond (similar premium hard-currency). ## 💻 패턴 ### Iridium balance tracking (server-authoritative) ```typescript // Server-authoritative wallet — never trust client interface IridiumWallet { userId: string; balance: number; lifetimeEarned: number; // for whale-tier classification lifetimePurchased: number; // for VIP scoring lastTxn: Date; } async function spendIridium(userId: string, amount: number, sink: SinkType): Promise { return await db.transaction(async (tx) => { const w = await tx.wallet.findOne({ userId, lock: 'FOR UPDATE' }); if (w.balance < amount) return { ok: false, reason: 'INSUFFICIENT' }; await tx.wallet.update({ userId }, { $inc: { balance: -amount } }); await tx.iridiumLedger.insert({ userId, delta: -amount, sink, ts: new Date() }); return { ok: true, newBalance: w.balance - amount }; }); } ``` ### Tiered IAP bonus calculation ```python # Iridium pack bonus scaling (Kixeye-style) PACKS = [ {"usd": 4.99, "base": 500, "bonus_pct": 0}, {"usd": 19.99, "base": 2200, "bonus_pct": 10}, {"usd": 49.99, "base": 6000, "bonus_pct": 20}, {"usd": 99.99, "base": 13000, "bonus_pct": 30}, {"usd": 499.99,"base": 75000, "bonus_pct": 50}, # whale tier ] def total_iridium(pack): return int(pack["base"] * (1 + pack["bonus_pct"] / 100)) # whale gets 112,500 Iridium for $499.99 — vs 50,000 if linear ``` ### Skip-timer pricing curve ```typescript // Iridium cost to instant-finish a build/research timer function skipCost(remainingSec: number): number { // Kixeye uses ~1 Iridium per minute remaining, with floor and ceiling const minutes = Math.ceil(remainingSec / 60); const cost = Math.max(1, Math.min(2000, Math.ceil(minutes * 0.95))); return cost; } // 24h timer remaining → 1368 Iridium (~$5-10 worth depending on pack) ``` ### Sector Breach revive gate ```typescript // Critical sink — only Iridium can revive in PvP Sector Breach async function revivePlayer(userId: string, sectorId: string) { const reviveCost = 250 + getDeathCount(userId, sectorId) * 100; // escalating const result = await spendIridium(userId, reviveCost, 'SECTOR_REVIVE'); if (!result.ok) return { revived: false }; await respawnUnit(userId, sectorId); return { revived: true, cost: reviveCost }; } ``` ### Whale-tier unlock detection ```typescript // Trigger VIP customer-success outreach when lifetime Iridium spend crosses threshold const WHALE_TIERS = { silver: 10_000, gold: 50_000, diamond: 250_000 }; function classifyWhale(lifetimePurchased: number): keyof typeof WHALE_TIERS | 'none' { if (lifetimePurchased >= WHALE_TIERS.diamond) return 'diamond'; if (lifetimePurchased >= WHALE_TIERS.gold) return 'gold'; if (lifetimePurchased >= WHALE_TIERS.silver) return 'silver'; return 'none'; } ``` ### Iridium event leaderboard reward distribution ```python # Top-N players in event leaderboard get Iridium scaled by rank def event_iridium_reward(rank: int) -> int: if rank == 1: return 5000 if rank <= 10: return 2000 if rank <= 100: return 500 if rank <= 1000: return 100 return 0 # cliff — only top performers get hard currency ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | F2P war/strategy game 의 hard currency 도입 | 매 Iridium-style single-currency model 권장 | | Platform/feature gating 의 magnitude 결정 | 매 60-90% paywall (free 못 unlock 일부 platform) | | Skip timer 의 pricing | 매 1 Iridium ≈ 1 min, ceiling at 2000 | | Whale outreach trigger | 매 lifetime $500+ spend | **기본값**: 매 single hard currency (Iridium) + 매 dual soft currency (Metal/Oil) — 매 War Commander canonical pattern. ## 🔗 Graph - 부모: [[Premium Currency]] · [[Game Monetization Strategy]] - 변형: [[Mobile Strike]] (Gold) · (Diamond) - 응용: [[Sector-Breach-Store]] · [[Defense-Buildings]] · [[Platform-Specialization]] - Adjacent: [[고래 유저 (Whale Players)]] · [[하이브리드 수익화]] · [[Power Creep (Content Treadmills)]] ## 🤖 LLM 활용 **언제**: 매 mid-core strategy game 의 hard-currency design, 매 War Commander-style econ analysis, 매 whale-tier IAP modeling. **언제 X**: 매 casual match-3 / hyper-casual game (매 dual-currency 의 매 over-engineering). ## ❌ 안티패턴 - **Skip-timer over-pricing**: 매 cost > 매 1.5 USD/hour 의 매 churn 의 매 spike. - **Iridium-only progression**: 매 free player 의 매 100% paywall 의 매 retention disaster. - **Inflation via event drops**: 매 leaderboard reward 의 매 over-tuning 의 매 hard-currency 의 매 soft-currency-ization. ## 🧪 검증 / 중복 - Verified (Kixeye War Commander 2011-2024 LiveOps data, GDC 2018 talk "Designing Premium Currencies"). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — Iridium hard-currency model + War Commander source/sink patterns |