본 문서는 괴람의 제작(크래프팅) 시스템 신규 기획이다. 채집·루팅으로 모은 재료·잡템을 소모품·요리·재료·장비·강화로 가공하는 콘텐츠를 정의한다. 코드를 참고하되, 레시피·요리·강화는 거의 백지에서 신규 설계한다.
이 시스템의 핵심
한 시스템, 두 계층 — 휴대 간이 제작(런 중) + 거점 본격 제작(주막). 레시피·재료는 공유, 접근/범위만 다름.
제작 범위 4종 — 소모품·요리 / 재료 가공(2단계) / 장비·부품 / 강화·수리.
강화 = 별도 강화 레벨(+1~상한), 실패 없음(확정 상승), 전용 강화재. value(등급)와 축이 달라 드랍 모델과 충돌 없음.
요리 = 허기·갈증 회복 + 즉시 회복 + 정신력/특수 효과.
레시피 = 기본(시설 상시) + 해금(도면 드랍·구매·미션). UI는 기존 모루(Anvil) 팝업 패턴 재사용.
항목 내용 재료 공급(채집) 채집은 이미 구현됨 — GatherableGroupTableData/GatherableInfoTableData + 맵 연동(드랍의 상자 그룹과 유사 배치). 제작의 재료 공급원으로 바로 활용. 제작 도입의 블로커 아님. 제작대 틀 Anvil(모루) = 상호작용 → 격자 인벤토리 팝업. UI 패턴 재사용. 파츠 조립 CombinerBase/EquipItemCombiner = 피벗 기반 기하 조립(레시피 아님). 장비 제작의 조립 단계에만 사용.신규 개발 레시피 DTO·제작 로직·요리·강화·수리·시설 확장·제작 UI 전부 없음 → 신규.연계 아이템 분류 (Material·Utility), 인벤토리 , 드랍 , NPC·상인 .
항목 내용 정의 재료·잡템을 입력해 더 유용한 아이템(소모품·요리·재료·장비)으로 변환·강화하는 시스템. 핵심 행동 재료 수집 → 제작대/시설 접근 → 레시피 선택 → 재료 소비 → 결과 획득. 플레이어 목적 루팅만으론 부족한 소모품·식량·강화 수단을 스스로 조달. 게임 설계 목적 잡템·재료에 수요 를 만들어 채집·루팅 가치를 끌어올림. 메타 성장·자원 순환의 축.
제작은 휴대 간이 와 거점 본격 두 계층으로 운영하되, 레시피·재료 데이터는 공유 한다. 레시피마다 “현장 가능 여부” 플래그만 둔다.
계층 위치 범위 비용 의도 휴대 간이 런 중 어디서나 (휴대 제작) 현장 가능 레시피만 (붕대·미끼·간이 회복식 등) 점유 시간 + 소음 (무방비·피격 위험)런 중 급한 조달. 자원·위치 관리 긴장 거점 본격 주막(안전지대) 시설 전체 레시피 + 강화·수리안전, 시간 여유 메타 성장·장비 준비
어디서나 메뉴로 제작 가능(휴대형). 단 제작 중 점유 시간 동안 무방비.
제작은 소음 을 발생시켜 인지를 끈다 (감지 시스템 연동). 시체 루팅·상자 해제와 동일한 “런 중 점유 = 위험” 긴장.
→ “지금 여기서 만들 것인가, 안전한 곳까지 참을 것인가”의 판단을 만든다.
제작 결과물 4종과, 거점에서 담당하는 시설을 매핑한다.
결과물군 예시 담당 시설 휴대 간이 소모품·요리 포션·약·붕대·음식·미끼 화로 · 약초방 일부 가능 (붕대·미끼·간이식) 재료 가공 광석→주괴, 가죽→무두질, 약초→추출물 작업대 · 제련 제한적 장비·부품 무기·방어구·파츠 대장간(모루) 불가 (거점 전용) 강화·수리 장비 강화(+N), 내구도 수리 대장간 불가 (거점 전용)
시설은 데이터로 구분 한다 (facility: 대장간/화로/약초방/작업대). 레시피가 어느 시설 소속인지 명시.
배치는 **“구분 배치할 수 있는 설계”**로 둔다 — 한 시설이 다 하지도, 전면 분리로 복잡하지도 않게. 물리적으로 시설을 따로 배치할지/한 곳에 모을지는 운영 단계 결정 (§11). 시스템은 분리를 지원.
현재 코드 시설은 모루(대장간)만 존재 → 화로·약초방·작업대는 신규(§10).
콘텐츠 목표는 2단계 : 원재료 → 중간재(주괴·무두 가죽·추출물) → 최종물.
단 시스템은 임의 깊이를 지원 한다 — 레시피의 출력이 다른 레시피의 입력 이 될 수 있게 설계(재귀). 깊이는 데이터로 정해지므로, 콘텐츠가 2단계면 2단계, 더 필요하면 시트만 늘리면 된다.
장비를 **강화 레벨(+1 ~ 상한)**로 키운다. 소울류 무기 업그레이드 방식.
항목 결정 방식 별도 강화 레벨 (enhanceLevel). 아이템은 그대로, +N 수치가 따로 붙어 성능 상승.드랍 모델 관계 value(등급)와 축이 다름 → 드랍 모델 의 “등급별 별개 아이템”과 충돌 없음. 등급은 어떤 아이템인가, 강화는 그 아이템을 얼마나 키웠나. 실패/리스크 없음 — 확정 상승. 익스트랙션이 이미 “잃을 수 있다” 긴장을 주므로 강화까지 가혹하게 두지 않는다.상한 고정 상한 (예 +5, 밸런싱). 모든 장비 동일 상한.재료 전용 강화재(강화석류). 단계가 높을수록 더 상위 강화재 요구 (소울류 티탄석 단계 방식). 강화재는 드랍·채집·제작으로 조달.시설 대장간(거점 전용). 휴대 강화 불가.
장비 내구도(durability, 아이템 시트에 존재)를 재료로 회복.
대장장이 전담 (NPC·상인 ). 강화와 별개 행위.
음식은 사전 버프가 아니라 회복·대응 수단 으로 둔다. 기존 UtilityTableData 효과 시스템(optionType/optionValue/effectDuration) 활용.
효과 내용 허기·갈증 회복 Hunger/Thirst 게이지 회복. 좋은 요리일수록 많이·오래. (기존 Hunger/Thirst 단계 페널티 와 연동) 즉시 회복 HP·스태미너 즉시 회복. 전투 중 급하게 먹는 용도. 정신력/특수 Mental 회복·디버프 해소 등 특수 효과 (해당 시스템 도입 시).
Recipe = 결과물(1종 × N개) + 입력 재료(M종 × 개수) + (선택 입력) + 조건
조건 = 담당 시설 / 해금 여부 / (선택) 숙련도·미션
레시피 출력이 다른 레시피의 입력이 될 수 있다(재귀, §3.2).
종류 획득 예 기본 레시피 시설 보유 시 항상 사용 가능 대장간 = 기본 무기·수리 / 화로 = 기본 음식 해금 레시피 도면(레시피 아이템) 을 드랍·구매·미션 보상으로 획득 → 영구 등록 고급 무기 도면, 특수 요리법, 강화 상위 단계
해금 레시피는 한 번 등록하면 영구(메타 보존). 도면 아이템은 소비.
해금형이 수집·탐험·상점 소비 동기 를 만든다.
flowchart TD
GATHER[재료 확보<br/>채집(구현됨) · 루팅 · 구매] --> ACCESS
subgraph FIELD [휴대 간이 · 런 중]
F1[어디서나 휴대 제작]
F2[현장 가능 레시피만]
F3[점유 시간 · 소음 리스크]
end
subgraph BASE [거점 본격 · 주막]
B1[시설 접근<br/>대장간·화로·약초방·작업대]
B2[전체 레시피 + 강화·수리]
B3[안전 · 시간 여유]
end
ACCESS{어디서?} -->|런 중| F1 --> F2 --> F3 --> CRAFT
ACCESS -->|거점| B1 --> B2 --> B3 --> CRAFT
CRAFT[레시피 선택 → 재료 검증 → 소비 → 결과 생성] --> RESULT[인벤토리 적재]
classDef g fill:#bbf7d0,stroke:#16a34a,stroke-width:2px,color:#14532d
classDef f fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#78350f
classDef b fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#075985
classDef c fill:#ede9fe,stroke:#7c3aed,stroke-width:2px,color:#4c1d95
class GATHER g
class F1,F2,F3 f
class B1,B2,B3 b
class CRAFT,RESULT c
제작 단계: ① 접근(휴대/거점 시설) → ② 레시피 선택(미해금·재료부족 비활성) → ③ 재료 검증 → ④ 소비·생성(품질 §9.4) → ⑤ 적재(공간 부족 처리 §11).
기존 모루 팝업(Anvil → AnvilInventoryPopup) 패턴을 확장한다 — 격자 인벤토리 기반.
┌─────────────────────────────────────────────────────────┐
│ [대장간 ▾] 시설 탭 (대장간 / 화로 / 약초방 / 작업대) │
├──────────────┬──────────────────────┬─────────────────────┤
│ 레시피 목록 │ 레시피 상세 │ 내 재료 (격자) │
│ ┌──────────┐ │ ┌────────────────┐ │ ┌──┬──┬──┬──┐ │
│ │ 철검 ✓ │ │ │ 결과: 철검 │ │ │광│광│가│ │ │
│ │ 강철검 🔒│ │ │ 필요: │ │ ├──┼──┼──┼──┤ │
│ │ 강화 +N │ │ │ · 주괴 ×3 (2) │ │ │약│ │ │ │ │
│ │ 회복약 ✓ │ │ │ · 손잡이 ×1(0) │ │ └──┴──┴──┴──┘ │
│ │ 수리 │ │ │ 시간: 즉시 │ │ (휴대 인벤토리) │
│ └──────────┘ │ └────────────────┘ │ │
└──────────────┴──────────────────────┴─────────────────────┘
영역 내용 시설 탭 대장간/화로/약초방/작업대 전환. 시설별 레시피 필터. 레시피 목록 등록 레시피. ✓ 제작가능 / 🔒 미해금 / 회색 재료부족. 강화·수리도 항목. 레시피 상세 결과물·필요 재료(보유/요구)·시간·결과 미리보기. 내 재료 휴대 인벤토리 격자 (기존 인벤토리 UI 재사용). 제작 버튼 요건 충족 시 활성. 다중/연속 제작 §11.
간소화 팝업 — 현장 가능 레시피만, 시설 탭 없음.
어디서나 호출. 제작 중 점유 게이지 (소음·피격 노출) 표시 — 시체 루팅 UI와 동일 결.
컬럼 의미 recipeId레시피 식별자 resultItemId / resultCount결과 아이템·개수 facility담당 시설 (smithy/hearth/herb/bench) inputs입력 재료 배열 (itemId × count) optionalInputs선택 입력 (품질 보정용, §9.4) unlockTypebase(상시) / blueprint(해금)unlockItemId해금형일 때 필요한 도면 아이템 fieldCraftable휴대 간이 가능 여부 (계층 플래그) craftTime제작 시간 (즉시/대기/점유) category결과물군 (소모품·요리/재료/장비/강화수리)
컬럼 의미 targetCategory강화 대상 (무기/방어구 등) level강화 단계 (+1 ~ 상한) materials이 단계에 필요한 강화재 (itemId × count) statMul / statAdd단계별 성능 보정
→ 강화는 레시피와 별개 테이블. 아이템 인스턴스에 enhanceLevel 필드 추가 필요(§10).
입력·결과는 아이템 마스터 의 itemId 참조.
요리 효과는 기존 UtilityTableData(optionType/optionValue/effectDuration) 재사용.
수리는 durability, 강화는 신규 enhanceLevel.
장비 제작 중 파츠 조립은 기존 EquipItemCombiner 재사용.
기본: 레시피가 고정 결과 .
선택: 입력 재료 등급(value)·숙련도·선택 입력이 결과를 보정. 도입 여부 결정 필요.
# 항목 현재 필요 규모 1 레시피 DTO·마스터 시트 없음 제작 데이터 토대 중 2 제작 로직 (검증·소비·생성)없음 핵심 동작 중 3 레시피 해금·등록 저장 없음 도면→영구 해금, 메타 보존 연동 중 4 제작 UI (목록·상세·재료·결과)모루 팝업 껍데기 모루 팝업 확장 중~대 5 요리·조합 효과 처리 없음 Utility 효과 생성 연동 중 6 강화 시스템 (enhanceLevel·강화 테이블·성능 적용)없음 §4 중 7 수리 로직 (durability 회복)없음 §4.1 소 8 거점 시설 확장 모루만 화로·약초방·작업대 (구분 배치 지원) 소~중 9 휴대 간이 제작 트리거 없음 어디서나 제작 + 점유·소음 리스크 중
항목 내용 강화 상한 수치 +몇까지, 단계별 강화재 종류·개수. 밸런싱. 결과 품질 보정 고정 결과 vs 재료 등급·숙련도 보정(§9.4). 시설 물리 배치 구분 배치 가능 설계는 확정. 실제 주막에 따로 둘지/모을지 운영 결정. 제작 시간 비용 거점 즉시 vs 대기. 휴대는 점유(확정). 다중·연속 제작 한 번에 N개, 대기열 지원 여부. 결과 적재 공간 부족 인벤토리 가득 시 처리(바닥/보류). 숙련도 연계 제작 숙련이 효율·품질·해금에 영향 (성장·숙련도 ). 정신력 효과 Mental 시스템 도입 후 음식 특수 효과 확정.