지난주에 엄폐 방식을 크게 바꾼 뒤로 전투를 계속 손보고 있습니다. 이번 며칠은 "엄폐물 뒤에 있는데 맞는다"는 오래된 불만의 뿌리를 파는 데 썼습니다. 원인이 둘 나왔는데, 둘 다 조준이나 총알 자체가 아니라 전혀 다른 자리에 있었습니다.
오늘 한 일
- 적 총알이 몸이 아니라 허공에서 나가고 있었습니다. 사수의 탄이 몸 앞쪽 허공에서 생겨나, 엄폐물 안쪽에서 튀어나온 셈이 됐습니다. 총구를 몸통 중심으로 옮기고, 생성 위치가 몸 밖으로 못 나가게 잡았습니다.
- 아이템을 끌어당기는 큰 구가 피격을 먹고 있었습니다. 플레이어에게 붙어 있는 넓은 감지 구에 총알이 스치기만 해도 맞은 걸로 처리되고 있었습니다. 엔진은 어느 부위에 닿았는지 알려주지 않더라고요. 이제는 몸통 캡슐에 닿은 것만 인정합니다.
- 조준 방식을 확정했습니다. 위아래 조준을 아예 없앴습니다. 수평으로 조준하면 조준선 근처의 가장 가까운 적이 자동으로 잡히고, 버튼으로 표적을 넘기고, 필요하면 락온으로 고정합니다. 수직 스틱과 화면 마그넷을 구현까지 했다가 접었습니다. 간편한 조작이 기존 슈터 문법보다 앞섭니다.
- AI 도구 둘의 역할을 갈랐습니다. 독립 감사로 코드·씬·설정을 문서와 대조했더니 어긋난 곳이 여럿 나왔습니다. 그 뒤로 한쪽은 계획·기획·리뷰만, 다른 쪽은 구현·검증만 맡습니다. 만드는 손과 검사하는 손을 나눈 셈입니다.
- 전장 노드 구조를 하루 종일 대화로 잡았습니다. 지도의 노드 하나가 곧 전장입니다. 방마다 교전 중인 아군이 있고, 분대가 따라오며, 쓰러진 병사는 클론으로 재생성됩니다. 재생성에 실패하면 영구 폐기. 구현은 대화가 충분히 구체화될 때까지 손대지 않기로 했습니다.
막힌 것 / 배운 것
자석 구 이야기를 조금 더 하겠습니다. 원인을 찾은 뒤 처음 넣은 수리는 "총알이 지금 있는 점이 몸통 캡슐 안인가"를 보는 것이었습니다. 검증해 보니 빠른 총알은 한 프레임에 캡슐을 통째로 지나쳐 버립니다. 이번 프레임엔 앞에, 다음 프레임엔 뒤에 있으니 점으로는 영영 안 걸립니다.
그래서 총알이 이동한 구간이 캡슐과 겹치는지를 보도록 바꿨습니다. 고속탄은 점이 아니라 선입니다. 고친 직후 검증에서 잡혀 다행이었습니다. 고쳤으면 되읽어 검산하는 걸 규칙으로 뒀습니다.
내일
전투 기반은 잡혔으니 흩어진 문서를 한 번 크게 정리합니다.