2025. 3. 11. 12:30ㆍ프로그래밍/게임 개발
게임 이름 : 꿈의 미로
장르 : 퍼즐 게임, 스토리 게임
개발 엔진 : Unity
개발 기간 : 2024.11 ~ 2024.12
담당 업무 : 기획 및 프로그래밍
2024년 11월 부터 2024년 12월까지 부산시에서 주관하는 안드로이드 앱 개발자 양성 프로그램에 참여하였다.
당시 다니고 있던 학교인 동명대학교와 협업하여 게임공학과인 나에게 이 프로그램에 참여할 기회가 주어졌다.
참여 학과는 게임공학과와 디지털미디어과로, 디지털미디어과는 Unreal Engine을 이용하여 짧은 영상을 만들었고,
게임공학과는 Unity를 이용한 간단한 2D or 3D 게임을 제작하였다.
제작 기간은 약 6주로 꽤 짧은 시간이었고, 이 기간 내에 프로젝트를 마치기 위해 좋아하던 게임도 잠시 멈추고,
취미로 배우고 있던 기타도 잠시 멈췄다.
이 6주를 오로지 이 프로젝트에 바쳤고, 만족하진 않았지만 꽤 괜찮은 퀄리티의 게임이 완성되었다.
게임은 프롤로그 > 미로의 숲 > 거울의 방 > 시간의 탑 > 에필로그 순으로 진행이 된다.
난 이 중 '시간의 탑'의 컨셉을 작업하였고, 그 중 전반적인 스토리, 미니게임, 보스전 등을 담당하였다.
게임의 스토리는 어느정도 플롯을 나누어 시간순서대로 진행이 되었지만 이 글에서는 내가 담당한 시간의 탑 부분만
서술하겠다.
시간의 탑의 첫 번째 씬, 첫 번째 플롯이다.
위에 말한대로 스토리는 거울의 방 이후의 스토리를 담고 있으며, 거울의 방을 탈출한 후
시간의 탑에 진입하는 것으로 진행된다.
각 테마마다 공간의 탈출에 도움을 주는 도우미 동물이 있는데 시간의 탑은 '노크티스' 라고 불리우는 고양이다.
주인공과 도우미 동물의 대사, 스토리 진행 등 처음부터 끝까지 스스로 만들어내야 했는데 도저히 떠오르지도 않고
무엇보다도 너무 오글거려서 역시 GPT의 힘을 빌렸다.
이 게임의 이름은 꿈의 미로. 말 그대로 꿈에 갇힌 주인공이 꿈을 탈출하는 게임인데 약스포를 하자면 주인공이
꿈에 갇힌 이유는 트라우마와 불안감 때문이며, 그 중 시간의 탑은 과거의 후회로 인한 집착을 주제로 하고있다.
잘 보면 배경의 시계들이 빙글빙글 도는 것을 볼 수 있는데 이 시계들의 틈으로 빨려 들어가며 본격적인
시간의 탑 스토리가 진행된다.
시계의 틈으로 빨려들어간 주인공은 거대한 시계와 마주하는 데..
거대한 시계에 이끌려 퍼즐방으로 가게된다.
저번 작품에서는 미처 튜토리얼을 넣지 못하였지만, 그 실수를 떠올려 이번엔 퍼즐게임의 튜토리얼에 중점을 두었다.
튜토리얼을 따라오다보면 마침내 플레이어가 직접 플레이 할 수 있게끔 버튼을 눌러야하는 상황이 온다.
이 때 무조건 버튼을 눌러야 다음 상황이 이어지게 하기 위해서
특정 대사가 나왔을 때는 특정 행동만 취할 수 있도록 코드를 짰다.
다시 게임으로 돌아가서
'구역 활성화' 버튼을 누르면 현재 시침이 가르키고 있는 구역이 활성화가 된다.
게임의 스토리적으로 얘기 하자면 주인공은 과거를 후회하고 있고, 그 과거를 받아들임으로써
과거를 이겨내어 트라우마를 극복하는 것이다.
구역 활성화는 받아들여야하는 과거를 인식하고 놓아주고 해소한다는 의미로 만들었지만,
사실 스토리를 본격적으로 짜본 건 익숙치 않아서 개연성이 많이 부족했다.
다시 게임 얘기로 넘어가서..
시간 변경을 누르면..
시간이 바뀐다.
이 역시 게임의 스토리적으로 이야기하자면 주인공의 수 많은 과거 중 후회가 쌓인 과거로 이동하는 의미이다.
주인공의 꿈이기 때문에 내면에서 자신의 기억을 헤집어 과거의 후회로 이동한다.
이 때 역시도 구역 활성화를 누르면
시침이 가르키고 있는 구역이 활성화가 된다.
그렇게 모든 구역을 활성화하게 되면 해당 퍼즐을 클리어하게 된다.
사실 말이 퍼즐이지 버튼을 누르기만 하면 되는, 일명 '딸깍'만 하면 퍼즐을 클리어 할 수 있다.
그렇게 퍼즐을 클리어 하게 되면
2스테이지로 넘어갈 수 있다.
2스테이지 부터는 퍼즐의 설명이 없고, 화면 상단의 시간 내에 퍼즐을 클리어 해야한다.
이런식으로 퍼즐을 클리어 하면 되고, 일반적인 퍼즐은 총 5스테이지까지 있다.
퍼즐은 스테이지를 지나올수록 어려워지며, 타이머도 늘어난다.
퍼즐 설명은 이만하면 됐으니 5스테이지 이후를 보겠다.
5스테이지를 클리어 한 모습이다.
이 후에는
화면이 붉어지며 Warning 표시와 느낌표가 깜빡인다.
이전과는 달리 이번엔 보스인 '크로노티스'가 직접 나타나 플레이어와 마주한다.
크로노티스와 대화를 하는 장면
모든 과거의 트라우마를 이겨낸 주인공
보스와의 전투에 돌입한다.
설명이 끝나고 3초의 카운트다운 이후 보스전이 시작된다.
설명대로 플레이어의 타이머는 줄어들고 보스의 타이머는 늘어난다.
도망가는 보스와 플레이어의 멀어지는 모습이라고 당시엔 생각했는데 지금보니 그다지 개연성이 느껴지지는 않는다.
설명에는 A키를 누르면 플레이어의 타이머가 3초 증가한다고 했었지만 안드로이드용으로 제작하다보니
키보드 입력을 받지 못해 A키 키입력을 받는 대신 버튼을 누르도록 했다.
버튼을 몇 번 눌렀더니 플레이어의 타이머가 증가하는 모습.
아까의 설명에 따르면 보스와 플레이어의 타이머 차이가 5초 이내로 줄어야 공격할 수 있다고 했으니
타이머의 간격을 5초 이내로 줄여보자.
타이머의 간격을 5초 이내로 줄였더니
"보스와 타이머가 동기화 되어 보스를 공격하였습니다." 라는 문구가 뜨며
화면 상단의 라이프가 한 개 없어진 것을 볼 수 있다.
그리고 타이머가 새롭게 조정된것을 볼 수 있다.
... 여기까지 개발을 완료하였다.
목숨을 한 개 없애고 다음 게임을 하려면 타이머가 초기화 되고 다시 게임이 시작되어야 하는데
타이머가 초기화되고 다음 게임이 시작되지가 않는다.
당시 내 능력의 한계였다.
짧은 기간이라 디버깅보다는 완성에 초점을 두기도 했고, 오류가 생각보다 많았다.
그래도 6주간 만든것치곤 꽤 그럴싸한 스토리와 완성도였고
이 때 처음 써본 Animation기능과 Maximo사이트를 알게되어 조금의 레벨 업이 된 개발이었다.
'프로그래밍 > 게임 개발' 카테고리의 다른 글
소녀전선2 : 망명 (모작) (0) | 2025.03.24 |
---|---|
어드벤처 던전 RPG 'Thief' (0) | 2025.02.15 |