포스트

총소리와 무전, 그리고 여덟 개의 작전

SRT 브리칭에 Ready or Not 총소리와 무전 목소리, 몸 기울이기, 총알 관통, 맵 밖 저격수 미유, 교전 AI, 블루 아카이브 Vol.4 작전 맵 여섯 개, 마우스로 길을 그리는 조작을 넣은 과정.

총소리와 무전, 그리고 여덟 개의 작전

한 줄 요약: 소리를 입히고, 몸을 기울여 쏠 수 있게 하고, 적이 엄폐하고 우회하게 만들었습니다. 작전은 둘에서 여덟로 늘었고, 키보드로 걷던 조작은 Door Kickers처럼 마우스로 길을 그리는 방식으로 바꿨습니다.

개인적으로 즐기려고 만든 팬 게임입니다. 게임 그림과 소리가 들어 있어 공개 배포는 하지 않습니다.

소리 입히기

Ready or Not의 총소리 꺼내기

총소리와 문 차는 소리는 Ready or Not에서 가져왔습니다. 이 게임은 소리를 FMOD라는 프로그램의 묶음 파일(.bank)에 넣어 둡니다. 안에는 Vorbis로 압축된 소리가 들어 있는데, 파일 머리 부분이 지워져 있어서 그대로는 재생되지 않습니다. 남은 것은 원래 머리의 지문(CRC32) 하나뿐입니다.

그래서 거꾸로 맞췄습니다. 같은 품질·채널·주파수 설정으로 무음 파일을 하나 압축해 보고, 거기서 나온 머리의 지문이 남아 있는 지문과 같으면 그 머리를 붙여 넣습니다. 확인한 12개 모두 지문이 맞았고, 꺼낸 소리의 길이도 원래 샘플 수와 같았습니다(예: 나무 문 차기 0.972초).

종류고른 소리
총MP5, AK, M249, VKS, 글록, 산탄총
문차다가 실패하는 소리, 부서지는 소리, 철문 소리
맞는 소리몸에 맞는 소리, 분대원은 방탄복에 맞는 소리
장비C2 설치·폭파, 섬광탄 핀 뽑기·던지기·터짐, 수갑(집타이)
발소리실내는 콘크리트, 실외는 자갈 위 군화 소리

용의자가 쓰러지는 소리만은 블루 아카이브의 것을 썼습니다. 헬멧단과 카이저 병사가 쓰러지는 동작 0.33초, 0.53초 지점에 소리를 내라는 표시가 있어서, 그 표시가 가리키는 소리 파일을 찾아 꺼냈습니다. 여학생의 비명 소리는 넣지 않았습니다.

C2 폭파, 포격, 문이 부서지는 소리, 섬광탄은 다른 소리보다 2.3~2.7배 크게, 1.8~2.5배 멀리까지 들리게 했습니다.

무전기 너머의 목소리

분대원 목소리는 블루 아카이브의 한국어·일본어 대사를 썼습니다. 그런데 그대로 틀면 옆에서 말하는 것처럼 들립니다. 그래서 무전기 소리로 바꿨습니다.

  • 사람 목소리 대역(300~3300 Hz)만 남기고
  • 소리 크기 차이를 6:1로 눌러 납작하게 만들고
  • 살짝 찌그러뜨린 뒤 잡음을 깔고
  • 앞뒤에 Ready or Not의 무전기 “딸깍” 소리를 붙였습니다.

미야코의 “작전 개시” 대사는 1.22초에서 1.53초가 되었습니다.

해 보니 매번 목소리가 나오면 금방 질려서, 지금은 게임을 시작할 때 미야코 한 마디만 목소리로 나오고 나머지 무전은 자막으로만 띄웁니다. 모에는 목소리를 빼고 자막만 남겼습니다.

몸을 기울여 쏘기

Q·E를 누르고 있으면 미야코가 옆으로 몸을 기울입니다. 벽 모서리에서 머리와 총만 내밀어 쏘는 동작입니다. 게임은 기울인 머리 위치에서 보고, 쏘고, 맞습니다.

