두번째 프로젝트 개발 기록

_·2022년 4월 13일

기획 의도

첫 번째 꿈갈취 기획을 시작했던 12월이 오고 두 번째 게임을 만들지 말지 고민하던 때, 몇가지 아쉬웠던 점을 떠올리면서 못 해도 그만, 일단 시도 해보자는 마음으로 시작했다.

아쉬웠던 부분들과 업데이트 할 부분은 다음과 같다.

  • 64비트 컴퓨터에서만 실행 가능했기에, 32비트와 64비트 모두 호환 가능하게 제작.
  • Window 창으로만 플레이 가능했던것을 Full Screen 으로 수정.
  • Scence에 사용되는 Objects (Character, Object, Background)의 픽셀값 고정하기.
  • Dialogue Manager 대폭 수정하기. (이전 프로젝트에서의 버그 모두 고치기)
  • Inventory System 구축하기.

진행

프로젝트 기획

이번 프로젝트는 개인으로 진행되어 기획서를 간략하게만 작성 했었다.

2021년동안의 활동을 총 정리한 형태로 기획했으며 각 Scene의 주제는

  • I Wish
  • 사운드스토리 너의 소리가 보여
  • 홀연했던 사나이
  • 제트키

Intro Scene은 첫 번째 꿈갈취와 같이 방에서 시작, 마지막 축하 메세지 전달하는 Scence은 방이 아닌 빈 공간의 형태로 구성했었다.

각 스테이지별 시나리오

  1. I Wish
  • 인벤토리 시스템을 소개하기 위한 스테이지. 어려운 퍼즐은 없음.
  • 맵에 놓여진 하트와 대화를 시도할 수 있다.
  • 하트와의 대화가 시작하면 "Just take our hearts where you go. We love you. 앞이 보이지 않는 길이 있다면 우리가 당신의 빛이 될 수 있기를" 대화창이 뜨고 인벤토리에 하트를 수집.
  • 맵 전체적인 분위기는 뮤직비디오를 참고하여 제작
  • 라디오 이벤트 : 꿈꾸라에서 가장 처음 아이위시가 소개되었던 문장을 그대로 옮겨서 작성.
  • 소파 위에서는 훈이가 줄 5개의 기타를 연주하고 있음.
  • 하트를 얻고 인벤토리 시스템에대한 소개가 끝나면 다음 맵으로 이동 가능.
  1. 사운드스토리 너의 소리가 보여.
  • 총 두개의 Scene으로 제작. (스튜디오, 야외)
  • 스튜디오 맵에서는 테이프를 재생하고 소리를 들을 수 있음.
  • 야외맵에서는 맵 곳곳에 숨겨있는 상자를 찾아서 숨겨진 녹음 테이프를 얻어야 한다. 녹음 테이프는 총 4개. (숨비소리, 불고데기소리, 올창묵 소리, 벌떼소리) 발견 후 인벤토리로 자동 저장.
  • 야외맵 일부는 최루탄 연기에 가려져서 들어갈 수 없다.
  • 모든 테이프를 모은 후 스튜디오에서 소리를 들으면 다음 맵으로 이동 가능. (최루탄 연기가 걷히고 이동 가능한 길을 따라 가면 샛별다방으로 입장 가능.)
  1. 홀연했던 사나이

(같은 맵 안에서도 3번의 변화가 있으며 가장 마지막에는 저금통에 동전을 넣고 문을 열고 나가면 다음 맵으로 이동 가능. 자세한 내용은 서술하지 못하겠지만 정말 많은 정성을 들였던 맵.)

  1. 제트키
  • 맵 한 가운데 카운터에는 키보드 Z키캡이 얼굴인 NPC 가 있으며, 해당 NPC에게 당근 스티커 5개를 제출하면 다음 맵으로 이동 가능.
  • 당근 스티커는 제트키 각 회차의 주제로 이루어진 방에서 획득 가능. (스티커, 요리, 장난감, 캠핑, 선물)
  1. 편지의 방
  • 제트키 맵에서 이동된 맵에는 아무것도 보이지 않는 검은 공간의 맵.
  • 이동해서 탈출구를 찾는 방법이 아닌, I wish 맵에서 얻었던 하트를 사용하면 하트를 중심으로 주변이 밝아지면서 길이 나타나고 길을 따라가면서 축하 메세지를 읽을 수 있음.

의상투표 및 결과물

이전 꿈갈취사건에서의 캐릭터와 비슷하지만 수정된 부분도 많다.

  • 캐릭터 얼굴이 한 칸 줄어들었다.
  • 측면 이동시 기존에는 sprite를 두 장 사용했던 것을 세 장으로 늘렸다. 팔이 앞 뒤로 움직이면서 더욱 걷는 모션이 생생해졌다.
  • 측면 얼굴 형태를 수정했다. 더 귀여워졌다. (ㅋㅋㅋ)


I Wish Character.

77.9%의 득표를 얻은 의상. 상의 줄무늬 구현을 어떻게 할지 고민을 오래 했는데 그냥 줄무늬로 넣게 되었다. 아이위시 뮤비도 여러번 돌려보고 뮤비 메이킹, 컨셉 포토 엄청 많이 봤었는데 이 때 진짜 이쁘더라.. 물론 항상 이쁨...


Sound Story Studio.

본방 영상을 보면 스튜디오에서 어떤 의상을 입었는지 참고하기가 쉽지 않다. 계속 앉아있을 뿐만 아니라 탁자에 가려지기도하고 계쏙 한쪽 면만 보이기 때문에 옆모습, 뒷모습, 그리고 하의를 확인하기 어려웠다. 다행히도 이 의상을 입고 꿈꾸라를 녹음하러 갔었기 때문에 그 때 남아있던 영상 자료를 참고해서 신발의 색까지 확실하게 구현할 수 있었다. (아니 근데 연보라색 컨버스 신고있더라... 진짜임... 이게 맞나 싶다가도 그렇게 신고있었으니 그대로 구현해야지...)

