공지사항

2017. 10. 31. 03:59

해당 문서는 Project_TK에 사용될 로그인 이벤트 시스템에 대한 데이터 테이블 구조입니다.



보상 시스템에 대한 데이터 테이블 구조를 설명할 때는 논하지 않았던게 있는데요.


이번에는 일단 데이터 테이블 구조의 규칙에 대해서 잠시 설명하고 넘어가도록 하겠습니다.


일단 파일명은 DT_(관련 시스템 이름?)의 형태를 취하고 있습니다.


로그인 이벤트 시스템에 대한 데이터 테이블일 경우에는 DT_LoginEvent 형태를 취하고 있구요.


DT_ 다음에 등장하는 첫 글자는 대문자를 취하고 있고 조합된 단어일 경우에는 단어의 첫 글자는 대문자를 쓰려고 하고 있습니다.


(이렇게 말해놓고 봤더니 DT_Mainstring 테이블의 string에 s를 대문자로 하지 않았네요. 규칙을 나중에 정하면 이런 문제가 발생한답니다.)



파일은 엑셀 파일로 작성되구요.


개인적으로는 작업 파일 (DT_LoginEvent 작업용)과 실제 파일 (DT_LoginEvent)로 2개의 파일을 만들어서 작업을 진행하고 있습니다.


즉 작업용 파일에 먼저 작성을 한 후 실제 파일에 복사하여 사용 하는 거죠. 


(Ctrl+C, Ctrl+V의 아픔이 존재하기에 항상 경계해야 한답니다. 정기적으로 실수해서 매번 흠짓 놀라는 ㅠㅠ)


먼저 작업 파일의 시트 구성은 아래와 같습니다.




히스토리 (작업용) / description / LoginEvent로 구분되구요.


( 여기서도 문제가 있네요. 습관이 되다보니 description의 d를 대문자가 아닌 소문자로 쓰고 있네요. 

 

 옆의 LoginEvent를 생각한다면 아무리 무시하는 주석이라지만 형식을 갖춰주는게 좋답니다. 아마 프로그래머가 요구하실 거에요)



히스토리 (작업용)은 작업용 파일에만 존재하며 수정된 내용에 대한 정보를 남기는 역할을 합니다.




위의 히스토리는 워드 문서에도 항상 사용하는 부분이구요.


예전에도 얘기한적이 있는듯 한데... 전 원래 히스토리 부분을 작성 안했었는데... 


위메이드 크리에이티브 시절에 클라이언트 프로그래머분이 만들어 주셨어요. 그 후론 이뻐서 그냥 사용하고 있답니다.



description 은 말그대로 주석입니다.


테이블을 구성하는 파라미터들에 대한 설명글이죠.


LoginEvent를 기준으로 한다면 아래와 같습니다.




현업인들이시라면 많이 공감하실 텐데...


데이터 테이블에 주석이 없는 경우가 허다합니다...


해당 파라미터가 어떠한 역할을 하는지... 그 값들을 어떻게 작성해야 하는지 구두로만 전해지는 경우가 아주 많죠.


심지어는 사용하지 않는 파라미터들도 버젓이...


이런게 기획자에게 기본기인데...


나만 아니면 돼. 또는 오늘만 사는 분의 마인드죠... 유지 보수 따위는 개나 주라는...



LoginEvent가 실제 데이터 테이블이구요. 아래와 같이 구성됩니다.


안에 내용들은 테스트로 작성해 보았답니다.


지금까지 로그인 이벤트 데이터 테이블을 기준으로 제가 데이터 테이블을 작성하는 방법에 대해서 살펴보았구요.


이제는 로그인 이벤트 테이터 테이블에 대해 좀도 심도 깊은 이야기를 해 볼께요. 심도 깊은 이야기라고 해 봐야 파라미터들에 대한 설명을 좀더 해 드리는 거지만 ㅎㅎ



- 코드명 / codename


해당 데이터의 코드명을 나타내고 있어요.


총 3가지로 구성되구요. 출석 체크, 특정 주간 로그인 이벤트, 특정 시간 출석 체크로 구분하고 있어요.


로그인 이벤트 시스템에서는 출석 체크와 특정 주간 로그인 이벤트만 다뤘는데 특정 시간 출석 체크가 뭔가 하실텐데요.


