GameDesign/design/item/README.md 최종 업데이트 2026-08-02

04. 아이템 (Item)

상위 문서: 게임기획코어.md 최종 업데이트: 2026-08-02 · 상태: 실 데이터 156종 입력 · BasePrice 필수 확정 · 분류 정책 미정 바뀌면 갱신: 거래 · 게임기획코어 · 기획평가 · 농사 · 벌목 · 사냥 자원채취

ItemTable이 엑셀→.bytes 파이프라인으로 돌고 있고, 2026-07-31에 더미가 실 데이터로 교체됐다.


1. 확정 사항

1.1 코드에 존재하는 스키마

Server/GameData/Tables/ItemTable.cs (엑셀 Item.xlsx에서 생성):

컬럼 타입 비고
ItemTID int 아이템 고유 ID
Name string
ItemType ItemType 산업 분류
GlobalRarity GlobalRarity 희귀도 (구 ItemRarity — 2026-08-02 개명)
MaxStack int 스택 상한. 현재 전 아이템 9999
Description string 기획 메모 — 로직에서 읽지 않는다 (오타 수정됨)

1.2 확정 enum

  • ItemTypeFarming=1 / Fishing=2 / Mining=3 / Logging=4 / Hunting=5 / Misc=6 / Special=7
  • GlobalRarityCommon / Uncommon / Rare / Epic / Legendary / Mythic (색상 정의 포함). 구 ItemRarity. 아이템 전용이 아니라 가챠 등 전역 등급 축이라 2026-08-02 개명 (프로토콜 EGlobalRarity도 같은 값으로 정렬됨)

⚠️ Hunting은 값 5로 중간에 삽입됐다Misc·Special이 한 칸씩 밀렸다. 기획 문서 일부가 "값 7로 뒤에 추가"라고 적고 있었으나 실제 구현은 5다. 지금 되돌리면 t_user_workstation_slot.industry에 저장된 값이 어긋나므로 그대로 둔다. "enum은 뒤에만 추가한다"는 규칙은 앞으로에만 적용된다.

1.3 실 아이템 데이터 (2026-07-31 · 2026-08-01 레벨 확장)

현재 ItemTable은 156종이다. 더미 A~F는 제거됐다.

구분 종수 계산
산업 자원 150종 5산업 × 5레벨 × 희귀도 6등급
가챠 전용 6종 Special · 테스트값 (2026-08-02)
합계 156종

⚠️ 2026-08-01에 30종 → 150종이 됐다. 산업 레벨이 도입되면서 레벨마다 6종이 붙었다. 이 문서가 오래 "30종"으로 남아 있었다(2026-08-02 정정).

TID 규칙 — 산업 대역 + 레벨당 10칸 + 희귀도 순 1~6

레벨 낚시 농사 벌목 채굴 사냥
Lv1 10001~10006 20001~ 30001~ 40001~ 50001~
Lv2 10011~10016 20011~ 30011~ 40011~ 50011~
Lv3 10021~10026 20021~ 30021~ 40021~ 50021~
Lv4 10031~10036 20031~ 30031~ 40031~ 50031~
Lv5 10041~10046 20041~ 30041~ 40041~ 50041~

Lv1 아이템 이름 (Lv2~5는 Item.xlsx 참조)

산업 Common → Mythic
낚시 붕어 · 잉어 · 월척 붕어 · 향어 · 대물 잉어 · 전설의 잉어
농사 밀 · 감자 · 옥수수 · 인삼 · 변종 인삼 · 태초의 씨앗
벌목 잡목 · 소나무 목재 · 참나무 목재 · 흑단 목재 · 고급 원목 · 세계수 가지
채굴 돌덩어리 · 구리 광석 · 은광석 · 금광석 · 보석 원석 · 심연의 원석
사냥 질긴 고기 · 토끼 가죽 · 늑대 가죽 · 곰 모피 · 거대한 뿔 · 마수의 심장
가챠 전용 100001~100006 — 유리 구슬 · 호박 구슬 · 진주 구슬 · 오팔 구슬 · 용안 구슬 · 창세의 구슬
  • 대역은 산업당 10000개다. 레벨당 10칸 중 6칸만 쓰므로 희귀도가 늘어도 대역이 밀리지 않는다. 레벨이 늘면 자기 대역 뒤로 이어 붙인다.
  • 아이템 Description의 레벨 표기는 IndustryLevelTable.Name과 같아야 한다 (예: 저수지(Lv2)). 어긋나도 로직은 멀쩡하므로 사람이 맞춰야 하는 규칙이다.
  • 결번: 1~6(구 더미) · 1001~1006(구 낚시). 다시 쓰지 않는다.

1.3 기획 확정 내용

  • 채취로 얻은 아이템으로 특성·스킬을 획득·성장시킨다폐지 (2026-08-01). 특성은 계정 레벨 포인트로 찍는다 → 특성.
  • 모든 아이템은 거래소 등록이 가능하다.

