공지사항

2016. 4. 9. 02:49
728x90
반응형

[역기획서] 클래시 로얄_7탄 유닛 파라미터입니다.


이제... 습관적으로 시스템 문서보다 파라미터 문서를 먼저 작성하게 되네요... 


원래 이랬는지는... 잘 모르겠어요. 시스템 먼저 했던거 같은데...


그럼 먼저 파라미터들을 살펴보겠습니다.






먼저 [유닛 이름] 입니다.


역시 기획자를 위한 주석이구요. 네이밍 규칙이 필요합니다. 


유닛 이름이나 카드 이름이 동일한 이름이니까 네이밍 규칙은 카드 이름 네이밍 규칙과 동일해야 하겠네요.



-

다음은 [유닛 이름 스트링 인덱스] 입니다.


역시 카드 이름 스트링 인덱스와 동일해야 겠죠 ㅎㅎ



-

다음은 [유닛 코드명] 입니다.


앞서 유닛 이름은 주석이고 유닛 이름 스트링은 단순히 스트링에 관련된 부분이니 동일해도 괜찮았지만


유닛 코드명은 동일할 경우 여러가지 이슈가 발생될 수도 있을듯 하니 꼭 독립적으로 하셔야 할듯 합니다.


하지만 카드 코드명과 매칭하기 쉽게 예를 들어 카드가 c로 시작되는 코드명이라면 유닛은 u로 시작해서 다음은 동일하게 하면 될듯 합니다.



다음은 [유닛 Lv] 입니다.


말 그대로 유닛의 Lv을 나타냅니다.  ㅎㅎ



-

다음은 [HP] 입니다.


유닛의 생명력을 나타냅니다.


65535의 int형을 사용하면 충분할 듯 합니다.



-

다음은 이슈가 존재하는 [피해량 최소] 입니다.


무슨 이슈냐면... 일단 유닛은 관계가 없지만 건물에 인페르노 타워 라는 녀석이 있습니다. 


이 녀석만 유일하게 피해량과 초당 피해량이 범위를 가지고 있습니다.


이걸 어떻게 구현할까 라고 고민을 많이 했었는데요...


단하나만 존재하는 부분이니 가장 쉬운건 하드코딩(^^) 하는 방법도 될 수 있겠지만...


일단... 이러한 녀석들이 더 늘어날 수도 있지 않을까 하는 생각에 최소 피해량과 최대 피해량으로 분리해 두었습니다.


헌데 그럼 유닛 파라미터에는 왜 분리 했냐구요?


이건... 5편에서도 잠시 언급했지만 통합할 경우를 대비해서 만들어 두었습니다.


그럼 유닛은 피해량이 하나뿐인데 어떻게 명시할 것인가 하는 문제가 있는데요.


그냥 최소랑 최대랑 동일한 수치를 입력하고 두 수치가 동일할 경우에는 UI 상에 하나의 수치만 명시한다는 룰이 적용되면 됩니다.


그러나... 이것 때문에 역시 또하나의 룰이 추가되는건 마찬가지네요.


아... 하나더 추가해야 겠네요


인적 오류 (입력하는 인간이 실수로 내는 오류) 를 방지하기 위해... 테이블 상에서 두 수치가 다를 경우 에러 메시지도 함께 발생되는 룰도...


인페르노 타워가... 여러모로 신경 쓰이게 합니다. ㅎㅎ



-

다음은 [피해량 최대] 입니다.


유닛이 주는 피해량의 최대치를 나타내며 앞서 말씀 드렸듯이 유닛은 모두 죄소 최대 피해량이 동일합니다.



-

다음은 [초당 피해량 최소] 와 [초당 피해량 최대]입니다.


헌데 보시면 아시겠지만 회색 글씨이죠... 이유는 해당 부분은 없어도 되기 때문입니다.


피해량을 공격 속도 1초 기준으로 계산만 하면 되기 때문에 굳이 테이블에 명시하지 않고 공식을 통해 UI에 바로 표시해도 되기 때문이죠.


헌데... 뭐 주석으로 명시해도 되고 아니면 그냥 파라미터로 명시해도 되니까... 취향대로 하시면 될듯 합니다.



-

다음은 [광역 피해량] 입니다.


범위 공격하는 유닛들을 위한 파라미터이구요.


광역 피해량을 범위로 표현되는건 아직 없더라구요. 그래서 최소와 최대로 구분하지는 않았습니다.



다음은 [데스 피해량] 입니다.


죽는 순간까지 적에게 피해를 주는 녀석들을 위한 파라미터입니다.


유닛 중에는 골렘과 자이언트 해골, 해골 비행선이 있는데요. 


구현상으로는... 셋은 조금 다를 듯 합니다.


골렘은 죽으면서 폭발과 함께 데미지를 주며 2개의 골렘을 소환해 내구요.


자이언트 골렘이나 해골 비행선은 폭탄을 떨구고 죽으며, 그 폭탄이 터지면서 피해를 주는데요. 


일단 제가 구현한 방법은 


골렘은 데스 피해량이 존재하구요. (터지면서 피해를 주니까)


자이언트 골렘과 해골 비생선은 데스 피해량이 없습니다. 대신 폭탄의 데스 피해량이 존재하여 폭탄의 데스 피해량을 불러올 예정이구요.


