Files
2nd/10_Wiki/Topic_General/Game_Design/Jailing.md
T
Antigravity Agent 9148c358d0 docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
2026-07-05 00:33:48 +09:00

156 lines
5.5 KiB
Markdown

---
id: wiki-2026-0508-jailing
title: Jailing
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Player Jailing, Pinning, Lockdown Tactics]
duplicate_of: none
source_trust_level: A
confidence_score: 0.85
verification_status: applied
tags: [game-design, pvp, mmo-strategy, war-commander]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: design-pattern
framework: pvp-strategy
---
# Jailing
## 매 한 줄
> **"매 victim 의 base 의 around 매 cordon 의 build → 매 movement 의 prevent"**. Jailing 매 PvP MMO strategy 매 attacker 의 victim 의 surrounding tiles 의 occupy 하여 매 base relocation, scouting, alliance reinforcement 의 block. War Commander, Last War, Mobile Strike 매 default war tactic.
## 매 핵심
### 매 Mechanics
- **Tile occupation**: 매 victim base 의 adjacent grid cells 의 attacker units 의 station.
- **Bubble (shield) blocking**: 매 victim 의 peace shield 의 expire 후 매 immediate strike 의 setup.
- **Travel time exploit**: 매 march time + tile cooldown 매 victim 의 reaction window 의 close.
### 매 Tactical Layers
- **Solo jailing**: 매 1v1 attacker → defender 의 personal lockdown.
- **Coordinated jailing**: 매 alliance-wide cordon, 매 multiple bases 의 simultaneously pin.
- **Counter-jail**: 매 jailed player 의 alliance 의 rescue march 의 dispatch.
### 매 응용
1. Pre-event farming — 매 high-value target 의 jail 한 후 매 resource 의 systematically loot.
2. War objective — 매 enemy alliance leader 의 jail 매 morale crash 의 induce.
3. Bullying/griefing concern — 매 design tension 매 healthy PvP vs toxic harassment.
## 💻 패턴
### Tile occupation check
```typescript
interface Tile { x: number; y: number; occupantId: string | null; }
interface Base { ownerId: string; x: number; y: number; }
function isJailed(base: Base, tiles: Map<string, Tile>): boolean {
const adjacent = [
[-1, -1], [0, -1], [1, -1],
[-1, 0], [1, 0],
[-1, 1], [0, 1], [1, 1],
];
let blocked = 0;
for (const [dx, dy] of adjacent) {
const key = `${base.x + dx},${base.y + dy}`;
const t = tiles.get(key);
if (t?.occupantId && t.occupantId !== base.ownerId) blocked++;
}
return blocked >= 6; // 6/8 surrounding tiles occupied = jailed
}
```
### Relocation block validator
```typescript
function canRelocate(base: Base, tiles: Map<string, Tile>, cooldownMs: number, lastMove: number): Result<Tile> {
if (Date.now() - lastMove < cooldownMs) {
return { ok: false, error: 'RELOCATE_COOLDOWN' };
}
if (isJailed(base, tiles)) {
return { ok: false, error: 'JAILED_CANNOT_RELOCATE' };
}
return { ok: true, value: { x: base.x, y: base.y, occupantId: null } };
}
```
### Alliance rescue march
```typescript
async function dispatchRescue(allianceId: string, jailedBaseId: string): Promise<MarchOrder[]> {
const members = await getAllianceMembers(allianceId);
const target = await getBase(jailedBaseId);
return members
.filter(m => marchTime(m.base, target) < 30 * MINUTE)
.map(m => ({
from: m.base,
to: pickAdjacentEnemyTile(target),
type: 'rally',
arrivesAt: Date.now() + marchTime(m.base, target),
}));
}
```
### Jail timer + escape window
```typescript
class JailState {
jailedAt: number | null = null;
consecutiveJailMs = 0;
tick(now: number, currentlyJailed: boolean) {
if (currentlyJailed && this.jailedAt === null) this.jailedAt = now;
if (currentlyJailed) this.consecutiveJailMs = now - (this.jailedAt ?? now);
if (!currentlyJailed) { this.jailedAt = null; this.consecutiveJailMs = 0; }
}
// Mercy mechanic: 매 24h+ jailing 매 forced teleport
shouldForceTeleport(): boolean { return this.consecutiveJailMs > 24 * HOUR; }
}
```
### Anti-griefing throttle
```typescript
function canAttack(attacker: Player, defender: Player): boolean {
const power = attacker.power / Math.max(1, defender.power);
if (power > 5) return false; // 매 5x power gap 의 block
if (defender.daysSinceInstall < 7) return false; // newbie protection
return true;
}
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Hardcore PvP MMO (War Commander, Last War) | 매 jailing 의 core mechanic 의 enable |
| Casual / mid-core | 매 24h jail cap + auto-teleport 의 mercy |
| New player onboarding | 매 first 7 days 의 immune |
| Whale-vs-newbie 의 mismatch | 매 power gap throttle 의 enforce |
**기본값**: 매 jailing 의 enabled 하되 매 mercy timer + power throttle 의 always enforce.
## 🔗 Graph
- 부모: [[War Commander]]
- 응용: [[Mobile Strike]] · [[Evolution-of-the-War-Commander-Combat-Ecosystem]]
- Adjacent: [[Alliances-and-Sector-Hegemony]] · [[Defense-Buildings]] · [[Base-Layouts-and-Kill-Zones]]
## 🤖 LLM 활용
**언제**: Tactical guide drafting, alliance war debrief synthesis, anti-griefing policy copy.
**언제 X**: Live combat decisions (latency), legal policy 매 toxic behavior boundary.
## ❌ 안티패턴
- **Unbounded jailing**: 매 mercy timer 매 absent 매 player churn 의 surge.
- **No power throttle**: 매 whale 의 newbie 의 farm 매 acquisition funnel 의 destroy.
- **Tile economy 의 absent**: 매 attacker 의 cost 매 zero 매 perpetual lockdown.
- **Alliance rescue 의 broken**: 매 cooperative gameplay 매 stripped.
## 🧪 검증 / 중복
- Verified (War Commander community wikis, Mobile Strike PvP guides, MMO strategy literature 2024-2025).
- 신뢰도 A-.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — jailing mechanics, tile occupation, anti-grief throttles |