기울이기 동작 그림 왼쪽(위 줄)과 오른쪽(아래 줄)으로 0°부터 45°까지 기울인 미야코. 실제로는 1.5°마다 한 장씩 61장입니다.

처음에는 허리만 꺾었는데, SD 모델은 몸통이 짧아서 머리가 거의 안 나갔습니다(게임 화면에서 6픽셀). 엄폐물에 기대 쏘는 사진을 보니 다리부터 같이 기울이고 있어서, 다리 25%, 등 75%로 나눠 기울이게 바꿨습니다. 이제 머리가 9픽셀 나갑니다.

총알은 나무를 뚫는다

  • 나무 문, 약한 벽, 나무 상자는 총알이 뚫고 지나갑니다. 한 겹 뚫을 때마다 피해가 줄어듭니다.
  • 콘크리트와 철문은 총알을 막습니다. 저격총으로 철문 너머를 10발 쏴도 피해는 0입니다.
  • 철문은 차서 부수기도 어렵습니다. 사키가 잠긴 나무 문은 40번 중 39번, 잠긴 철문은 40번 중 14번 부쉈습니다.
  • 맞은 재질(콘크리트, 나무, 금속, 유리)마다 다른 소리가 납니다.

미유는 맵 밖으로

지난 글에서 미유는 문 뒤에서 엄호했습니다. 하지만 좁은 실내에서 저격총은 쓸 데가 별로 없었습니다. 그래서 미유를 맵 밖 저격수로 바꿨습니다.

  • 미유는 맵에 나오지 않습니다. 건물 창문 너머와 실외 가장자리의 저격 자리에서 적을 지켜봅니다.
  • 미유가 보는 적은 분대 전체가 봅니다.
  • 총소리가 나거나 교전이 시작되면, 쏘고 있는 무장 용의자를 겨눠 저격합니다. 사선 근처에 다른 사람이 있으면 쏘지 않습니다.

화면 아래 미유 카드에는 “주시 3명”, “교전”, “조준 중” 같은 상태가 뜹니다.

적이 엄폐하고, 우회한다

첫 버전의 적은 서서 쏘기만 했습니다. Ready or Not의 설치 파일에 들어 있는 AI 파일 이름들(엄폐로 이동, 후퇴, 우회, 제압 사격, 전진 / 체력, 사기, 제압당함, 노출 정도, 마지막으로 본 뒤 지난 시간…)을 보면, 상황마다 점수를 매겨 가장 높은 행동을 고르는 방식이라는 걸 알 수 있습니다. 이 구조를 작게 줄여 옮겼습니다.

  • 용의자: 버티기, 엄폐, 후퇴, 마지막으로 본 곳으로 전진, 동료가 있으면 우회, 보이지 않는 곳에 제압 사격
  • 사키: 무장한 적이 보이거나 총소리가 나면 버티기, 엄폐, 후퇴, 미야코 곁으로 재집결 중에서 고릅니다. 돌입 명령 중에는 계획을 지킵니다.
  • 제압: 총알이 가까이 지나가면 제압 수치가 오르고, 오를수록 총이 덜 정확해집니다.

테스트 중에 용의자가 숨은 상대를 잃어버리면 영원히 버티기만 하는 문제가 있었습니다. 버티기 점수가 전진 점수보다 계속 높았기 때문입니다. 상대를 못 본 채 버티는 점수가 5초에 걸쳐 0으로 줄도록 고치자, 제압 사격 → 전진 → 다시 보이면 엄폐 순서로 움직였습니다.

사키가 옆 문간의 적에게 등 뒤로 맞기만 하는 문제도 있었습니다. 시야가 112°라 뒤를 못 봤습니다. 이제 맞거나 총소리가 나면 1.2초 동안 그쪽을 돌아봅니다. 같은 장면을 세 번 돌려 보니 처음 맞은 뒤 0.35초, 0.53초, 0.73초 만에 반격해 적을 쓰러뜨렸습니다.

여덟 개의 작전

블루 아카이브 메인 스토리 4장 「카르바노그의 토끼」에서 RABBIT 소대와 FOX 소대가 실제로 작전을 벌인 장소로 맵 여섯 개를 더 만들었습니다.

