시스템기획 테이블 - siseutemgihoeg teibeul

​테이블에 대한 이해가 없는 기획자가 생각보다 많다는 사실에

급히 글 하나를 적어 보았습니다.

게임 개발을 할 때 여러가지 이유로 테이블이라는 것을 사용합니다.

만약 테이블이라는 말은 모르더라도, DB라던가 데이터 파일이라는 말은 들어 보았을 것입니다.

이 글에서는 왜 테이블을 사용하는지와 어떻게 사용하는지에 대해 설명하고 있습니다.

테이블을 여러분의 프로젝트에 적용하는 순간,

컨텐츠 생산의 주도권은 프로그래머가 아닌 여러분이 가지게 될 것이라 확신합니다.

테이블:

세로줄과 가로줄의 모델을 이용하여 정렬된 데이터 집합

시스템 기획에서 왜 테이블을 사용하는가?

1. 게임 시스템은 수 많은 정보들이 게임 속에서 어떻게 상호작용을 하는지를 정하는 것

2. 문서가 간결해 진다.

3. 한 가지에 집중할 수 있다.

4. 프로그래머들이 이해하기 편하다.

쩌는 게임 기획서는 이렇게 쓴다.

출처: 쩌는 게임기획서 이렇게 쓴다 중 발췌 http://www.slideshare.net/phploveme/ss-30557563

시스템 기획 문서 샘플

첨부 문서: 아이템 시스템 문서.docx 참조

-> 짧고 간결하긴 하지만 한 눈에 보기 어렵고, 프로그래머에게 바로 와 닿지 않는다.

테이블을 사용한 시스템 기획 샘플

첨부 문서: Table_Item_Item.xlsx 참조​

​-> 뭘 만들어야 하는지 한 눈에 파악할 수 있고, 이 시스템과 연결된 다른 시스템을 고려하지 않아도 된다. 다른 말로 객체지향적이다.

게임 개발에서 왜 테이블을 사용하는가?

1. 컨텐츠를 손 쉽게 대량 생산할 수 있다.

2. 데이터의 변경이 쉽다.( 패킹할 필요없이 데이터만 바꾸면 끝~ )

3. 이 모든 것을 기획자가 할 수 있다.

테이블을 사용하지 않는다면??

프로그래머로부터 "안 돼요~" 소리를 듣거나,

하나하나 손으로 입력하거나

둘 중 하나!!

데이터 형식

1. csv

2. xml

3.json

-> 보기도 불편하고 수정하기도 쉽지 않다.

모든 레어 등급의 무기 공격력을 5% 올려 주세요~

기획자가 사용하는 테이블 툴

1. 엑셀

2. 엑세스

-> 엑셀은 진리, 드레그 하고 필요한 것만 바꾸면 끝!!!

그.러.나!!

엑셀은 코드에서 바로 사용할 수는 없다.

엑셀 테이블 파싱하기(Excel To JSON)

우리에겐 VBA가 있다!!

참~~ 쉽죠~~!!

게임에서 테이블 사용하기

1. 엑셀에서 데이터 작업을 한다.

2. 엑셀 테이블을 JSON으로 변환한다.

3. 변환된 데이터 파일을 Data 폴더에 넣는다.

4. 서비스 중인 경우에도 데이터 파일만 바꾸면 적용 완료!!

데모 보기

데모에서는 테이블에 입력한 공격력 등의 스탯과 사용효과가 UI에 표시되는 것을 보여주고 있다.

만약 밸런스 변경으로 무기 아이템의 공격력을 변경하거나 포션 아이템의 사용효과를 변경해야 한다면,

간단히 엑셀 파일을 수정하고, 이것을 json 파일로 변환하여 Data 폴더의 파일을 바꿔주면 적용이 된다.

데이터 폴더를 패킹 밖으로 빼 놓으면 이를 적용하기 위해 새로 빌드할 필요도 없다.

이번 데모 버전에서는 사용하고 있는 Json 파싱 라이브러리가 UTF-8의 경우 문제가 좀 있어서,

스트링 테이블을 패킹에 포함시켰다.. ( 수정해야 하는데... ㅠㅠ )

맺음말

게기모 강연을 염두에 두고 작성한 글이라 설명이 충분하지는 않습니다.

기회가 된다면 자세한 설명은 게기모 세미나에서 ^^

직접 테이블을 접해 보고 싶으신 분은 첨부된 Demo.zip 파일을 사용해 보시면 됩니다.

데모는 유니티로 만들었습니다.

감사합니다.