유적 탐사 설계 (Ruin Expedition)
상태: 정본 (2026-08-16 — 5 archetype · StS DAG 분기 · 이벤트 컷신)
대비: 봉인의 탑 시련 ≠ 유적 외출.
관련: DESIGN.md · CHIMERA_DESIGN.md · SYSTEMS_ROADMAP.md
0. 한 줄
봉인의 탑 = 아카데미 서포트 → 층 소환진 상점 가동.
유적 = 월드맵 외출 → 아카데미 결계 반경(거점 Lv4와 동일, 0.24) 안이면 아카데미 창고 소환 지원, 또는 인근 거점 마법진 지원권. 둘 다 해당하면 출정 준비에서 지원원 선택.
미리 챙긴 기본템과 지원 거점 창고 원본에서 소환진 오퍼로 뽑힌 물품을 사용하며, 보관함에 수확을 담아 나온다.
맵은 슬더슬·아이작형 방 이동 → 최종 보스 → 오파츠·고급 아티팩트.
1. 봉인의 탑 vs 유적
| 봉인의 탑 (시련) | 유적 (외출) | |
|---|---|---|
| 진입 | Trial Prep · 챕터 | 허브 월드맵 · 외출 |
| 아카데미 서포트 | ✅ | ✅ (아카데미 결계 반경 안) |
| 소환진 | 층 상점 ✅ | 지원권 안의 아카데미 또는 거점 창고 원본을 오퍼·리롤로 소환 |
| 보급 | 층마다 신규 상품·리롤 | 출발 배낭 + 조건부 거점 창고 원격 소환 |
| 진행 | 로컬 1–10 층 루프 | 방 단위 이동 · 분기 |
| 주 보상 | 오클·축복·키메라 소재 | 오파츠 · 고급 아티팩트 · 키메라 소재 · (소량 골드/시글) |
| 패배 | 소대 전멸 | 소대 전멸 — 수확은 철수와 같이 commit |
로어: 탑은 아카데미 결계와 층 소환진 상점으로 보급한다. 유적은 월드맵 밖이지만, 아카데미 결계 반경 또는 인근 내 거점 마법진 반경 안이면 해당 창고 원본을 현장 복사본으로 불러올 수 있다.
2. 출정 준비 (허브)
월드맵에서 유적 노드 선택
→ 소대 편성 (battleSlots)
→ 출발 전 상점(허브/아카데미)에서 기본 아티팩트 구매
→ 배낭에 장착·배치 (칸 한계)
→ (선택) 인근 내 거점 창고에 예비 템 운송·보관
→ 출정 준비 화면에서 **지원 시에만 거점 창고 재고 열람** (미지원 시 창고 목록 없음) · 소대·배낭 배치
→ 출정
| 규칙 | 내용 |
|---|---|
| 배낭 | 전투·즉시 사용 장비. 칸 한계 엄격 — “들고 가는 짐” |
| 거점 창고 | 지원권을 제공하는 내 거점 한 곳의 실제 재고만 소환 오퍼 풀로 사용 |
| 거점 마법진 | 출정 시작 후 정비(전투방 encounter 중·방 해결 후 이동 전)에 창고 원본 일부를 소환진 오퍼로 표시하고 리롤. 맵 팝오버에서 전투와 정비는 별도 CTA. 거점·아카데미 창고 목록을 현장에서 직접 열기 ❌ · 출정 준비 화면 창고 재고는 지원 거점만 열람 (미지원 시 목록 없음) |
| 마법진 레벨 | Lv1·2는 소대 mage 필요 · Lv3·4는 mage 없이 기동 |
| 리롤 | 일반 리롤 상시 · 비전은 소대 마법사 있을 때 (탑과 동일) |
| 유적 오클 | 출정 시 Vault 저장량 전부를 ochlReserve로 반입 · 지갑은 허브 유지 |
| 층 상점 | 유적에서는 신규 상품 생성·리롤을 제공하는 탑 소환진 상점 없음 |
| 보관함 | 유적 수확(오파츠·아티팩트·키메라 소재 등). 귀환·중도 나가기 시 그대로 가져감 |
3. 거점 마법진 — 창고 소환
| 조건 | 유적이 내 거점 마법진 지원 반경 안 · 거점 창고에 소환 가능 원본 존재 |
| 레벨 조건 | 마법진 Lv1·2는 소대 mage 필요 · Lv3·4는 불필요 |
| 대상 | 지원 거점 창고의 내 물품만 — 아카데미 창고·실시간 상품 생성·타인 물품 ❌ · 키메라 오브(oopart.chimera.orb)·오파츠 소환 ❌ (탑 소환진과 동일 — SHOP_DESIGN) |
| 시점 | 출정 시작 후 · 전투방 encounter(전투 전) 또는 방 해결 후 이동 전 정비 (출정 준비 화면 ❌) |
| 오퍼 | 창고 원본 instanceId 중 소환진 슬롯 수만큼 표시 · 창고 전체 목록 직접 열람 ❌ |
| 리롤 | ochlReserve 비용 · 일반 리롤 상시 · 비전 리롤은 소대에 마법사 있을 때 (탑 상점과 동일). 거점 Lv는 지원 자격·초기 오퍼 가중 참고용 |
| 동작 | 선택한 오퍼 원본 → 대원 배낭의 현장 복사본. 원본은 즉시 제거하지 않음 |
| 소모 | 실제 사용한 원본만 탐사 종료 시 소환횟수 1 차감. 현장에서 완전히 쓴 소모품은 원본도 소모 |
| 제한 | 빈 칸 없음·원본 소환횟수 0이면 불가 |
| 지원 없음 | 출발 시 챙긴 장비만으로 진행 |
→ 저레벨 마법진에서 마법사는 원격 연결을 성립시키고, 고레벨 거점은 자체적으로 연결을 유지한다.
4. 맵 · 진행 (슬더슬 / 아이작 톤)
4.1 구조
- 월드맵 활성 유적 노드마다
archetypeId(5종) ·tier· 시드가 붙는다. - shared
generateRuinGraph()가 archetype + 출정 시드로 그래프를 결정적으로 생성한다 (graph.version === 3). - 출정 시드 = 노드 id +
expeditionCount혼합. 재입장마다 그래프를 다시 롤한다. - 이동은 역행 없는 전진형 DAG —
depth는 진행·최소 전투 검증용, 표시 좌표는mapX/mapY(0..1) 로 분리한다. - 컬럼 8~10, 방 12~18. 입구 직후 레인 2
3으로 갈라지고, 중간에서 1칸으로 수렴하지 않는다. 합류는 보스 또는 그 직전 컬럼만. 한 방에서 앞 칸 **12**개(입구 분기는 최대 3). - 모든 엣지는 생성 시
alwaysOpen. 길을 잠그는choiceGroups/candidate엣지는 만들지 않는다. 플레이어는 이웃 방을 밟아 경로를 고른다. - 모든 entry→boss 경로 전투(
combat+elite) ≥ 4, 야영 12개(중후반, 연속 야영 금지). 보스 게이트(minCombatsRequired)는 안전망. - 맵은 출정 시작 시 그래프 전체·방 종류를 공개한다. 안개로 먼 방을 숨기지 않는다. 클릭 이동은 여전히 현재 방의 open 이웃만.
graph.version < 3출정은 폐기·재생성 (§8).
| 타입 | 내용 |
|---|---|
entry |
입구 |
combat |
유적 키메라 전투 → 상징 소재★ · 오클 응결 → 보관함 |
elite |
전투 + 아티팩트 1건 수확 보관함 (ruinRewardPools 아티팩트 풀) |
event |
컷신·선택지. 결과는 shared가 (seed, roomId, choiceId)로 계산. 액션에는 선택 ID만. 판돈 = 골드·소재·ochl + HP·공복. 아이템/오브 지급·회수 없음 |
camp |
휴식 — 소대 HP postBattleHealRatio(35%) 회복 |
treasure |
상자 |
boss |
최종 — archetype 보상 풀에서 1건 즉시 지급 |
상점 방 없음. 클라는 특정 방 ID 배치를 가정하지 않고 shared 좌표를 렌더한다.
4.2 유적 archetype 정본 (5종)
옛 공간 기믹(mechanicKind)은 길을 잠그지 않는다. 이벤트 컷신 플레이버로만 쓴다. 주화자 = 권장 포지션. 소대에 없으면 그 보이스 + 다른 대원이 짧게 받는다.
archetypeId |
권장 포지션 | 이벤트 플레이버 | 차별 |
|---|---|---|---|
ember_foundry |
magnum | 전환 레일 (switch_rail) |
배경·적 풀·이벤트 테이블·보상 가중 |
sunken_reliquary |
ochler | 연쇄 수문 (sluice_chain) |
〃 |
verdigris_menagerie |
chimera_sage | 격리벽 붕괴 (quarantine_breach) |
〃 |
hollow_observatory |
mage | 관측환 회전 (observatory_rotation) |
〃 |
ossuary_bastion |
knight | 낙하 성문 (falling_gates) |
〃 |
한 출정에 이벤트 방 2~3. 데이터: packages/shared/data/ruinArchetypes.ts · 이벤트 테이블 · generateRuinGraph v3 DAG. 구 v2 토폴로지 템플릿은 레거시(생성에 쓰지 않음).
4.3 archetype별 보스 보상 풀
보스 클리어 시 선택 UI 없이 시드로 1건 즉시 수확 보관함에 넣는다.
| 규칙 | 내용 |
|---|---|
| 풀 구성 | archetype당 오파츠 defId 2종 + 아티팩트 defId 3종 (ruinRewardPools.ts) |
| 오파츠 확률 | hazard tier 1 / 2 / 3 → 20% / 30% / 40% (DEFAULT_RUIN_BOSS_OOPART_CHANCE) |
| 오파츠 우선 | 해당 archetype 오파츠 중 미보유 defId만 후보; 모두 보유 시 해당 archetype 강화 소재 tier별 2 / 3 / 5개 |
| 아티팩트 | 오파츠 롤 실패 시 archetype 아티팩트 풀에서 1종 · tier는 hazard 가중 · 중복 허용 |
| 장착 | 포지션 하드 제한 없음 — 권장 포지션은 소프트 시너지·proc 배율용 |
상세 ID·proc: ITEMS_DB.md §유적 전용 아이템.
4.4 유적 강화 소재 · 오파츠 강화
| 항목 | 내용 |
|---|---|
| 소재 종류 | archetype별 5종 (mat.ruin.*) — 보스 fallback·오파츠 강화 소모 |
| 강화 대상 | 유적 전용 오파츠 10종의 고유 proc (oopartEnhancementLevels) |
| 강화 단계 | defId별 계정 공용 0 → 1 → … → 5 (인스턴스·포지션 연구 아님) |
| 단계 비용 | 해당 archetype 소재 1 / 2 / 3 / 5 / 8개 (RUIN_OOPART_ENHANCE_COSTS) |
| 장착 | 권장 포지션 소프트 시너지 — 장착 잠금 없음 |
4.5 목표 · 중간 보상
보스 방 클리어 = 유적 성공.
중간 방: 유적 키메라 처치 시 탑과 동일하게 상징 소재 ★1–3·제작 스크랩·(키메라 현자 소대 시) 키메라 고기 → 수확 보관함, 전투 승리 시 오클 응결(흡수) 로 ochlReserve 가산 (CHIMERA_DESIGN.md §6). 전투 승리 후 HP 회복 없음 — 회복은 camp 야영만.
엘리트 승리는 위 중간 전투 수확에 더해 아티팩트 1건.
이벤트는 골드·소재·ochl과 HP·공복을 깎거나 조금 채울 수 있다. 아이템·오브는 이벤트에서 주지 않는다.
보스 클리어·중도 나가기 모두 보관함을 허브로 가져감.
4.6 실패 · 나가기
| 보관함 수확 (소재·루팅) | 배낭 장비 | |
|---|---|---|
| 보스 클리어 귀환 | 전부 가져감 | 유지 |
| 중도 나가기 | 전부 가져감 (패배 아님 — 가진 것 유지) | 유지 |
| 전멸 | 전부 가져감 (철수와 동일) | 런 리셋 규칙 |
월드맵 노드: 중도 나가기·전멸 후에는 노드가 spawned로 돌아가 만료 전 재입장 가능. 보스 클리어만 노드를 소비(cleared)한다.
5. 인벤 역할 정리
| 공간 | 유적에서 |
|---|---|
| 배낭 | 가져간 전투 템 · 거점 마법진으로 소환한 현장 복사본. 용량 한계 = 빌드 제약 |
| 거점 창고 | 지원권 안에서 소환진 오퍼 풀로만 접근. 거점·아카데미 창고 목록은 현장에서 열지 않음 |
| 수확 보관함 | 유적 루팅만. 전투 슬롯 아님. 귀환 짐 |
배낭을 수확으로 채우면 전투력이 줄어드는 트레이드오프 — 보관함이 그래서 필요.
6. 경제 · 금지
| 허용 | 금지 |
|---|---|
| 유적 → 오파츠·고급 아티팩트·키메라 소재·소량 골드/시글 | 유적 내부 신규 상품 생성 상점 |
| 출발 전 아카데미 상점 기본템 | 오파츠 상점 판매 |
| 지원 거점 → 그 거점 창고 원본을 오퍼·리롤로 소환 | 거점 창고 전체 목록 직접 열람 · 아카데미/타인 창고 접근 |
유적 키메라 = 탑과 같은 몬스터=키메라 전제. 상징 소재 3·★ 드랍 동일. 바이옴/풀만 유적용일 수 있음.
7. UX · 화면
| 화면 | 내용 |
|---|---|
| 허브 월드맵 | 유적 노드 · 해금(챕터/스토리) |
| 출정 준비 | 소대(지원권 안에서만 편성) · 배낭 · 창고 재고 열람 · 출발 |
| 유적 맵 | 전체 공개 맵 · 이웃 방 이동 · 이벤트는 컷신+선택 후 해결(자동 골드 스텁 금지) · 야영·보물은 진입 후 해결 · 전투·엘리트·보스만 전투 CTA. 수문/레일 옵션 UI 없음 |
| 전투 | 기존 전투 파이프 (탑 소환진 상점 UI 숨김) |
| 전투 후 평가 | 승리 직후 BattleAwardsReport + Continue — 이후 맵 또는 최종 결과 |
| 정비 | encounter 중 또는 방 해결 후 이동 전 · 지원 없어도 배낭 재배치·수리·키메라 먹이 · 거점 마법진 지원 시만 창고 오퍼/리롤 소환 · 팝오버에서 전투와 분리 |
| 수확 보관함 | 용량 · 귀환 시 요약 |
| 결과 | 보스 보상 · 수확 목록 · 마지막 전투 평가 · 전멸 시 소실 |
카피 EN: Expedition · Ruin Map · No Summon Circle · Warehouse Recall · Harvest Stash.
8. EA 스코프
| EA | |
|---|---|
| 유적 archetype 5종 · StS DAG(컬럼 8 |
✅ |
시드 고정 그래프 · mapX/mapY 맵 렌더 · 전체 공개 |
✅ |
| 탑 소환진 상점 비활성 (거점 소환진 오퍼만) | ✅ |
Vault 전량 → ochlReserve · 지갑 허브 유지 |
✅ |
| 지원권 안 거점 마법진 정비 시 소환 (준비 화면 소환 ❌ · 창고 직접 열람 ❌) | ✅ |
| 배낭 한계 · 수확 보관함 | ✅ |
| Lv1·2 Mage / Lv3·4 무 Mage | ✅ |
| archetype 보스 풀 · 오파츠 강화 소재 5종 | ✅ |
| 중도 나가기 = 수확 전부 유지 | ✅ |
스키마 갱신 시 graph.version 3 미만 런·archetypeId 없는 활성/예약 월드 노드 |
폐기·재생성 (진행 보존 없음) |
9. 데이터 스케치
type RuinGraph = {
version?: 1 | 2 | 3; // v3 = StS DAG, always-open, no path-lock mechanics
seed: number;
archetypeId: RuinArchetypeId;
topologyId: RuinTopologyId;
rooms: Record<string, RuinRoomNode>;
adjacency: Record<string, readonly string[]>;
edges?: readonly RuinGraphEdgeDef[];
choiceGroups?: readonly RuinChoiceGroupDef[];
entryRoomId: string;
bossRoomId: string;
};
type RuinRoomNode = {
id: string;
type: RuinRoomType;
depth: number;
mapX: number;
mapY: number;
mechanicId?: string;
};
type RuinRunState = {
ruinId: string;
archetypeId: RuinArchetypeId;
graph: RuinGraph;
roomId: string;
mechanicChoices: Record<string, string>;
supplySupport?: RuinSupplySupportSnapshot;
ochlReserve: number;
harvestStash: RuinHarvestStash;
ownedOopartDefIdsAtStart: readonly string[];
/* squad, grids, summon tracking, … */
};
검증: 유적 전용 HTTP 엔드포인트 없음 — 클라 actions[]를 계정 저장과 함께 올리고 shared replay로 동일 FSM·보상·기믹을 재현한다.
10. 미결
- 유적 전용 키메라 풀 vs 탑 풀 공유 비율
- 보관함 가득 시 (탑과 같이 폐기/배낭 모달 재사용?)
- 844×390 가로 맵·정비 UI 실측 (개발 환경 single-tab lock으로 플레이어 흐름 브라우저 검증 대기)
10.1 확정 (다양성 재설계 패스)
| 항목 | 결정 |
|---|---|
| 중도 나가기 | 패배 아님 · 보관함·배낭 전부 가져감 |
| 거점 마법진 | 지원 거점 창고 오퍼·리롤만 · 창고 목록 직접 열기 ❌ · Lv1·2 Mage · Lv3·4 무 Mage · 일반 리롤 상시 + 비전(마법사) · 출정 후 정비(encounter·해결 후) |
| 오클 | 출정 시 Vault 전량 ochlReserve · 지갑은 허브 |
| 보스 보상 | archetype 풀 · 오파츠 20/30/40% · 미보유 우선 · 전부 보유 시 소재 2/3/5 · 아티팩트 중복 허용 |
| 오파츠 강화 | defId 계정 0..5 · 소재 1/2/3/5/8 · 소프트 시너지 |
| 저장 호환 | v1 그래프 진행 런·archetypeId 없는 활성/예약 노드는 정규화 시 제거 (이어하기 보존 없음) |
| 소재 | 유적에도 키메라 → 상징 소재 드랍 (탑과 동일 규칙) |
구현·검수 이력: RUIN_VARIETY_REDESIGN_PLAN.md.
11. 문서 동기화
| 문서 | 조치 |
|---|---|
| 본 문서 | 유적 마스터 |
| SYSTEMS_ROADMAP §1 | 본 문서로 교체 |
| DESIGN / PLAN | 링크 |
| RUIN_VARIETY_REDESIGN_PLAN.md | 구현 완료 · 정본 승격 반영 |
| ITEMS_DB.md | 유적 25종·소재 5종 ID |
| ASSET_SOURCES.md | runtime 승격 환경 5 + 아이템 25 + 소재 5 |