헌데... 이렇게 되면 또 예외처리 같은 상황이 벌어질 수도 있으니... 


최종적으로 폭탄의 데스 피해량을 자이언트 골렘과 해골 비생선의 데스 피해량에 명시할지도 모르겠습니다. (일단은 폭탄걸 불러오는 걸로...)



-

다음은 [공격 속도] 입니다.


?.? 초로 표시되구요. 유닛의 공격 속도를 나타냅니다.



다음은 [공격 대상] 입니다.


유닛의 공격 대상을 나타내며 지상, 공중, 지상+공중, 건물이 있습니다.



다음은 [속도] 입니다.


유닛의 이동 속도를 나타내구요 느림, 보통, 빠름, 매우 빠름이 존재합니다.


아직 매우 느림은 없는것 같아요



다음은 [이동 방법] 입니다.


유닛이 어떻게 이동하는가를 나타내구요. 0 = 지상, 1 = 공중을 나타냅니다.



다음은 [사정 거리] 입니다.


?.? 로 표시되며 특이한 점은 0.0 인 경우는 근접으로 표시됩니다.



-

다음은 [배치 시간] 입니다.


전장(?)에 유닛을 소환할 때 실제로 활동하기 까지 걸리는 시간을 나타내며 ?.?초로 표시됩니다.



-

다음은 [생성 유닛 코드명] 입니다.


유닛 중에는 유닛을 소환해 내는 유닛이 존재합니다.


바로 마녀이구요. 


건물들에는 오두막 시리즈들이 있네요... (지인이 제 덱을 보시더니 오두막덱이라고... 제가 2개의 오두막을 사용해서 그런가봐요...)


고블린 통도 있는데 이건 유형이 마법이라...


아무튼... 이처럼 유닛이 유닛을 소환 (건물은 생성)해 내는 것을 구현하기 위해 만들어진 파라미터로


어떠한 유닛이 소환되는지 소환되는 유닛의 코드명을 나타냅니다.


그리고 이것 때문에 카드 파라미터 하나에 다 통합시키지 않고 분리하게된... 이유이기도 하구요.



-

다음은 [생성 유닛 레벨] 입니다.


유닛이 소환(생성)해낸 유닛의 레벨을 나타냅니다.



-

다음은 [생성 유닛 수량] 입니다.


유닛이 소환해 낼 수 있는 유닛의 수량을 나타냅니다.



-

다음은 [생성 속도] 입니다.


유닛이 유닛을 소환해 내는 주기를 나타내며 ?.? 초로 표시됩니다.



다음은 [생성 방법] 입니다.


이것도... 표현하기에 고민이 많이 되던 파라미터였구요.


마녀의 경우는 생성 유닛 수량이 최대 수량이라 할 수 있습니다. 그래서 생성 주기가 돌아와도 생성 유닛 수량 만큼


유닛이 소환되어 있으면 더 이상 소환을 하지 않습니다. 


헌데 건물의 오두막 시리지들은 생성 주기가 돌아오면 무조건 유닛을 생성해 냅니다.


그래서 0 = 주기적으로 부족한 만큼, 1 = 주기적으로 무조건 으로 구분을 했는데요...


아마 시간을 들여서 좀더 명확한 것이 없을까 고민해 볼 예정입니다.


어쩌면 생성 유닛 수량과 최대 생성 유닛 수량 이라는 2개의 파라미터로 구분할지도 모르겠네요.



-

다음은 [사망(파괴)시 소환물] 입니다.


역시 건물과 같이 사용하고자 하는 의지의 표현으로 사망(파괴)라고 명시 했구요.


자이언트 해골과 해골 비생선, 골룸, 해골 무덤을 위한 파라미터입니다.


사망(파괴)시 소환되는 유닛의 코드명을 나타냅니다.


그러고보니... 폭탄도 유닛으로 표현될 예정입니다.



-

다음은 [사망(파괴)시 소환물 레벨] 입니다.


소환물의 레벨을 나타낸다고 보시면 됩니다.



다음은 [사망(파괴)시 소환물 수량] 입니다.


사망(파괴)시 소환되는 소환물의 수량을 나타냅니다.



아... 사망(파괴)시에는 무조건 한번에 나타나므로 생성 방법과 같은 파라미터는 존재하지 않습니다. 



-

다음은 [이미지 파일명] 입니다.


카드에 등장하는 유닛의 이미지 파일명이라 생각하시면 됩니다. 이미지 파일명 네이밍 규칙이 필요합니다. ㅎㅎ



-

마지막으로는 [모델링 파일명] 입니다.


소환될때 나나타는 유닛의 모델링 파일명입니다. 역시 네이밍 규칙이 필요합니다.



- 끝 -



아마 작업을 하면서... 추가되는 것들이 생기지 않을까 예상되구요.


앞서 말씀드렸듯이 몇몇 부분은 마음이 바뀌면 수정될 것 같습니다. ㅎㅎ




2016/04/06 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_6_ 카드 시스템


2016/04/06 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_5_카드 파라미터


2016/03/30 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_4_유저 시스템


2016/03/28 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_3_유저 파라미터


2016/03/28 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_2_시스템 리스트


2016/03/27 - [게임 기획 이야기/역기획서_클래시 로얄] - [역기획서] 클래시 로얄_1_들어가기에 앞서








728x90
반응형