🔴 긴급 — 이슈 #66로 진우에게 방향 동의 요청 (2026-10-10). 동의 뒤 엑셀·서버·기획을 진우가 먼저 하고, 클라 몫은 이슈로 넘겨받는다 — 클라는 그 전까지 손대지 않는다.
결정 대기 (2026-10-10 등록). 대체 산업 · 발굴의 개성 · enum 값 · 저장 데이터 · TID 대역 — 다섯이 정해져야 제거를 시작한다. 제거는 서버·엑셀·프로토콜·클라·아트에 걸쳐 있어 한 번에 지우면 전부 깨진다 — 대체 산업이 정해지면 그 자리에 바꿔 끼운다.
배경
채집 흐름은 "대상에게 달려가서 공격한다" 이고 캐릭터 모션은 대기(IDLE) · 공격(ATTACK) · 달리기(RUN)뿐이다. 농사(작물 앞에서 베기) · 채굴 · 사냥 · 벌목은 이 모션으로 자연스럽다. 낚시는 전용 모션(던지기 · 기다리기 · 당기기)이 필요하다 — 공격으로 대신하면 물고기를 칼로 치는 그림이 되고, 맞는 에셋도 구하기 어렵다.
대체 산업 후보 — 모션 셋으로 자연스럽고, 쓰임새가 있는 것
2026-10-10 태웅 — 약초 채집은 뺀다. 자원의 출구가 판매뿐이라는 고민(T-105 · T-125 · #42)에서 보면 약초는 농사와 같은 "식물 → 판매" 축이라 쓰임새를 하나도 늘리지 못한다. 남은 두 후보를 쓰임새 기준으로 다시 본다.
| 유적 발굴 (Excavation) — 추천 | 잔해 수집 (Salvage) | |
|---|---|---|
| 대상 오브젝트 | 흙더미 · 금 간 항아리 · 석상 · 유적 기둥 · 봉인된 궤짝 | 표류 나무 상자 · 고철 더미 · 난파선 잔해 · 부서진 수레 |
| 섬 컨셉("썩은 무인도 개발") | 섬에 묻힌 옛 문명을 판다 | 해변에 떠밀려 온 것을 줍는다 |
| 쓰임새 — 지금 있는 시스템으로 | ✅ 상자 — T-030의 "산업별 상자 확률 덮어쓰기"가 이미 있다. 발굴만 상자·상자 전용 아이템(보물 지도 · 은빛 나침반 · 황금 열쇠 — T-112에서 용도 미정)이 잘 나오게 하면 이름부터 맞는 출구가 생긴다 | ❌ 아직 없다 — 하우징·건물 업그레이드(T-105)는 검토 요청 단계다. 그 전까지는 낚시와 같은 "판매만" 산업이 된다 |
| 쓰임새 — 나중 콘텐츠 | 특수 캐릭터(T-054 종족 — 예: 발굴 적성 높은 고고학자 계열) · 지도/열쇠로 여는 보물 · 레이드(T-114) 입장권 | 하우징 재료 · 장비 분해(T-131) 재료와 같은 "부품" 축 |
| 다른 산업과 겹침 | 적다 — 결과물(상자·유물)이 다른 4산업(식량·목재·광물·가죽)과 다르다 | 크다 — 건축 재료는 목재(벌목)·돌·철(채굴)이 먼저 떠오른다. 하우징이 생기면 5산업 모두 재료를 낼 텐데 잔해만의 몫이 약하다 |
| 낚시의 심리 자리("확실한 도파민 · 소액 잦은 당첨") | ✅ 그대로 이어받는다 — 뭐가 나올지 모르는 발굴 | 목표형(모아서 짓는다) — 사냥·채굴과 겹친다 |
방향: 유적 발굴 (2026-10-10 태웅 동의)
| 산업 | 판정 1회에 나오는 것 |
|---|---|
| 농사 · 채굴 · 벌목 · 사냥 | 지금 그대로 — 산업 자원 + 상자(레벨별 공통 확률) |
| 유적 발굴 | 유물 자원 + 상자(같은 공통 확률) + 상자 전용 아이템 직접 드롭(낡은 보물 지도 · 은빛 나침반 · 황금 열쇠) |
- 데이터만으로 된다 —
CommonRewardOverrideTable(DropCommon.xlsx)에 (발굴, Lv) 행을 두면 공통 상자 3줄을 통째로 대신한다. 공통 3줄 + 전용 아이템 줄을 넣으면 "상자는 같고 특수 아이템이 더 나온다"가 된다. 서버 로직은 그대로다(아이템 1.4 · 4.1). - 적성은 건드리지 않는다 — 적성은 모든 산업에서 속도에만 작용한다(캐릭터 2.3). 적성 높은 캐릭터가 더 많이 캐는 것은 이미 성립한다.
- 종족은 T-054에서 — 발굴만이 아니라 다섯 산업 모두에 걸리는 축이라 거기서 정한다.
결정할 것 — 발굴 쪽
- [ ] 상자 전용 아이템을 상자에서 빼고 발굴 전용으로 옮길지(추천 — 발굴이 유일한 출처가 된다) · 상자에도 남길지
- [ ] 발굴에서 전용 아이템 확률(레벨별) — 테스트값부터
- [ ] #42 공통값 예외 동의 — 전용 아이템 몫만큼 발굴의 시간당 기대값이 커진다 → 유물 자원
BasePrice를 낮춰 맞출지(진우 · 규빈) - [ ] 전용 아이템의 용도는 T-112에서 — 출처만 여기서 정한다
잔해 수집은 버리지 않는다 — 하우징(T-105)이 생길 때 그 재료 축으로 다시 꺼낸다(산업이 아니라 시설·분해 재료로 들어갈 수도 있다).
결정할 것 — 제거 쪽
- [x] 대체 산업 — 유적 발굴 (2026-10-10 태웅) · 잔해 수집은 하우징 때 재검토 · 약초 채집 제외
- [ ] 발굴 쪽 결정 — 위 "결정할 것 — 발굴 쪽"
- [ ] enum 값 — ⚠️ 어느 쪽이든 게임기획코어 4장의 규칙 하나를 어긴다
- 값 2를 새 산업으로 이어 쓴다 — 적성 5칸 · 산업 버튼 · 특성 줄 ·
StripIndustries순서가 그대로다. 대신 "DB에 쓰인 enum은 뜻을 바꾸지 않는다"를 어긴다 → 저장된 낚시 데이터(슬롯industry = 2·fishing_bonus등)를 같은 작업에서 반드시 변환하거나 지워야 안전하다 - 뒤에 새 값을 붙인다 —
IndustryType은 6,ItemType은 6·7이Misc·Special이라 8이 된다 → "두 enum 값 1:1 유지"가 깨지고(ResourceSlotSource가 같은 값이라 가정), 1~5 연속을 가정한 배열도 전부 고쳐야 한다 - 추천: 아직 정식 출시 전이라 2를 이어 쓰고 저장 데이터를 함께 정리한다 — 규칙 예외로 기획코어에 한 줄 남긴다
- 값 2를 새 산업으로 이어 쓴다 — 적성 5칸 · 산업 버튼 · 특성 줄 ·
- [ ] 저장 데이터 — 새 산업 데이터로 변환 vs 지우기(아래 "저장 데이터" 표)
- [ ] 아이템 TID 대역 — 낚시 자원 30종(10001~10046) · 낚시 장비 13종. 규칙상 폐기한 TID는 재사용하지 않는다(옛 DB 행이 다른 것으로 둔갑) → 추천: 새 대역 + 옛 행 삭제. 이어 쓰려면 위와 같이 저장 데이터 정리가 조건이다
낚시를 참조하는 곳 (2026-10-10 조사 · node_modules·Agent 로그 제외)
엑셀 (원본) — excel-table-creator 절차로 고친다
| 파일 | 무엇 |
|---|---|
Enum.xlsx |
ItemType.Fishing = 2 · IndustryType.Fishing = 2 |
DropFishing.xlsx |
낚시 드롭 테이블 전체(FishingBasicTable) — 새 산업 시트로 교체 |
Item.xlsx |
낚시 자원 30종 (TID 10001~10046 · ItemType = Fishing) |
Character.xlsx |
캐릭터 적성 컬럼 Fishing |
Equip.xlsx |
낚시 효과 장비 13종(69종 중) |
EquipEnchant.xlsx |
인챈트 옵션 중 낚시 산업 줄 |
Industry.xlsx |
산업 레벨 표의 낚시 5줄 |
User.xlsx |
특성(UserTraitTable·UserTraitLevelTable)의 낚시 개척·속도·산출량 줄 |
→ 생성물(Server/GameData · Assets/Scripts_Server/GameData · GameDesign/DataLog · .bytes)은 파이프라인이 다시 만든다. 직접 고치지 않는다.
서버 (Server/)
| 위치 | 무엇 |
|---|---|
MikaProtocol/PacketEnum.cs |
EIndustryType.Fishing = 2 → 클라 미러 Assets/Scripts_Server/Protocol/PacketEnum.cs |
WSGameServer/Common/DropTableCatalog.cs |
Register(IndustryType.Fishing, FishingBasicTable …) |
WSGameServer/User/Character/Character.cs |
적성 IndustryType.Fishing => Row.Fishing · 산업 목록 |
WSGameServer/Common/DropTable.cs · User/User.Character.cs |
주석 |
ExcelGenerator/ExcelGenerator.cs |
시트 이름 접미사 예시 주석 |
MikaDummyClient/Menu/PacketMenu.cs |
산업 입력 안내 2=낚시 |
WSGameServer.Tests/ |
약 50개 파일이 Fishing을 쓴다(산업·드롭·특성·경매·가챠 테스트) — 값 2를 이어 쓰면 이름만 바꾸면 된다 |
클라 (Assets/Scripts_Client/)
| 위치 | 무엇 |
|---|---|
Data/GameDataLoader.cs |
case EIndustryType.Fishing: GameTable.FishingBasicTable |
UI/Shared/IndustryLabel.cs |
Fishing → "낚시" |
UI/Inventory/InventoryGridPresenter/InventoryGridPresenter.cs |
StripIndustries 순서 |
UI/Inventory/TraitPresenter/TraitPresenter.cs |
특성 줄 순서 |
Editor/art-import/ArtValidator.cs |
검사할 산업 목록 |
UI/Shared/SlotView.cs · UI/Main/WorkStationSelectPresenter/* · UI/Market/AuctionText.cs 등 |
주석·툴팁의 "농사·낚시·채굴·벌목·사냥" |
Assets/Prefabs/CharacterStateRowView.prefab · 씬 DesktopWindow_Control.unity(원본·Test Copy) |
산업 버튼·적성 칸 글자 "낚시" |
문서 — Inventory 규칙.md · Main 규칙.md · Shared 규칙.md · UI 배치 현황.md · 패킷 레퍼런스.md · cheat-console 규칙.md |
산업 이름 |
아트 (그림 저장소 Assets/Art/)
| 위치 | 무엇 |
|---|---|
targets/fishing/ |
대상 레시피·결과 SO → 새 산업 키 폴더로 |
Resources/VisualCatalog.asset |
산업 → 배경·대상 연결(낚시 칸) |
icons/items/item_10001.png … |
낚시 자원 아이콘 30장 |
Art 규칙.md |
산업 키 예시 |
저장 데이터 (Server/Shared/game.sqlite3 · 2026-10-10 로컬 DB 기준)
| 테이블 | 낚시가 남는 곳 | 로컬 DB 현황 |
|---|---|---|
t_user_workstation_slot |
industry = 2 슬롯 |
0행 |
t_user_inventory |
낚시 자원(10001~10046) | 4행 |
t_character |
fishing_bonus 컬럼 |
컬럼 개명 필요(sqlite-sql-creator) |
t_user_equip · t_character_equip |
낚시 장비 13종 | 확인 필요 |
t_user_trait |
낚시 특성 TID | 확인 필요 |
t_auction_trade · t_user_mail |
낚시 자원·장비 매물 · 우편 첨부 | 확인 필요 · 경매장 DB도 짝으로(메모리: 경매 DB는 메인과 짝) |
기획 문서 · 사이트
GameDesign/design/gathering/fishing/README.md→ 새 산업 폴더로GameDesign/design/게임기획코어.md·gathering/README.md·farming/README.md·hunting/README.md— 산업 목록GameDesign/CLAUDE.md· 스킬excel-table-creator(본문·컬럼 레퍼런스) ·game-design-reference·task-writer— 예시의 "낚시"GameDesign/web/src/lib/labels.ts·slugs.ts— 문서 사이트 산업 이름- 일감 T-125 · T-132 — 낚시를 예로 든 곳
T-009(공통 회당 산출)에 미치는 영향
값에는 영향이 없다. T-009는 #42 합의로 "5산업 공통값"이 됐고(WorkStation.Settle의 YieldPerJudge),
산업을 하나 바꿔 끼워도 산업 수가 5로 유지되면 공통값 결정은 그대로다.
고칠 것은 문서의 산업 이름뿐이다. 단, 대체 산업이 산출 방식 자체가 다른 것(예: 한 번에 여러 개)으로 정해지면 T-009를 다시 연다.
할 일 (결정 뒤)
- [ ] 엑셀 — 위 8개 파일 · 파이프라인 재생성
- [ ] 서버 — 프로토콜 enum · 드롭 카탈로그 · 캐릭터 적성 · 테스트 · DB 마이그레이션
- [ ] 클라 — 이름표 · 순서 배열 · 프리팹·씬 글자 · 문서
- [ ] 아트 — 새 산업 대상 그림 · 배경 연결 · 자원 아이콘 30장
- [ ] 기획 문서 · 문서 사이트
- [ ] 치트: 기존 산업 치트(
Unlock·채취 속도 등)가 새 산업 값으로 도는지 확인
완료 조건
fishing·낚시가 코드·데이터·UI에 남지 않고(Agent 로그·보관 일감 제외), 새 산업으로 배치 → 채취 → 획득이 실서버에서 돈다.
막고 있는 것 / 선행 일감
- 없음 — 위 "결정할 것" 다섯이 정해지면 시작한다
관련 이슈
- 이슈 #66 — 방향 동의 · 결정 요청 (진우)
관련 커밋
- 없음