작전 선택 화면 작전 선택 화면. 원래 있던 두 작전 아래에 4장 1~2부의 장소들이 이어집니다.

당근 작전(하역장), 클로버 작전(발키리 경찰학교 본관과 옥상), 코우사기 공원 퇴거 저지, 코우사기 역 진입, 그리고 FOX 소대가 지키는 지하 미사일 사일로입니다. 발키리 공안국, 하역장 경비원, FOX 소대는 아직 그림이 없어서 도형으로 나옵니다.

여덟 개 맵 미리보기 여덟 개 맵을 칸 색으로만 그린 미리보기. 갈색이 엄폐물, 빨간 점이 용의자, 노란 점이 민간인입니다.

맵이 늘면서 테스트도 하나 만들었습니다. 모든 맵을 열어서, 문을 다 부쉈을 때 모든 용의자와 민간인에게 걸어갈 수 있는지 확인하고 20초씩 돌려 봅니다.

엄폐물은 아무렇게나 두지 않는다

처음 엄폐물은 나무 상자 두 개짜리를 방 가운데에 흩뿌린 것이었습니다. 실제 건물처럼 보이지 않았습니다. 그래서 Ready or Not 커뮤니티에서 그린 맵 평면도(주유소, 호텔, 창고, 클럽 지하, 주택)를 보고 규칙을 뽑았습니다.

  1. 가구는 벽에 붙는다. 방 가운데는 비어 있거나, 회의 탁자·접수 카운터 같은 큰 덩어리 하나만 있다.
  2. 매장·창고는 긴 선반 줄이 나란히 서고, 그 사이에 한 칸짜리 통로가 난다.
  3. 컨테이너, 상자 더미, 물탱크는 낮은 엄폐물이 아니라 시야를 막는 벽 덩어리다.
  4. 복도에는 아무것도 없다. 복도 양쪽 문은 마주 보지 않고 엇갈린다.
  5. 화장실·옷장 같은 작은 방이 큰 방에 끼어들어 문 옆에 구석을 만든다. 들어가면서 좌우를 확인해야 한다.
  6. 실외 엄폐물은 차, 화단, 콘크리트 방벽 정도다.

맵은 이제 손으로 글자를 찍지 않고, 사각형과 선으로 그리는 스크립트가 만듭니다. 스크립트가 선반 줄 길이와 문 방향이 맞는지도 검사합니다.

엄폐물을 바꾸기 전 바꾸기 전. 상자와 책상이 짝을 지어 아무 데나 놓여 있습니다.

엄폐물을 바꾼 뒤 바꾼 뒤. 같은 방의 소품이 한 줄로 늘어서서 선반·책상 줄로 읽힙니다.

마우스로 길 그리기

미야코를 WASD로 걷고 마우스로 쏘는 조작은, 분대에게 명령하면서 동시에 하기가 바빴습니다. 그래서 Door Kickers처럼 마우스로 길을 그리는 조작으로 바꿨습니다.

  • 유닛을 클릭(또는 1·2)해서 고르고, 끌어서 길을 그립니다. Shift를 누르고 그리면 천천히 걷습니다.
  • Ctrl을 누르고 끌면 걸으면서 바라볼 시선 점을 찍습니다.
  • Space를 누르면 전술 멈춤입니다. 세상은 멈추고, 그동안 길과 명령을 차분히 정할 수 있습니다.
  • 미야코는 그린 길을 걸으며 문을 알아서 열고, 보이는 무장 용의자에게는 자동으로 쏩니다.
  • WASD는 이제 화면을 움직이는 데 씁니다.

전술 멈춤 중 길 그리기 전술 멈춤 중. 미야코와 사키에게 각각 점선으로 길을 그렸습니다. 노란 고리는 지금 고른 유닛, 노란 점은 걸으며 바라볼 시선 점입니다.

분대원이 미야코와 겹쳐 서거나, 수갑을 채운 용의자가 문간을 막아 아무도 못 지나가는 버그도 고쳤습니다. 이제 구속된 사람, 항복한 사람, 민간인은 분대원이 밀고 지나갈 수 있습니다.

다음 글: 문 앞에서 멈추는 법 — CQB 교리를 코드로

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.