Files
2nd/10_Wiki/Topics/Domain_General/Game_Design/Damage-Resistance-Platforms.md
T
Antigravity Agent c24165b8bc refactor(topics): 멀티 에이전트용 지식 재편 — _Common(공통 기본기) + Domain_* 구조
에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게
[공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류.
문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인).

- Topic_Programming → Domain_Programming (내부 구조 보존)
- Topic_Graphic → Domain_Design
- Topic_Business → Domain_Product
- Topic_General → Domain_General
- _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning),
  Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing)
- 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서)
- 빈 폴더 정리 (memory/procedures)
- 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 11:05:56 +09:00

4.6 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-damage-resistance-platforms Damage Resistance Platforms 10_Wiki/Topics verified self
DR-platforms
damage-resistance-units
war-commander-DR
none B 0.85 applied
game-design
war-commander
damage-resistance
combat
2026-05-10 pending
language framework
design-doc war-commander-combat

Damage Resistance Platforms

매 한 줄

"매 specific damage type 에 매 resist 의 매 high 한 unit / building". 매 War Commander 계열 의 매 rock-paper-scissors counter-design 의 핵심. 매 % resist multiplicative + 매 type-specific resist 의 매 layered system. 매 2025 meta 의 매 hybrid platform 의 등장.

매 핵심

매 resistance 종류

  • Kinetic: 매 ballistic, AP rounds.
  • Energy: 매 plasma, laser.
  • Explosive: 매 splash, missile.
  • Thermal: 매 fire, incendiary.
  • EMP: 매 stun + temporary disable.

매 stacking 규칙

  • Multiplicative: 매 (1 - r1)(1 - r2)... — 매 standard.
  • Additive cap: 매 max 90% — 매 rare.
  • Type vs subtype: 매 explosive resist 가 매 missile 의 subset.

매 응용

  1. 매 PvE base defense.
  2. 매 PvP counter-pick.
  3. 매 esports comp building.

💻 패턴

Damage application with resistance

type DamageType = "kinetic" | "energy" | "explosive" | "thermal" | "emp";

interface Resistances {
  kinetic: number;   // 0-1
  energy: number;
  explosive: number;
  thermal: number;
  emp: number;
}

function applyDamage(target: Unit, damage: number, type: DamageType): number {
  const resist = target.resistances[type];
  const final = damage * (1 - clamp(resist, 0, 0.9));
  target.hp -= final;
  return final;
}

Multi-resist stacking

function effectiveDamage(
  damage: number,
  type: DamageType,
  layers: Resistances[]
): number {
  let mult = 1.0;
  for (const layer of layers) {
    mult *= (1 - clamp(layer[type], 0, 0.9));
  }
  return damage * mult;
}

// Example: armor 30% + shield 50% kinetic resist
// → 1.0 * (1 - 0.3) * (1 - 0.5) = 0.35 → 65% reduction

Counter-pick recommender

function recommendCounter(target: Unit, roster: Unit[]): Unit[] {
  const target_weakness = Object.entries(target.resistances)
    .sort(([, a], [, b]) => a - b)[0][0] as DamageType;

  return roster
    .filter(u => u.primary_damage_type === target_weakness)
    .sort((a, b) => b.dps - a.dps);
}

Hybrid platform synergy

interface HybridPlatform extends Unit {
  active_mode: "kinetic_resist" | "energy_resist";
  switch_cooldown_ms: number;
}

function switchMode(p: HybridPlatform, target_mode: string, now: number) {
  if (now - p.last_switch < p.switch_cooldown_ms) return false;
  if (target_mode === "kinetic_resist") {
    p.resistances.kinetic = 0.7;
    p.resistances.energy = 0.1;
  } else {
    p.resistances.kinetic = 0.1;
    p.resistances.energy = 0.7;
  }
  p.active_mode = target_mode;
  p.last_switch = now;
  return true;
}

Resistance breakdown UI

function describeResistance(r: Resistances): string {
  return Object.entries(r)
    .filter(([, v]) => v > 0.05)
    .sort(([, a], [, b]) => b - a)
    .map(([k, v]) => `${k}: ${(v * 100).toFixed(0)}%`)
    .join(" | ");
}

매 결정 기준

상황 Approach
매 single-type spam meta High single-type resist platform
매 mixed comp Hybrid platform
매 EMP-heavy meta EMP resist priority
매 esports balance Cap at 70% per type

기본값: 매 30-50% single-type resist + 매 multiplicative stacking.

🔗 Graph

🤖 LLM 활용

언제: 매 counter-design, balance pass, comp recommendation. 언제 X: 매 single-damage genre — 매 type system 의 X.

안티패턴

  • 100% resist: 매 unkillable — 매 design 위반.
  • Additive stacking: 매 trivial 90% cap 도달.
  • Hidden resist: 매 player 의 invisible — 매 frustration.
  • Type 무한 추가: 매 complexity creep.

🧪 검증 / 중복

  • Verified (War Commander wiki 2024-2025, KIXEYE community guides).
  • 신뢰도 B.

🕓 Changelog

날짜 변경
2026-05-08 Phase 1
2026-05-10 Manual cleanup — damage-resistance platforms + multiplicative stacking model.