본문 바로가기

로그라이크

'The Rougelike'의 기획서

시나리오

'The Roguelike'는 주인공이 이름 모를 던젼을 탐험하고 던젼에 숨겨진 보물을 찾으며 지하로 지하로 내려가는 턴제 게임입니다. 탐험 중에 위험한 몬스터들과 조우하기도 하고, 몬스터와 싸워 이기면 탐험에 필요한 아이템들도 얻을 수 있습니다. NPC들과 대화를 통해 퀘스트도 받고 퀘스트를 완수하면 보상도 주어집니다. 단, 로그라이크류 게임 답게 한번 죽으면 게임을 다시 시작해야만 합니다.


게임 방식

  • 성공 조건 : 플레이어가 던젼의 지하 맨 밑층까지 탐험을 완료하면 게임에서 승리하게 됩니다.
  • 실패 조건 : HP가 0이 되면 플레이어가 사망하게 되고 게임이 종료 됩니다.
    • 턴제 게임으로써 플레이어가 액션을 할때 마다 스테미너가 소모 되며, 0이 되면 그 때부터 매 턴마다 HP가 감소합니다.
    • 몬스터에게 공격을 당하면 몬스터의 공격력과 플레이어의 방어력에 따라 HP가 감소 합니다.
  • 이동 
    • 동, 서, 남, 북. 이렇게 네 방향의 이동 버튼을 누르면 타일 단위로 이동 할 수 있으며 한번의 이동에 1의 스테미너가 소모 됩니다.
  • 공격
    • 몬스터와 플레이어가 바로 옆에 위치한 상태에서 몬스터 방향으로 이동 버튼을 누르면 몬스터를 공격합니다. 공격에는 2의 스테미너가 소모 됩니다.
  • 아이템 획득
    • 아이템이 위치한 타일 위로 올라가면 해당 타일에 놓여 있는 아이템을 획득 할 수 있습니다.
    • 아이템은 몬스터를 사냥하거나 퀘스트를 통해, 혹은 던젼 바닥에 떨어져 있는것을 얻을 수 있습니다.
  • 맵 이동
    • 각 층마다 위 또는 아래로 가는 계단이 존재 합니다. 계단이 있는 타일 위로 올라가면 해당 위층 또는 아래층으로 이동 할수 있습니다.
  • 인벤토리
    • 인벤토리 버튼을 누르면 현재 장착하거나 소지하고 있는 아이템 목록이 출력 됩니다. 아이템을 장착, 해제 또는 사용하거나 버릴 수 있습니다.
  • 퀘스트
    • 특정 조건(NPC에게 말을 건다, 특정 층으로 이동, 특정 위치에 도착)을 만족하면 퀘스트가 발동 됩니다. 
    • 퀘스트에서 주어진 조건들을 달성하고 나면 보상이 주어집니다.

데이터 구조

  • 주인공 - 위치, 가시거리, HP, 스테미너, 공격력, 방어력, 속도, 레벨, 경험치
  • 몬스터 - 위치, 가시거리, HP, 스테미너, 공격력, 방어력, 속도, 몬스터 이름
  • 아이템 - 위치, 아이템 이름, 아이템 효과(공격력 상승, 방어력 상승, HP 회복, 스테미너 회복 등등..)
  • NPC - 위치, NPC 이름, 대사
  • 퀘스트 - 시작 조건, 종료 조건, 퀘스트 시작 대사, 퀘스트 완료 대사, 퀘스트 완료 보상

간략하게 위와 같이 정리가 가능합니다. 물론 지금은 지극히 단순하게 간략화 해서 정리한 것이고 개발을 진행하면서 위 보다 복잡한 자료구조가 추가 됩니다.


다음으로 넘어가기 전에 짚고 넘어갈 부분은 위 자료구조간에 공통 부분들이 많이 보인다는 것입니다. 일반적으로 객체 지향형 프로그래밍에서는 공통 되는 부분을 따로 부모 클래스로 만들어 공용으로 사용하고 그 외 공통 되지 않은 부분들을 하위 클래스에서 따로 구현하는 방법을 사용합니다. 이 책에서는 처음에는 클래스의 상속 관계나 추상화를 고려하지 않고 각 클래스를 개별적으로 개발을 완료하고 리팩토링을 통해 다시 클래스들을 정리하는 방식으로 진행 합니다.

유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!