실무 게임 기획서 해부 2편: 아바타 조합 테이블(ItemMixTable) 구조와 컬럼 설계법
안녕하세요. '호랭이 물어갈 기획놈들' 입니다. 지난 1편에서는 아바타 조합 시스템을 기획한 '진짜 목적(BM)'과, 사업팀의 매운맛 요구를 방어하며 설정했던 '기본 룰'에 대해 털어보았습니다. 기획 회의가 끝나고 룰이 확정되었다면, 이제 기획자는 엑셀을 켜야 합니다. 아무리 기획서에 예쁜 말로 룰을 적어놔도, 프로그래머가 서버에 코드를 입력할 수 있는 '데이터 테이블(Data Table)'로 번역하지 못하면 그 기획은 휴지 조각입니다. 오늘은 1편의 룰을 실제 게임에 적용하기 위해 2013년 당시 제가 작성했던 'ItemMixTable' (아바타 조합 테이블)의 컬럼 구조 를 하나씩 해부해 보겠습니다. 기존 AvatarTable에 넣지 않고 테이블을 '분리'한 이유 저 같은 경우엔 우선 조합 테이블이 있는지 먼저 확인을 해봤습니다. 아무래도 다양한 아이템들을 합성 및 분해를 진행할 수 있는 범용적인 테이블이 있다면 거기에 아바타 조합 내용을 넣으려고 했는데 조합 자체가 아예 만들어지지 않아서 차라리 이번 기회에 아바타만 조합 하는게 아니라 아이템도 조합하고 장비도 조합하는 방향으로 정하고 관련 테이블을 제작했습니다. 이런 테이블 작업을 하다보면 대다수 신입 및 낮은 연차 기획자 분들의 가장 많이 나오는 실수 중 하나가 기존에 사용하던 테이블 'Item Table', 'Avatar Table' 안에 [조합 가능 여부], [조합 확률], [성공 시 결과물] 같은 컬럼을 주르륵 붙이는 일이 많이 발생하는데 지금처럼 단순히 아바타 조합 한 곳에서만 사용한다고 했을 시 저 위의 테이블에 넣는 것이 가장 편한 방법일 수 있지만 다양한 곳에 사용할 수 있게 만든다고 하면 꼭 조합할 아이템 타입 값을 나눠 여러 장비, 아이템, 의상 등을 조합하도록 만드는 방향으로 설계를 하시면 메인 테이블은 가볍과 유지하면서 확률이나 조합식등을 수정하고 싶을때만 해당 테이...