던전 맵 제작
처음 던전 맵을 제작하려고 했을 당시는 기획 했던 대로 밝은 분위기의 동화적인 느낌으로 가려고 했고 또 무료 에셋을 사용해 아기자기하게 맵을 만들기도 했으나 중간에 설정이 바뀌면서 전통적인 던전맵을 가져가기로 하면서 모두 폐기했는데 아쉬운 부분 이였다.
그리고 던전 맵 제작시 프리팹의 크기나 높이가 0, 0, 0으로 리셋이 되어도 다 제각각이라 어쩔 수 없이 수백개의 프리팹을 눈대중으로 높이와 폭을 맞춰야 했는데 이로 인해 프리팹들 사이에 틈과 단차가 생긴 것이 아쉽다. 이제 와서 보면 시작부터 씬을 어둡게 하고 작업할게 아니라 밝은 상태에서 작업한 뒤에 라이트를 만졌어야 하지 싶은데 던전을 만드는 느낌을 살리기 위해 씬을 어둡게 하고 작업한 것이 아쉬운 부분이다.
맵을 제작하는 작업을 다 수행한 이후에는 엄청나게 늘어난 프리팹들을 이름과 유형에 따라 모두 정리하고 최적화를 위해 mesh colider에서 convex를 사용했고 또한 static btaching도 자료를 찾아가며 설정해 주었다. 하지만 Ground 프리팹들은 convex 최적화를 사용하지 못하였는데 이를 사용하면 맵의 단차가 Player의 이동을 방해 할 우려가 있었기에 그러했으며 앞의 실책으로 아쉬운 부분이 늘어나게 되었다.
탈진 이벤트
그 이후에는 홈 씬에서 Player가 이벤트로 체력이 0이 되면 탈진 이벤트를 띄워주는 작업을 했는데 처음엔 쉽게 보았으나 막상 작업에 들어가자 갖가지 버그가 튀오나오기 시작했다.
단순하게 체력이 0이 되면 기존에 사용하던 Sleep 애니메이션이 나오게 하면 되겠거니 싶었지만 이렇게 코드를 작성하니 잘 작동하는 듯이 보였지만 던전 씬으로 왔다 갔다 해야 할 상황에서 문제를 일으키기 시작했는데
던전 씬으로 들어가기 전에 애니메이션이 나와 씹히기도 하였고 던전을 플레이 하는 도중에 작동해 애니메이션은 온데간데 없이 체력만 차있기도 했다.
이를 해결하기 위해 던전 씬 입장 전후로 이벤트가 콜 되지 않게 작업했더니 해결되는 것처럼 보였다. 하지만 직후에 또 다른 문제를 발견하게 되었는데 평판이 0이 되면 뜨는 팝업창이 뜨면 애니메이션이 두번 재생되고 체력 회복이 두번 작동하는 것이었다. 이를 해결하기 위해 팝업창이 떠있는 동안은 이벤트가 작동하지 못하게 하였다. 이렇게 모든 문제를 해결하고 커밋과 푸시를 하고 풀 리퀘스트로 머지를 하려는 순간 작업이 겹쳐 충돌이 일어나 머지를 할 수 없는 상황이 벌어졌다.
이를 해결하기 위하여 브랜치를 새로 파고 메인을 내려 받아 내가 작성했던 코드를 끼워넣기 시작했다. 하지만 새로 생긴 기능인 홈 씬과 던전 씬을 오고 가는 그 사이에 생긴 로딩 화면이 애니메이션을 씹어버렸기 때문이다. 이를 해결하기 위해 처음에는 이벤트에 시작하는 시점에 딜레이를 줘서 로딩 화면이 지나 가면 이벤트가 작동하게 만들려고 했으나 아무리 딜레이를 줘도 의도한 대로 작동하지 않고 로딩 화면에 애니메이션이 묻혀버렸다.
그러다가 관점을 달리해 앞에서 사용했던 방식을 사용해 이 상황을 타개하고자 하였고 로딩 화면이 재생하고 있을 때 탈진 이벤트가 불리지 못하게 막아버렸고 이는 의도한 대로 제대로 작동해 던전 퇴장 - 로딩 - 탈진 순서로 잘 작동하게 되었다. 하지만 산 넘어 산이라고 했던가 문제를 해결하자 다른 문제가 생겼는데 이는 앞에서 막았던 탈진 이벤트와 팝업창 이벤트가 겹치면 탈진 이벤트가 두번 작동하는 버그가 살아나 버렸기 때문이다. 아마 어딘가에서 탈진 이벤트를 두번 실행하는게 아닌가 했지만 이는 의외로 큰 문제는 아니였는데 엔딩에 도달하며 팝업창이 올라오면 게임이 끝나도록 팀원이 작업했기 때문이다. 체력이 두배로 차든 말든 게임이 끝나는데 무슨 상관이겠는가.
이것으로 마지막 작업을 다 끝냈다고 생각했으나 그 사이에 또 작업이 겹쳐 다시 브랜치를 파고 충돌을 피하기 위해 손수 코드를 옮기는 작업을 다시 하게 되었다. 귀찮은 작업이었지만 이를 다 해결하고 다시 풀 리퀘스트를 올리자 이제는 충돌 없이 제대로 머지가 되었다. 이렇게 하여 새벽 작업까지 했던 탈진 이벤트를 끝낼 수 있게 되었다.