이 의상 투표결과가 좀 재미있었는데

득표율 차이가 크지 않았다ㅋㅋㅋ 아무래도 스튜디오 촬영 의상은 대부분 비슷하기도 했던 것 같고 확실하게 인상에 남았던 의상도 없었던 것 같다. (내 최애 의상은 마지막화 흰색 티셔츠에 조끼의상.)


Sound Story Outside

아무래도 처음 너소보 자료가 공개되었을 때의 임팩트가 컸던 이유에서인지 이 의상이 인기가 많았다. (47.1%) 그 다음으로 인기가 있던 의상은 강원도 레몬색 줄무늬 니트(36.8%). 그리고.... 회색 니트는 딱 한 표를 받았다.

이 의상을 제작할 때 옷은 어렵지 않았고 정면 모습 머리카락에 욕심이 나서 열심히 만들었던 기억이 있다. 보트를 타고 소리를 녹음 할 때 강아지 귀 처럼 휘날리는 머리카락을 정말 좋아해서 그걸 살려보겠다고 여러 형태를 시도해보았던 기억이 있다.

캐릭터 sprite만 보면 색이 거의 없는데 쨍한 색감의 야외맵에서 돌아다니는걸 보면 꽤 어울리기도 했다.

(뮤지컬 의상은 개인적으로 이번 의상중에 제일 마음에 들게 구현되었다. 제트키의상은 청청패션이 60.3%로 제작 과정에 있었으나 중간에 무산되었다.)

스테이지 맵 디자인 및 제작

  1. 수현의 방

첫번째 꿈갈취 사건과 비슷한 구조.
침대 디자인 변경, 벽지는 꺄훼인님이 배포하신 벽지 패턴 사용. (짱...!)


1. I Wish

모든 Object 자체 제작. 창문은 애니메이션으로 눈이 내리는 효과 적용.


2-2. 사운드스토리 너의 소리가 보여 야외맵

넓은 야외맵으로 캐릭터가 움직임에 따라 카메라도 이동하는 형태로 제작.
메인 카메라 창에 보이는 화면이 플레이 할 때 스크린에 보이는 화면이며 위 사진은 전체 맵 디자인.

저번 꿈갈취와는 다르게 tiled to unity 를 사용하지 않고 unity 자체에서 제공되는 tilemap을 사용했다. 픽셀 프로그램으로 제작한 png 파일을 import 한 후 tile palette에 이미지를 옮겨서 sprite로 사용 가능하게 하는 방법이다. tilemap 제작 후에는 NoPassing 이라는 empty object를 생성 후 2d box collider를 만들어 캐릭터 이동 가능 범위를 조절했다. (아이위시 맵 같은 실내라서 저정도만 만들었지 너소보 야외맵은... 끔찍했다...)

설정값 및 코딩

이번 프로젝트는 처음부터 설정값을 확실하게 정해두고 시작했다.

Pixel Object Defalut Size : 64x64
Player Resolution Setting : Fullscreen Window. (1920x1080)
Main Camera (Pixel perfect camera) : Size 6, APPU 64, Reference Resolution 1920x1080

저번 프로젝트에서 발전된 점 하나는 Transfer Script인데 이전 프로젝트에서 페이드인/아웃이 제대로 실행되지 않았던 것이 아쉬워서 많이 수정했다.


꿈갈취 1 FadeManager.cs


SceneTransfer.cs

저번에는 모든 코드를 VSCode 로 작성했는데 이러면 intellisense 가 적용이 안되기 때문에 모든 코드를 다 타이핑 해야했다... 나는 그것도 할만하다고 생각했는데 이번에는 VSStudio를 썼는데 진짜 intellisense 없이 어케 코딩했나 싶을정도로 편했다.

아무튼, 차이점이라면 이전에는 FadeIn/Out을 스크립트 안에서 투명도를 조절하고, ScreenChage가 일어날 때 fade manager를 부른 후 FadeIn/Out을 실행시키는 방법이었다. 무슨 이유에서 새로운 scene으로 이동 후 페이드가 적용되지 않았었다.

이번에는 FadeIn/Out을 애니메이션으로 만든 후 Scene이 처음 load 될 때 자동으로 FadeIn이 이루어지고 캐릭터가 TransferPoint에 도달하면 FadeOut 애니메이션을 부른 후 1초동안 기다렸다가 새 scene으로 이동하는 방법을 썼다.


Transfer point와 캐릭터가 만나게 되면 Transfer coroutine이 불리게 되고, 그 안에서 fadeout이 트리거 되면서 fadein에서 fadeout으로 상태 변화, 1초 후 scene transfer 진행.

제작무산

작년에는 2인 개발이기도 했고 내가 파트타임으로만 일을 하고 있었어서 여유로웠다. 그런데 올해는 1인 개발이었던데다 직업이 생기게 되면서 시간이 많이 부족했던것도 사실이다. 그리고 이번 스테이지 주제들은 사용이 자유롭지 않다는 것을 뒤늦게 확인하게되기도 했다.

그래도 제작 과정에서 저번보다 코드 작성이 깔끔해 지기도 했고 유니티 사용하는데 익숙해지기도 해서 어쨌든 프로젝트 진행해보길 잘했다고 생각한다. 남아있는 아쉬운 마음은 다음을 위해서 남겨두기 위해 주절주절 적어보는 개발로그 끝.

profile
Just take my heart where you go

0개의 댓글