주말에 게임의 바깥 껍데기를 만들었습니다. 시작 화면, 세이브 슬롯, 로비, 임무를 고르는 자리. 만들고 나서 게임패드로 만져 보니 자잘한 규칙이 여럿 필요하다는 걸 알았습니다. 월요일에는 직접 플레이하며 버그를 잡았고, 밤에는 다시 기획을 돌렸습니다.
오늘 한 일
- 세이브와 로비의 구조를 정했습니다. 다른 로그라이트들이 언제 자동 저장하는지 조사해 노드 단위 자동 저장에 시드 고정을 붙였습니다. 저장을 되감아 결과를 바꾸는 꼼수를 막기 위해서입니다. 시작 화면에는 세이브 슬롯 셋, 로비에는 임무를 고르는 포트를 두었습니다.
- 게임패드 UI 규칙이 생겼습니다. 화면이 열리면 첫 항목이 자동으로 선택되고, O 버튼은 언제나 닫기입니다. 패드에서 마우스로 손을 옮기면 선택 표시가 사라지고 다시 패드를 잡으면 돌아옵니다. 이걸 지키는 작은 컴포넌트를 하나 두었습니다.
- 다국어 기반을 깔았습니다. 코드에 박혀 있던 문구를 문자열 테이블로 옮기고, 언어를 바꾸면 화면이 바로 갱신되게 했습니다. 한국어와 영어에서 시작합니다.
- 플레이하며 버그를 잡았습니다. 엄폐물을 뛰어넘을 때 공중에 뜨는 문제, 고개를 내밀고 쏘는 중에 몸이 앞으로 밀리는 문제, 떨어진 아이템이 안 주워지는 문제. 노드가 시작되고 끝날 때 짧은 메시지도 붙였습니다.
- 밤에는 기획 다섯 건. 다음 챕터 보스의 컨셉, 직업 넷의 정체성, 클론이라는 사실을 플레이어에게 어느 강도로 보여줄지, 군대의 두 얼굴(시민에게 하는 말과 현장에서 하는 말), 라디오 방송의 문구. 아침에 고릅니다.
막힌 것 / 배운 것
공중에 뜨는 버그는 두 번을 고치고서야 잡혔습니다. 처음엔 레이어 충돌 설정을 바꿨더니 증상이 사라져서 고쳤다고 적었습니다. 며칠 만에 같은 증상이 돌아왔습니다. 진짜 원인은 플레이어에 달린 감지용 콜라이더 하나가 단단한 몸체로 남아 엄폐물을 밀어내고 있던 것이었습니다. 고개를 내밀고 쏠 때 앞으로 밀리던 것도 같은 뿌리였습니다.
증상이 사라진 것과 원인을 잡은 것은 다른 일이라는 걸 배웠습니다. 그래서 이날부터 버그 보고서를 지우지 않고 남기기로 했습니다. 다음에 같은 증상이 오면 지난번에 무엇을 건드렸는지부터 볼 수 있게.
내일
밤에 뽑아 둔 기획 다섯 건을 고르고, 카드와 빌드 쪽 기획을 잇습니다.