[기획/신입]테이블 이야기
- 작성자
- 믹스파티
- 작성일
- 2012-07-18
- 조회수
- 8833
- 좋아요 수
- 4
오늘은 가볍게 술한잔하고 왔기에 가볍게 글 하나 투척하고 갑니다 ㅋㅋ
(요즘 자기 전 글 투척하는게 생활이 되어가네요...호응도 없는 글..OTL...)
오늘은 제가 몇몇 신입들을 만나거나 강연에서 보게 된 지망생분들이 잘 모르고 있는 기획자의 업무 중에 하나 인 "테이블 관리"에 대해서 설명드리겠습니다.
1. 테이블이란?
- 테이블은 게임 내에 사용되는 데이터들을 담아놓는 변수들에 데이터를 정리해 담아놓는 바구니 같은 것입니다. (변수가 뭐에요?라고 묻는다면....하하하하;;;)
게임에 나오는 모든 텍스트와 수치들이 테이블에 담겨 있다고 생각하시면 됩니다.
그렇기 때문에 기획자라면 무조건 만나고 함께 해야 할 녀석이라고 해도 과언이 아닙니다.
<테이블의 예시 (http://www.ibm.com/">http://www.ibm.com 펌)>
참고로 게임 내에 쓰이는 테이블은 위의 예시보다 훨씬 복잡합니다;;;
더 경악할 만한 사실은 이런 테이블을 MMORPG의 경우 최소 40개가 넘어가는 테이블을 사용하게 됩니다. (뭐 아닌 게임도 더러 있긴 합니다.-_-;; 급 소심해지는...)
특히 자신이 밸런스 기획이 목표라면 아주 애인 처럼 사랑해줘야 하는 녀석 중에 하나입니다.
물론 팀 작업 방식에 따라서 몬스터 Ai나 퀘스트 마져도 툴이나 직접 스크립트로 작성하지 않고 테이블로 작성하는 팀도 있습니다.
(실지 제가 D모팀에 근무때 기존 일일이 기획자가 손으로 코딩하던 몬스터 Ai스크립트를 테이블화 시켜버린 적도 있었습니다.)
3. 테이블은 무엇으로 관리하는가?
- 팀마다 DB툴로 직접 관리하는 팀도 있고 엑셀로 작성 후 파일 변환을 통해 스크립트화 시켜서
관리하는 팀도 있고 직접 툴을 만들어 관리하는 팀도 있습니다.
보편적으로 엑셀에 작성하여 스크립트로 변환 시켜 사용합니다.
4. 테이블 구조 잡기
- 특정 신규 시스템 또는 밸런스 기준을 추가 시 새로운 테이블 또한 추가되게 됩니다.
(기존 테이블에 변수 추가만으로도 마무리하기도 합니다.)
이때마다 기획자는 그 시스템에서 가장 효율적으로 사용할 수 있는 "테이블 구조"를 잡아야 합니다.
http://cfile23.uf.tistory.com/image/1862EE374D3107F5250179" width=518 height=395>
<테이블 구조 예시(출처 : ryu1hwan님의 블로그>
위의 예시처럼 각 테이블 마다 가지게 될 변수의 종류와 다른 테이블의 변수를 참조할 경우 어떤 테이블의 어떤 변수를 참조할 지를 결정하는 것이 테이블 구조를 잡는 것입니다.
이 구조가 잘못되었을 때는 당연히 정상적인 결과를 얻지 못하거나 작업 시 불러내야 하는 테이블의 수가 급격하게 증가하여 작업에 엄청난 불편함을 초래하기도 합니다.
또 테이블의 분할이 너무 적을 경우 사용하지 않는 데이터를 많이 가지게 되어 쓸때없이 리소스를 낭비하는 경우도 생깁니다.
그렇기 때문에 이 구조를 잡는 능력은 기획자에게 꼭 필요한 능력중에 하나라고 생각하고 있습니다.
5. 테이블 관리 및 주의점
- 테이블 관리 작업은 단순하게 말해서는 테이블의 데이터를 넣고 빼고 수정하는 작업들입니다.
여기에 좀 더 들어가면 필요해진 변수를 추가하거나 변수의 형태 수정 시 데이터의 입력 방식 변경 등 테이블 구조를 변경하는 작업이 추가되게 됩니다.
이 테이블 관리를 잘못 했을 경우 게임이 실행이 안되거나 엄청난 버그가 발생하기 때문에 작업 후 테스트와 재확인은 필수입니다.
예를 들자면 예전 G모 게임 서비스 당시 해외 패치를 담당하던 기획자가 중국에 들어갈 아이템 테이블을 일본에 올려서 6시간동안 긴급 점검에 들어가 그 시간동안 유저가 구입한 아이템에 대한 환불과 패치 전으로 롤백하는 등 엄청난 보수 작업이 들어간 적도 있었습니다.
(저도 사실 이 데이터 확인을 게을리 하다 고생은 고생대로 하고 욕은 욕대로 먹은 적이 한두번이 아닙니다.ㅠㅠ)
-더 작성하고 싶지만 잠이 급 몰려와서 짧게 끊겠습니다.다음에 따로 더 썰을 풀도록....죄송죄송.-
6. 포트폴리오에 활용
- 특정 시스템을 역기획하면서 그 시스템의 테이블 구조를 잡아볼 수 있다면 시스템 순서도를 그려보는 것 만큼이나 자신의 시스템 분석 능력을 인정받을 수 있고 거기에 추가로 데이터 구조를 잡는 능력을 가지고 있음을 증명하여 매우 좋은 점수를 얻을 수 있다고 생각합니다.
(실제 이런 포트폴리오를 들고 오는 신입은 10중에 1정도라고 생각하며 이런 능력이 뛰어난 신입이라면 저라도 당장 면접을 보자고 할 것입니다.)
그리고 자신이 참여한 소규모 프로젝트에 들어가는 데이터 또한 테이블 스크립트를 사용했든 안했든 테이블화 시켜보는 것도 매우 추천드리고 싶은 포트폴리오 어필 방법 중에 하나라고 봅니다.
아...역시 술먹고 글을 쓰니 글을 쓰다 앞에 내용 까먹고 다시 보고 또 쓰다가 까먹고 다시보고....
그래서 겨우 억지로 마무리 지은 글을 보니 눈물만 나네요.ㅠㅠ
역시 기획이든 뭐든 술을 먹고 하면 안되나 봅니다....;;;
원래 시작할 때의 목표는 이게 아니었는데 ㅠㅠ
(게임잡에 이미지 파일이 안올라간다는 것을 이제야 알았습니다.ㅠㅠ 예시를 많이 못썼네요.ㅠㅠ)
다음에는 재정신으로 글을 쓰도록 하겠습니다.
그럼 다들 굿나잇이여...
PS1> 개인적으로 포플이나 이력서 작성에 대한 궁금함이 있으시면 gamedesign07@naver.com로 메일 주시면 확인하는데로 답변드리도록 하겠습니다.
PS2> 게임잡에 건의하고 싶은 것 중 하나가...왜 게임 기획이 개발 지원인가요.ㅠㅠ