요즘 모바일 게임에서 흔히 보이는 특정 시간에 접속하면 보상을 주는 이벤트도 해당 테이블에서 구축이 가능하기 때문에 포함시켜 둔거에요.


MAT는 month attendance의 약자이구요. 말 그대로 30일 기준으로 진행되는 출석 체크 이벤트를 나타내요.


이에 따라 WAT는 week attendance의 약자이며, TAT는 Time attendance의 약자에요.


뒤에 숫자는 4자리로 사용하구요. 


(전 코코모 이후로 6자리 숫자를 사용하기 시작했는데.. 6자리는 너무 긴거 같아서 그냥 4자리로 사용하고 있어요. 아무 이유 없이 ㅎㅎ)



그리고 기억 나실지 모르겠지만 ㅎㅎ 출석 체크를 3가지로 구분 했었죠. (신규, 일반, 복귀)


이 3가지를 4자리 숫자로 표현할 때 첫번째 숫자 0은 신규, 1은 일반, 2는 복귀라고 암묵적으로 규정하고 있어요. 


(이건 왜 명시를 안했냐구요? 그러게요 ㅎㅎ 귀차니즘이었나봐요 ㅠㅠ)


그래서 신규는 0000 ~ 0999번까지, 일반은 1000 ~ 1999까지, 복귀는 2000 ~ 2999까지 쓰려고 했어요. 이정도면 충분하다고 생각이 되어서 ㅎㅎ



WAT나 TAT의 4자리 숫자는 그런 의미 없이 그냥 순서대로 ㅎㅎ



- 이벤트 이름 (주석) / annotation


말그대로 이벤트의 이름을 나타내구요. 기획자를 위한 주석이에요.



- 이름 스트링 코드명 / name_string


이벤트 이름을 나타내는 스트링의 코드명이에요. 



- 이미지 파일명 / image_filename


특정 주간 로그인 이벤트 UI가 기억나시나요? 좌측에 있던 이벤트용 이미지요.


그 이미지를 나타내는 파일명을 명시하면 되요. 


그래서 이 파라미터는 특정 주간 로그인 이벤트인 경우에만 사용이 된답니다.



☞ 이미지 파일명을 명시한다는건 이미지 파일명을 어떻게 해야 할지 파일명 규칙을 기획자가 제공해 줘야 한다는 의미에요.


   물론 정말 그래야 하냐? 라고 물으신다면 의무는 아니지만 해 주면 좋죠. 


   특히 기획자가 관리하기 좋도록 규칙을 정해 준다면 그래픽 팀에서 마음대로 (물론 그분들 나름대로의 규칙이 있겠지만) 작성한 파일명보다 훨씬 좋겠죠.


   제 경우를 설명 드리면 전 (센스 좋은 분들은 위의 본문 내용 중에서 이미 눈치 채셨겠지만...)


   코드명과 파일명을 동일하게 작성해서 요청드린답니다. 그러면 딱 봐도 해당 이미지가 어디에 사용되는 이미지인지 알수 있겠죠. 그러면 실수하기도 덜 할테구요.


   이런 부분이 작지만 실수를 줄이고 관리를 편하게 하는 요령인거 같아요. 


   (헌데... 파일명 형식을 기획팀에서 부터 체계적으로 하는 회사 or 프로젝트는... 찾기 힘들죠...)



- 이벤트 타입 / type


이벤트의 타입을 나타내는 부분이에요.


출석 체크인지, 특정 주간 로그인 이벤트인지, 특정 시간 로그인 이벤트인지.


month / week / time으로 구분하고 있어요. 



- 이벤트 세부 타입 / type2


앞서 말씀드렸듯이 출석 체크에는 3가지 구분이 있잖아요. 그걸 나타내기 위한 부분이에요.


new = 신규 유저, common = 일반, return = 복귀 유저



- 시작 날짜 / start_data


시작날짜를 나타내는 부분이구요.


기간이 없는 경우에는 none를 명시해요. (값은 뭐 0으로 하시던 원하시는 걸로 ㅎㅎ)


출석 체크의 경우에는 기간이 없으니까 none 값이 명시되구요. (none가 싫으시면 아주 긴 기간을 해 두는것도 방법이에요. 한 100년...)


