--- id: wiki-2026-0508-sarkis-cloning-technology title: Sarkis Cloning Technology category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Sarkis Clone Tech, Skybound Cloning, Cloning Lore Mechanic] duplicate_of: none source_trust_level: B confidence_score: 0.85 verification_status: applied tags: [game-design, lore, narrative, skybound, war-commander] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: typescript framework: narrative-system --- # Sarkis Cloning Technology ## 매 한 줄 > **"매 villain 의 unkillability 는 매 lore mechanic 의 product 다."**. Sarkis Cloning Technology 는 War Commander 의 antagonist Sarkis 가 매 defeat 후 clone 으로 부활하는 narrative device — repeat-encounter PvE bossfight 의 lore justification 이자, escalating-difficulty arc 의 backbone. 매 player 가 "왜 매번 같은 적이 더 강해져서 나타나는가" 라는 ludonarrative dissonance 를 mechanically resolve. ## 매 핵심 ### 매 Lore Premise - Sarkis 는 매 death event 후 cloned consciousness 로 reactivate - 매 clone 은 previous defeat data 를 inherit → adaptive AI - "Generation" 을 lore-internal version number 로 사용 (Sarkis Mk II, III, ...) - Faction: Skybound (sky-themed antagonist faction) ### 매 Mechanical Function - **Boss respawn justification**: 매 raid event 마다 동일 boss 재등장 가능 - **Power escalation device**: 매 generation 마다 +stat, +ability - **Story progression hook**: 매 clone iteration → new dialogue, new arc - **Player progression mirror**: 매 player level up → 매 Sarkis level up ### 매 응용 1. War Commander: Sarkis Mk-series boss tiers. 2. Skybound campaign: clone-iteration arc → final "original" reveal. 3. Telemetry: clone defeat count → analytics on raid completion. ## 💻 패턴 ### Pattern 1 — Clone generation entity ```typescript interface SarkisClone { generation: number; baseStats: BossStats; inheritedTraits: TraitId[]; abilityUnlocks: AbilityId[]; defeatCount: number; } function spawnClone(prev: SarkisClone | null): SarkisClone { const gen = (prev?.generation ?? 0) + 1; return { generation: gen, baseStats: scaleStats(BASE_STATS, gen, 1.15), inheritedTraits: prev ? evolveTraits(prev.inheritedTraits) : SEED_TRAITS, abilityUnlocks: pickAbilities(gen), defeatCount: 0, }; } ``` ### Pattern 2 — Adaptive trait evolution ```typescript function evolveTraits(prev: TraitId[]): TraitId[] { // 매 player 의 winning strategy 에 counter trait 부여 const meta = analyticsService.getDominantStrategy(); const counter = TRAIT_COUNTERS[meta] ?? RANDOM_TRAIT; return [...prev, counter].slice(-MAX_TRAITS); } ``` ### Pattern 3 — Stat scaling ```typescript function scaleStats(base: BossStats, gen: number, factor: number): BossStats { const mult = Math.pow(factor, gen); return { hp: base.hp * mult, damage: base.damage * mult, armor: base.armor + Math.floor(gen / 3), speed: base.speed, }; } ``` ### Pattern 4 — Lore dialogue selection ```typescript function getCloneDialogue(gen: number, defeatCount: number): DialogueLine[] { if (gen === 1) return INTRO_LINES; if (gen <= 5) return ARROGANCE_LINES; if (gen <= 10) return DESPERATION_LINES; return EXISTENTIAL_LINES; // 매 high-gen → 매 self-awareness arc } ``` ### Pattern 5 — Defeat → respawn cooldown ```typescript async function onCloneDefeated(clone: SarkisClone, players: Player[]) { await grantRewards(players, clone.generation); const cooldown = 7 * 24 * 3600 * 1000; // 매 7d 후 재등장 scheduler.schedule(() => spawnClone(clone), cooldown); } ``` ### Pattern 6 — "Original Sarkis" reveal trigger ```typescript function checkOriginalReveal(state: CampaignState): boolean { return state.maxCloneGen >= 12 && state.allianceCompletedArcs.includes('skybound-mk12'); } ``` ### Pattern 7 — Clone telemetry log ```typescript function logCloneEvent(event: 'spawn'|'defeat', clone: SarkisClone, players: string[]) { analytics.track('sarkis_clone_event', { type: event, generation: clone.generation, traits: clone.inheritedTraits, participants: players.length, timestamp: Date.now(), }); } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | Repeat boss needed | Clone lore device (Sarkis-style) | | One-time finale boss | Original-only, no clone | | Power-creep concern | Cap generations, soft reset | | Narrative dissonance | Use clone arc to address it directly | **기본값**: clone generation cap 12, +15% stat scaling per gen, adaptive traits enabled. ## 🔗 Graph - 부모: [[Procedural-Rhetoric|Procedural Rhetoric (In Gaming)]] · [[Live Operations (LiveOps)]] - 변형: [[Beresnev Studio]] · [[Stage-Director-and-World-Tension-Scaling]] - 응용: [[Skybound_Skill_Asset_Integration]] · [[War-Commander-Combat-Ecosystem]] - Adjacent: [[Power Creep (Content Treadmills)]] · [[Procedural-Level-Geometry]] ## 🤖 LLM 활용 **언제**: 반복 boss arc 의 lore design, narrative-mechanic alignment 검토, escalation curve 설계. **언제 X**: linear single-narrative game, perma-death roguelike — clone device 부적합. ## ❌ 안티패턴 - **Infinite generations w/o cap**: power creep + player exhaustion. - **No narrative payoff**: 매 clone 이 단순 reskin → 매 player engagement 0. - **Mechanical = lore mismatch**: lore 상 unique 하다고 해놓고 매 mechanic 은 reskin. - **No counter-strategy adaptation**: clone 이 변하지 않으면 매 boss fight 가 trivial 해짐. ## 🧪 검증 / 중복 - Verified (Kixeye War Commander event archive, Skybound campaign notes). - 신뢰도 B (lore-specific, partial public docs). ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — clone lore mechanic + 7 implementation patterns |