아이템의 출구 3개 (2026-08-01 확정)

특성 재료라는 소비처가 없어진 대신, 아이템은 세 곳으로 나간다.

출구 대상 상세
즉시 판매 → 골드 주로 Common·Uncommon 거래 3.1
거래소 등록 주로 Rare~Mythic 거래 2장
캐릭터에게 먹이기 전 등급 (자원 sink) 캐릭터 3.1

낮은 등급이 죽은 재고가 되지 않는 것이 핵심이다. 거래소만 있으면 Common은 아무도 사지 않아 인벤토리만 채운다.

1.4 채취 보상 3층 구조 (2026-07-27 확정)

채취 판정 1회가 만들어내는 아이템은 세 경로에서 나온다. → 자원채취 2.4

비율 아이템 성격 테이블
채취 보상 전량 산업 자원. 가중치·아이템 모두 산업별 <산업>BasicTable ✅ 생성됨
특별보상 폐지 (2026-07-30). 대물·보석·변종 작물·보스 티켓의 경로 미정
공통 보상 별도 롤 가챠 티켓 · 고유 아이템 CommonRewardTable ❌ 미작성
  • 티켓·고유 아이템은 전 산업 공통이다. 특정 산업에 몰아주지 않는다. 채취 보상과 무관하게 매 판정마다 별도로 롤한다.
  • 산업별 테이블에 중복 정의하면 확률 조정 시 5곳을 고쳐야 하고 산업 간 편차가 생긴다.

RarityWeightTable(전 산업 공통 분포) + <산업>BasicTable(매핑만) 폐지 (2026-07-31). 공통 분포 테이블을 두지 않는다 — 가중치는 각 산업의 드롭 시트가 직접 갖는다.자원채취 2.4

각 산업이 레벨마다 희귀도 6단계를 전부 채운다. 5산업 × 5레벨 × 6등급 = 150종이 기본 자원이며, 2026-08-01에 전부 입력됐다 (1.3).


2. 아이템 역할 분류 (제안)

⚠️ 제안이다. 현재 ItemType산업 출처만 나타내고 용도를 나타내지 않는다.

역할 설명
재료 특성 해금·레벨업에 소모 산업별 기본 자원
고유 아이템 수집·거래 대상. 소모되지 않음 희귀 산출물
티켓 가챠·이벤트 재화 가챠 티켓
입장권 콘텐츠 도전에 소모 보스 티켓 (사냥 전용, ⚠️ 획득 경로 미정)
화폐 거래소 결제 수단

보스 티켓은 가챠 티켓과 다른 축이다. 가챠는 확률 뽑기, 보스 티켓은 콘텐츠 입장권이다. ItemUsage를 도입한다면 이 둘을 구분해야 한다. 거래 가능 여부도 갈릴 수 있다 (보스 티켓이 거래되면 사냥을 안 하고도 보스에 갈 수 있다 — 의도인지 확인 필요).

현재 스키마에는 이 축이 없다. ItemUsage 컬럼을 추가하거나, Misc/Special을 용도 표기로 전용하는 두 가지 방법이 있다. 전자를 권장 — 후자는 "출처"와 "용도"를 한 컬럼에 섞는다.

스택 정책

MaxStack이 이미 존재한다. 역할별 기준을 세운다.

역할 스택 이유
재료 큰 값 (1,000~) 방치로 대량 축적됨
고유 아이템 1 개체 식별 필요 시
티켓 중간
화폐 스택 개념 없음 (별도 필드)

✅ 개체 변량 없음 (2026-07-27 확정)

모든 아이템은 개체별 수치 롤을 갖지 않는다. 같은 ItemTID면 완전히 동일하다.

  • 한때 검토됐던 물고기 크기(개체마다 다른 수치)는 폐기됐다.
  • 등급 차이는 희귀도가 다른 별도 ItemTID 로 표현한다. 예: 붕어(Common) / 월척 붕어(Rare) / 대물 붕어(Epic)
  • 따라서 모든 아이템이 MaxStack대로 정상 스택된다. 개체 인스턴스 테이블이 필요 없다.
얻은 것 내용
인벤토리 스택 충돌 없음. 행 수가 아이템 종류 수로 제한됨
정산 Dictionary<ItemTID, count> 집계로 끝남
거래소 같은 아이템은 같은 값. 개체별 시세가 없어 UI·검색이 단순

대가로 아이템 종류 수가 늘어난다. 어종 × 등급만큼 Item.xlsx 행이 생긴다. 같은 자원의 등급 변형을 몇 단계로 둘지는 산업 문서에서 정한다.


3. 인벤토리 (제안)

논점 선택지 권장
용량 제한 있음 / 없음 없음 또는 매우 큼 — 방치 중 가득 차면 P2 위반
가득 찼을 때 채취 중단 / 초과분 소멸 / 자동 판매 용량을 두려면 자동 판매
정렬·필터 산업별 / 희귀도별 팝업 UI에서 제공