yyyy-MM-dd로 명시하시면 되요. 2017-10-31 이렇게요. 


(날짜를 명시하는 방법도 프로그래머와 상의해서 그냥 결정하시면 되요. 일단 기획자가 선 제시를 하고 프로그래머분이 수정을 원하시면 원하시는 규칙으로 ㅎㅎ. 


어렵지 않으니까요)



- 시작 시간 : start_time


시작하는 시간을 나타내요.


hh:mm:ss로 입력하시면 되구요.


시간이 없을 경우 none 를 입력하구요. 


(사실상 시간이 없을 수 없으니... none라는건 00:00:00이라는 의미이구요. none 없이 무조건 시간을 입력하는 것도 방법이에요)



- 종료 날짜 / finish_data


종료 날짜를 나타내는 부분이며 역시 없다면 none으로


yyyy-MM-dd로 명시면 되구요. 주의할 사항은 실제 종료하는 날보다 1일을 추가해서 적어야 한다는 거에요.


만약 1일부터 7일까지 하는 이벤트라면 7일날 이라고 명시하면 7일날 00시에 종료되는거니까 8일날로 +1 해서 ㅎㅎ


물론 이것도 규칙 정하기 나름이에요. 7일로 명시하면 프로그램에서 알아서 +1을 해준다거나 7일로 명시하면서 24:00:00을 적는다거나. 



- 종료 시간 / finish_time


종료하는 시간을 나타내구요 시작 시간처럼 hh:mm:ss로 입력하시고 시간이 없을 경우 none 를 입력



- 날짜별 보상 / day1 ~ day28


날짜별 보상에 해당하는 보상 키워드를 작성하는 부분이에요.


어떤 보상을 줄지를 보상 데이터 테이블에 명시하고 그 명시된 코드명을 불러오는 거죠.


위에 제공한 이미지를 보면 RAT000000 / RAT000001 / RAT000002 / ... 이라고 되어 있잖아요. 


RAT는 보상 코드명 규칙에서 결정되는 부분인데 reward attendance 를 나타내는거구.


6자리 숫자중 5와 6번째 숫자는 날짜를 나타내고 있어요. 00은 첫번재 출석 보상, 01은 두번째 출석 보상 이라는 거죠. 


이것도 규칙은 정하기 나름이니까 편하시는데로 ㅎㅎ




이렇게 로그인 이벤트 데이터 테이블에 대해서 알아봤는데요.


데이터 테이블을 신입이나 연차가 낮으신 분들이 만드시기에는 제일 어려운 부분이죠.


뭐 시스템이야 UI는 다른 게임을 직접 해보면서 역기획서 기반으로 작성한다고 해도 데이터 테이블을 제공해 주는 곳은 없으니까요.


그리고 프로그래머와 협의를 해서 결정되는 부분이기도 하구요. 사실상 프로그래머의 입김이 쎈 부분이죠 ㅎㅎ



그래도 해당 시스템을 구현하기 위해서 어떠한 요소들이 명시되어야 하는가를 계속 연구하시고 노력하셔서 데이터 테이블 작업을 해보셔야


시스템 기획자로서 성장 하실 수 있으니 ㅎㅎ 잘 안되더라도 도전하고 도전하시길 바래요.



전... 파라미터 영문명 정하는게 제일 어려워서... 매번 마눌님의 도움을 받고 있답니다. 


- 끝 - 



그러고 보니 이것으로 로그인 이벤트 시스템에 대한 내용은 끝을 맺었네요. 


한동안 지구를 구한다고 (x-com에 빠져서...) 도중에 틈이 ㅠㅠ


다음에는 어떤걸 해볼까요? ㅎㅎ


궁금한게 있으시려나...



2017/10/30 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 6_특정 주간 로그인 이벤트 프로세스


2017/10/29 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 5_특정 주간 로그인 이벤트 UI


2017/10/28 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 4_특정 주간 로그인 이벤트


2017/10/13 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 3_출석 체크 UI


2017/10/12 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 2_출석 체크 프로세스


2017/10/11 - [게임 기획 이야기/Project_TK] - 로그인 이벤트 시스템 1