고대유물
10월부터는 신규 컨텐츠인 고대유물을 맡았습니다.
제작 배치부터 시작해서, 미션과 레벨업에 연동된 획득 처리, 보물고와 연결되는 일일 보상까지 개발했습니다.
중간에 롱터치와 스크롤 초기화 규칙을 정리했는데, 자주 쓰는 조작일수록 규칙을 먼저 정해두고 그 규칙에 맞춰 구현하는 편이 나중에 덜 헷갈렸습니다.
개발 초반에는 아직 테이블 데이터가 없어서, 데이터 없이도 동작을 확인할 수 있도록 테스트 환경부터 만들어두고 작업했습니다.
또 레벨업 과정에서 서버와 재화가 맞지 않던 오류도 수정했습니다.
재화는 유저가 가장 민감하게 느끼는 부분이라, 숫자 하나가 어긋나는 것도 가볍게 넘길 수 없었습니다.
출시 후 첫 회고
10월 말에는 아티팩트의 일괄 각인 기능에 대해 회고를 진행했습니다.
출시 후 유저분들이 실제로 쓰는 모습을 보니, 개발할 때는 충분하다고 생각했던 부분들이 다르게 보이기 시작했습니다.
회고 내용을 바탕으로 전투력과 각인 횟수 표시를 개선한 버전을 다시 내보냈습니다.
각인 횟수와 일괄 각인이 들어간 아티팩트 화면 (유튜브 StillAliveGG 영상 캡처)
작년 개발일지에서 저는 이류 개발자의 문턱에 들어선 것 같다고 적었었습니다.
기획에 참여하고 의견을 나누지만, 정작 컨텐츠가 완성되면 "아, 그때 좀 더 나은 대안이 있었구나"라고 깨닫게 된다고요.
이번 회고가 딱 그랬습니다.
그래도 이번에는 아쉬웠던 부분을 회고로 남기고 바로 다음 개선에 반영할 수 있었습니다.
제가 만든 컨텐츠를 출시 후에 다시 고쳐보는 건 처음이었는데, 처음 만들 때보다 오히려 배울 게 더 많았습니다.
iOS에서만 멈추는 앱
11월에는 iOS에서만 생기는 이슈 두 개를 연달아 맡았습니다.
하나는 특정 iOS 버전에서 특정 행동을 하면 게임이 종료되는 문제였고, 다른 하나는 특정 iOS 버전에서 앱을 재시작하면 화면이 멈추는 문제였습니다.
두 번째 문제는 원인을 따라가 보니, 특정 iOS 버전과 유니티 버전 조합에서 카메라 대상이 없을 때 생기는 Metal 관련 이슈였습니다.
당시 새 iOS가 나온 뒤로 유니티 포럼에도 Metal 환경에서 화면이 멈추거나 검게 변한다는 글이 계속 올라오던, 꽤 유명했던 엔진 이슈였습니다.
유니티에서도 iOS의 Metal 디스플레이 링크(CAMetalDisplayLink) 구현 때문에 렌더링이 멈출 수 있다고 공식적으로 안내했을 정도였죠.
저희는 원인이 되는 상황을 찾아 예외 처리하는 방식으로 대응했습니다.
이번 문제에서는 어떤 기기와 버전에서 어떤 순서로 발생하는지 정리하는 것이 중요했습니다.
버그를 고치는 것보다 재현 조건을 찾는 것이 훨씬 어렵다는 걸 다시 한번 느꼈습니다.
그리고 내 코드뿐만 아니라 엔진의 문제일 가능성도 염두에 두어야겠다고 생각했습니다.





