포스트

준비 경험 위주로 정리한 모바일 타워디펜스 컨셉 기획

준비 경험 위주로 정리한 모바일 타워디펜스 컨셉 기획


들어가며

이 글은 컨셉 기획안입니다!

직전 프로젝트의 경험으로부터 배운 것 중에 하나는 무언가를 장기간 시간을 두고 개발하는 것은 한편으로는 제가 어떤 거대한 맥락에 연루된다는 겁니다. 자칫하면 개발하는 과정이 피곤하고 고통스러운 경험으로 남을 수도 있고, 따라서 주제는 심사숙고해서 신중히 정할 필요가 있습니다.

이번 컨셉 디자인은 그런 맥락에서 조금의 실험입니다. 우선 1~2달가량 디자인 초안 제작, 문서 작성, 클래스 설계 등으로 아이디어를 구체화해보고, 여러가지 기회비용을 따져가며 실제로 게임을 개발해보거나 생각을 정리해서 글로 남기려고 합니다.

장르가 타워디펜스인 이유

gameplay-scene 게임플레이와 조작 예시.

주제가 타워디펜스인 것은 타워디펜스 게임을 즐겨해왔고, 이 장르가 어색하지 않다는 점이 첫 번째 이유고, 비슷한 원리로 개인적인 애착을 갖고 개발할 지속적으로 이어나갈 수 있을 것 같다는 점이 두 번째 이유입니다. 이미 출시된 타워디펜스 게임들이 많아 참고할만한 사례가 풍부하기 때문입니다.

다만, 그만큼 경쟁이 치열하고 최근에는 다소 낡고 정적인 인상을 준다는 점, 전통적인 타워디펜스 구조로는 게임의 종료 조건을 인상적으로 제시하기 힘들다는 점 등의 단점이 있습니다. 마찬가지로 게임을 창의적으로 이끌어가기도 어려워보입니다.

이런 문제를 어떻게 보완할 수 있는지가 이 아이디어를 구체화하는 과정에서의 가장 중요한 관심사입니다. 특정 라운드까지를 보상의 최대치가 정해지는 한 판으로 간주하고, 플레이어에게 지금의 게임을 마무리짓고 새 게임으로 넘어갈 수 있는 선택지를 제시하는 것 등이 보완책이 될 수 있을 것 같습니다.

미니멀리즘적 디자인 문법

이 컨셉 게임의 디자인 문법에는 최소주의와 실용주의라는 두 가지 원칙이 있습니다. 디자인 코드의 통일과 개발 비용 절감 때문에 미니멀리즘을 우선시했지만, 그렇다고 실용주의를 무시하려 하지는 않았습니다. 그런데 이 둘 사이에서 기능을 절감하면 대개 실용적이지 않고, 역으로 여러가지 정보를 함께 표시하면 보기가 난잡충돌하는 경우가 굉장히 잦아진다는 문제가 있었고, 대부분은 대안을 조율하기 위한 노력이 있었습니다.

info-panel-design-process 가장 고민이 많았던 타워 정보 패널 디자인. 각각 조금씩의 문제가 있다.

포탑의 스펙을 나타내는 창에서 수치를 상세히 표시하면 영수증처럼 정보 밀도가 과도하게 높아지고, 반대로 간략하게 제시하면 직관성이 크게 떨어집니다. 이 문제는 표시해야 하는 포탑 데이터 자체가 많고 복잡하다는 것이 근본적인 원인인데, 다른 수많은 UI를 디자인할 때에도 비슷한 문제가 있었습니다. 정갈한 정보 표시를 위해 게임시스템을 덜어낼 순 없으므로 대신 다음의 자체적인 원칙을 따라 최선책을 세웠습니다.

  1. 시각적 정보의 밀도와 시간적 정보의 밀도 모두 일정하게 유지될 수 있어야 합니다. 두 가지 관점 모두에서 정보는 너무 많거나 적게 주어져서는 안 됩니다.
  2. 플레이어의 선택이 직관적으로 체감될 수 있어야 합니다. 작은 행동에도 여러 겹의 애니메이션과 효과 등으로 UI는 동적으로 반응해야 합니다.
  3. 흥미 유도와 함께 지루함은 방지될 수 있어야 합니다. 모든 것을 동적으로 구성할 순 없지만 지루함을 유발하는 정적인 상황을 최대한 피하기 위해 맵이나 게임 시스템이 허용된 범위 내에서 유동적으로 기능해야 합니다.

notification-system 게임 도중 호출되는 4가지 유형의 알람.

design-examples 메인 메뉴와 설정창. 아이콘은 Fontawesome에서 가져왔습니다.

대부분의 UI 기능과 화면상의 배치를 위와 같은 실용주의 원칙에 따라 결정했습니다. 게임 분위기 자체가 흑백 계열의 모노톤이라는 점, UI 디자인 대부분이 정적으로 배치되어있다는 점이 단점으로 애니메이션과 같은 시각적 효과를 통해 개선이 필요한 부분입니다.

개발에 필요한 기술적 사항들

notion-dark notion-light 어느정도 정리되면 아예 공개해버릴까도 고민중인 노션 페이지.

이 프로젝트를 통해 달성할 수 있는 기술적 목표는 거창하지 않습니다. 명명 규칙이나 SOLID 원칙 등 원활한 프로젝트 관리를 위한 전략, 싱글톤이나 이벤트 주도적 프로그래밍과 같은 디자인 패턴, 안드로이드 앱 핵심 품질 기준 등 낯설지 않은 개념은 다듬어서 구현하고, 여유가 될 때마다 다음중 하나를 새로 사용해볼 수 있을 것 같습니다.

문서 작성 도중에 우연찮게 Awesome Lists를 알게 되었는데 그 중에서 유니티와 관련된 항목, 또 특히 자세히 참고할만한 오픈소스 프로젝트로 Nodulus를 발견했습니다. 실제로 프로젝트가 어떻게 관리되는지에 대한 감이 부족해 어려움이 있었는데 스크립트 구조나 에셋 관리 등에서 크게 참고할 수 있을 것 같습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.