방향을 바꿨습니다. 세로로 든 휴대폰에서 앞으로 달리며 쏘던 게임을 접고, PC와 콘솔용 3인칭 로그라이트 커버 슈터로 갑니다. 엄폐물 뒤에 숨고, 부서지는 엄폐물 사이를 구르고, 갈림길 지도를 따라 전장을 골라 나아가는 게임입니다. 돌아온 지 몇 주 만의 결정이고, 그 뒤 사흘 동안 밀린 숙제를 몰아서 했습니다.
문서부터 새로 썼습니다. 컨셉, 계획, 레퍼런스 분석 전부 새 판입니다. 코드는 쓸 수 있는 것만 남기고 갈아엎는 중입니다.
오늘 한 일
- 화면·입력·카메라를 갈아엎었습니다. 가로 와이드 화면을 기본으로 잡고, 키보드·마우스와 게임패드 두 입력 체계를 새로 붙였습니다. 카메라는 어깨 너머로 가까이 붙는 3인칭으로 다시 잡았습니다.
- 스마트 커버 시스템을 설계하고 구현했습니다. 엄폐물에 다가가면 자동으로 붙고, 붙은 채 옆으로 미끄러지고, 끝에서 걸어 나가면 풀립니다. 숨은 채 고개를 내밀어 쏘는 동작과 적이 나를 볼 수 있는지 따지는 시야 판정도 넣었습니다.
- 플레이어 상태 머신을 다시 짰습니다. 이동·커버·구르기 같은 상태를 한 체계로 정리하고, 자동 사격 같은 것은 상태가 아니라 부가 플래그로 뺐습니다.
- 사격을 손에 쥐어 줬습니다. 버튼을 누르고 있어야 쏘는 수동 사격, 탄창과 재장전, 전투 거리에 들어오면 자동으로 멈추는 규칙을 넣었습니다. 커버 뒤에서도 구를 수 있습니다.
- 콘텐츠 회의를 열어 뼈대를 정했습니다. 한 판의 구조, 직업, 빌드, 작전 단위를 확정하고 소개 자료를 만들었습니다. 레퍼런스 게임에서 가져올 것과 안 가져올 것도 정했습니다.
막힌 것 / 배운 것
낮은 엄폐물을 뛰어넘는 동작이 하루 안에 세 번 바뀌었습니다. 처음엔 기어오르기·점프·낙하를 순서대로 이어 붙였는데, 일부 구간을 물리 엔진에 맡긴 탓에 이음새에서 어긋났습니다. 되돌리고, 전 구간을 코드로 직접 그리는 포물선으로 다시 만들었습니다.
이런 동작은 물리 엔진과 코드가 반씩 맡으면 둘이 만나는 자리에서 꼭 어긋난다는 걸 배웠습니다. 한쪽이 처음부터 끝까지 맡는 게 낫습니다. 되돌린 커밋이 하나 남았지만, 방향이 정해진 뒤라 그런지 손은 오히려 빨랐습니다.
내일
커버의 남은 버그를 잡고, 몬스터 쪽 상태 머신으로 넘어갑니다.