[TwoDragons] 모바일 T-RPG 만들기

KYJ의 Tech Velog·2023년 4월 4일
0

프로젝트

목록 보기
3/5
  • 프로젝트 소개
  • 게임 소개
  • 담당 업무
  • 프로젝트 회고

프로젝트 소개

대학 동기 1명이 TRPG에서 영감을 받아 게임을 하나 기획하고 있다는 제안에서 시작한 프로젝트입니다.

게임을 진행하는 마스터와 플레이어의 선택에 따라 이야기가 달라지는 TRPG를 모바일로 즐길 수 있도록 기획하였습니다.

처음으로 Play 스토어에 출시를 생각하고 프로젝트를 진행하였습니다.


게임 소개

Table-RPG(TRPG) 장르인 던전 월드와 던전 앤 드래곤에 영감을 받아 기획된 모바일 텍스트 기반 게임입니다.

플레이어는 네 가지 직업(전사, 도적, 사냥꾼, 마법사) 중 하나를 골라 이야기의 주인공이 됩니다.

플레이어의 선택에 따라 세계의 흐름을 따라갈 수도 있고, 나홀로 작은 모험을 떠날 수도 있습니다.

TPRG에서 중요한 주사위 시스템을 활용하였습니다. 어떤 행동을 성공하기 위해서 행운이 필요합니다.


담당 업무

UI/UX

텍스트 기반 게임이기 때문에 텍스트를 읽어야 하는 피로감이 있을 거라고 생각하였습니다.

그래서 중요한 상시정보인 체력, 소지금, 인벤토리 무게는 숫자와 간단한 아이콘만으로 확인할 수 있도록 배치하였습니다.

여러가지 위치로 배치해보면서 팀원들과 함께 어느 위치에 어떻게 배치하는 것이 가장 효율적이고 보기에 좋을지 의논하여 배치하였습니다.

전투 시스템

전투 시스템은 기본적으로 턴제 시스템을 채택하였습니다. 처음에는 정수 변수 하나를 두어 변수가 0과 짝수일 때는 플레이어 턴, 홀수일 때는 적의 턴으로 진행되도록 구현했습니다.

하지만 적이 다수일 때, 또는 플레이어에게 동료가 있을 때를 고려하면 이 방식은 적합하지 않다고 생각하였습니다. 0과 짝수가 아군의 턴, 홀수가 적군의 턴이라는 보장이 없기 때문입니다.

이를 해결하기 위해 저는 Queue를 이용하여 이 시스템을 구현했습니다.

주사위 시스템

6면체 주사위를 굴리는 오픈 소스 코드를 활용하여 6면체 주사위 2개를 굴려서 주사위 값을 얻도록 하였습니다. 이 오픈 소스에는 유니티의 코루틴 기능이 적용되어 주사위를 굴리면 0.5초 뒤에 주사위 값이 나오도록 구현이 되어 있었습니다.

주사위 애니메이션에 코루틴 기능을 활용하였습니다. 만약 주사위가 굴러가는 애니메이션을 넣으면 주사위가 굴러가는 동안 화면에 다른 버튼들은 누르는 등 상호작용할 수 없도록 해야 한다고 생각했습니다.

주사위를 굴리는 버튼을 누르면 화면에 상호작용할 수 없도록 모두 가리는 투명한 오브젝트를 활성화합니다. 주사위가 굴러가는 애니메이션이 끝나면 이 오브젝트를 비활성화합니다. 이 때 비활성화하는 함수에 코루틴을 이용하여 지연을 걸어서 애니메이션이 끝나면 오브젝트가 비활성화되도록 구현하였습니다.


프로젝트 회고

RPG라는 장르가 개발도 개발이지만 기획 단계에서 많은 준비가 필요하다는 것을 알게 되었습니다.

유니티의 유용한 기능 중 하나인 코루틴을 사용하여 주사위 시스템을 구현할 수 있었습니다.

아직 진행 중인 프로젝트이기 때문에 회고는 계속 수정해 나갈 예정입니다.

0개의 댓글