안녕하세요!
저희 게임이 탑뷰 어드밴쳐장르다보니 다양한 레벨이 등장하는데요
사실 이런 장르는 처음 만들다보니 시행착오가 많았습니다
그래서 불편했던 부분을 개선한 것들을 중심으로 한번 써봤습니다
우선 테스트 플레이 기능입니다
제가 맵을 만드는 과정은 이런식인데요.
대충 맵을 찍어본다 => 테스트 => 고친다 => 테스트 => ...
이렇게 테스트해서 문제점들을 확인해보고 고치는 작업에 시간을 많이 씁니다
대사 위치나 타이밍이 이상하던가, 트리거 버그가 나거나 하는 상황이 많습니다
그런데 여기서 테스트를 위해서는 해당 지역으로 이동해야 하는데, 중간에 적도 나오고, 컷씬도 나옵니다
이러면 일단 가는데 시간이 걸리고, 실수로 적한테 죽을 수도 있고, 컷씬을 지루하게 지켜보면서 시간을 태웁니다


그래서 이런 문제를 해결하기 위해서 크게는 체크포인트를 기준으로 테스트플레이를 할 수 있게 했습니다
여러개의 체크포인트가 있으면, 그걸 고르고 플레이하는 식입니다
사실 이렇게 하지 않으면 맵을 처음부터 플레이해야하기 때문에, 거의 필수적인 기능인 것 같습니다

그리고 시간배속이나 무적기능 치트키입니다
반복이 아예없는 건 아니지만, 그래도 있으니까 상당히 편하더라고요
그리고 다음은 원하는 오브젝트들만 보여주는 기능입니다
저희 게임 구조가 큰 단위로 스테이지가 있고 그 안에 작은 구간(Wave)들이 있는 방식입니다

이런식으로 하나의 스테이지는 여러개의 웨이브들로 이루어져있습니다
그런데 이렇게 되니까 유니티 Hierarchy 윈도우가 상당히 길어지더라고요

레벨을 찍어보신분들은 아시겠지만, 이러면 작업할 때 정신이 없습니다
특히 오브젝트를 찾을 때 고통스럽습니다
그래서 이 문제를 처리하기 위해서 여러가지 방법을 생각해봤는데요
사실 이런 이슈를 해결하는 게 상당히 귀찮습니다
그래서 그냥 좀 불편하더라도 그냥 작업을 하는데, 너무 불편하면 고치는 거죠.
그런 귀차니즘적인 측면에서, 개발비용이 적은 방법을 선택하는 편입니다
그래서 간단하게 웨이브별로 껐다켰다하는 기능을 추가했습니다

이런식으로 현재 작업할 때 필요없는 오브젝트들은 안보이게 했습니다
이렇게 만들고보니 이 작업을 미루고있던 과거의 자신을 반성하게 되네요...
다음으로 레벨을 찍다가 발생했던 불편한 점은 바로 버그찾기입니다
레벨을 찍다가, 프리팹이 수정되고, 그걸 잊어버리고 또 레벨을 찍고... 아무튼 버그가 많이 발생합니다
그러면 디버깅을 해야하는데, 역시 인고의 시간이 아닐 수 없습니다
몇시간을 찾다가 결국 필드 하나가 누락돼서 발생했다는 사실을 알게 되는데요
이런 단순한 버그들을 미리 예방하기 위해서 레벨을 전체적으로 검사하는 기능을 만들었습니다

여기서 의사양반을 누르면

의사양반이 진단을 해줍니다
정신없이 작업을 하다보니 버그가 많이 생겨버렸네요
하나씩 찾아서 고쳐줍니다

이렇게 의사양반께서 환한 미소를 보여줄 때까지 고쳐줘야 마음에 평화를 얻을 수 있게 됩니다
단순한 버그는 이런식으로 대부분 예방할 수 있습니다
하지만 복잡한 트리거 버그도 존재합니다
플레이어가 예측하지 못한 행동을 보이면 트리거가 꼬이면서 발생하는 버그들인데요
이런 버그는 딱히 정해진 해결책은 없습니다
하지만 디버깅을 할 때는 버그에 대한 정보가 많을 수록 수월한데요

결국 이런식으로 트리거의 로그를 기록하게 됐습니다
어떤 액션이 먼저 수행됐는지라던가, 어떤 액션이 수행이 됐는지 안됐는지에 대해서 확실한 정보를 제공해줍니다
읽어주셔서 감사합니다!
---이전글-----
1편 소개
2편 괴물
3편 약탈자
4편 파편시스템
5편 대쉬퍼즐
6편 브금소개
7편 스프라이트 순서 처리
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.