방치형에서 "인벤토리가 차서 채취가 멈춰 있었다"는 최악의 경험이다. 용량 제한을 넣을 거면 반드시 넘침 처리가 함께 있어야 한다.


4. 가챠 · 티켓

  • 티켓은 채취 중 낮은 확률로 획득한다.
  • 가챠 풀은 엑셀이 원본이다 (2026-08-02). Gacha.xlsx → GachaTable (GachaId별 풀 · ItemTIDRef: ItemTable.ItemTID — 실재하지 않는 아이템은 생성 단계에서 막힌다). 서버 하드코딩 풀(GachaTable.cs)은 폐기됐다. 등급은 풀에 두지 않고 ItemTable에서 읽는다(단일 원본).
  • 가챠 결과물의 정체 미정 — 특성? 고유 아이템? 외형? 현재 풀(1번)은 테스트용 전용 아이템 6종(100001~100006)을 준다. 기획 확정이 아니다.
  • 확률 공개 여부 미정. 수익화와 연결되면 법적 고지 의무가 생길 수 있다. → 거래 / BM 미정 상태와 함께 결정.

5. 데이터 설계

기존 Item.xlsx를 확장한다. 컬럼 추가는 엑셀에서만 하고 GameDesign/generate-tables.ps1을 돌린다.

항목 조치
Desciption 오타 수정 완료Description
실 아이템 데이터 입력 완료 — 30종(2026-07-31) → 150종(2026-08-01 레벨 확장) (1.3)
기준 가격 BasePrice 🔴 필수 · 선행 작업 (2026-08-01 확정). 즉시 판매가와 거래소 하한가의 기준
아이콘 키 IconKey 클라 리소스 매핑. 156종이 들어와 우선순위가 올라갔다 (T-015)
ItemUsage 컬럼 역할 분류 도입 시 추가 (미정)
거래 가능 여부 Tradable bool 컬럼 (P4 예외 관리, 미정)

BasePrice가 없으면 즉시 판매도 거래소 하한도 구현할 수 없다. 즉시 판매는 거래의 골드 faucet이므로, 경제 구현의 첫 블록이 이 컬럼이다. 150종 전부에 값이 필요하며, 희귀도가 오를수록 가격도 오르는 단조 증가를 유지한다 — 어긋나면 상위 등급을 갈아 하위를 사는 재정거래가 생긴다.

⚠️ 레벨 축이 생겨 단조 증가가 2차원이 됐다. 희귀도뿐 아니라 레벨이 오를수록도 비싸야 한다. 상위 레벨은 판정이 1/3씩 느려지므로(→ 산업 레벨 2.4) 가격이 그만큼 벌충하지 않으면 아무도 상위 레벨을 돌리지 않는다. T-009와 함께 정한다.


6. 서버 / 클라이언트 책임

책임 주체
인벤토리 소유·증감 서버 (DB)
스택 상한 검증 서버
가챠 결과 롤 서버
아이콘·툴팁·정렬 클라이언트

DB 조회는 전용 Row record로 받는다 (Protocol DTO를 직접 쓰지 않는다).


7. 결정 필요 (Open Questions)

  1. BasePrice의 실제 값 150종은? (컬럼 추가는 확정. 값이 미정) 레벨 축이 생겨 희귀도 × 레벨 2차원 단조 증가를 맞춰야 한다 (5장)
  2. 즉시 판매가 = BasePrice의 몇 %인가?거래 6장
  3. ItemUsage(역할) 축을 도입하는가?
  4. 인벤토리 용량 제한을 두는가? 넘침 처리는? (개체 변량 폐기로 부담은 크게 줄었다 — 행 수가 아이템 종류 수로 묶인다)
  5. 채굴은 깊이 구간마다 행이 더 필요하다 — 깊이를 몇 구간으로 묶는가?
  6. 가챠 결과물의 정체는? (캐릭터가 유력하나 획득 경로 자체가 미정캐릭터 5장)
  7. 거래 불가 아이템이 존재하는가? (P4 예외 — Tradable)
  8. IconKey를 넣는가? 156종이 들어왔으므로 클라 표시(T-015)에서 곧 걸린다. 아이콘을 레벨마다 따로 그리는가도 함께 정해야 한다 — 150종은 손그림으로 감당하기 어렵다
  9. MaxStack을 역할별로 가르는가? 현재 156종 전부 9999

해소됨: 개체 변량 폐기 ✅ / 티켓·고유 아이템 전 산업 공통 ✅ / 보상 한 층 ✅ / Desciption 오타 수정 ✅ / 실 아이템 입력 ✅ / TID 대역 규칙 확정 ✅ (2026-07-31) / 레벨 확장 150종 ✅ (2026-08-01) / BasePrice 컬럼 추가 = 필수로 확정 ✅ / 아이템 출구 3개 확정 ✅ / 특성 재료 용도 폐지 ✅ (2026-08-01)