본문 바로가기
게임개발/가마수트라

로봇 슈팅 게임에서 '공정한' 자동 조준 시스템을 만드는 방법

by 아수랑 2024. 12. 21.
728x90
반응형

알고리즘을 개편하고 목표물 우선순위를 결정하는 단일 수학 공식을 도입하여 모든 플레이어가 자동 조준 설정을 더욱 투명하고 예측 가능하게 만들었으며, 큰 피드백을 받았습니다.

* 관련 분야: 게임 기획
* 작성자: Kirill Sharikov


모바일 플랫폼에서 가장 인기 있는 슈팅 장르에서는 속도와 반응 시간이 매우 중요합니다. 즉, 모바일 제어 방식은 기존의 키보드 및 마우스 설정이나 컨트롤러와 크게 다르며, 바로 이 점에서 자동 조준 기능이 매우 유용합니다.

자동 조준이란 무엇인가요? 자동 조준은 플레이어가 정확한 손가락 움직임보다는 전략과 전술적 의사 결정에 집중할 수 있도록 도와주어 플레이어의 부담을 덜어주는 기능입니다. 이는 1초가 중요한 멀티플레이어 게임에서 특히 중요한데, 조금만 지연되거나 빗나가도 패배로 이어질 수 있기 때문입니다.

이러한 개선 사항은 게임플레이를 간소화할 뿐만 아니라 더 많은 사람이 게임을 즐길 수 있도록 접근성을 넓혀줍니다. 하지만 어떻게 하면 공정한 방식으로 구현할 수 있을까요? 이 포스팅에서는 유니티의 전문 지식을 바탕으로 솔루션을 개발한 방법을 공유해 드리겠습니다.

저는 워 로봇 프로젝트의 프로그래머 키릴 샤리코프입니다. 이 글에서는 게임에서 자동 조준 시스템이 일반적으로 어떻게 작동하는지, 그리고 저희 게임에서 이 기능을 어떻게 구현했는지 설명하겠습니다.

반응형


자동 조준 알고리즘에 대한 조사

일부 '하드코어' 플레이어는 자동 조준을 일종의 '치팅'으로 간주할 수 있지만, 그럼에도 불구하고 콘솔과 모바일 게임 모두에서 자동 조준은 여전히 필수적인 기능입니다. 빠르게 진행되는 슈팅 게임에서는 조준이 상당히 어려울 수 있으므로 자동 조준 시스템이 플레이어에게 반응성과 직관성을 모두 제공해야 합니다.

조준 지원의 개념은 콘솔 게임에 뿌리를 두고 있으며 이후 모바일 플랫폼에 맞게 조정되었습니다. 자동 목표물 선택 시스템에는 몇 가지 효과적인 접근 방식이 있는데, 그 중 몇 가지를 살펴보겠습니다:

1. 자기 조준: 이 기술은 십자선이 자동으로 가장 가까운 표적에 끌리도록 하는 기술입니다. 적이 화면 중앙에 충분히 가까워지면 조준경이 표적에 “고정”되도록 미세하게 조정되어 정밀한 제어 없이도 정확도를 높일 수 있습니다.

2. 예측: 이 방법은 움직이는 적을 조준할 때 사용되며, 표적의 현재 속도와 방향을 고려하여 향후 위치를 예측하므로 플레이어는 적이 움직이는 중에도 효과적으로 조준할 수 있습니다.

3. 영역 커서 확장: 이 방식은 대상에 대한 타격 등록 영역(히트박스)의 크기를 수정합니다. 이 영역을 확대하면 십자선이 목표물에 직접 닿지 않더라도 명중이 등록됩니다. 고급 구현에서는 이 영역의 크기가 상황에 따라 동적으로 조정될 수 있습니다(예: 타겟이 빠르게 움직이거나 멀리 떨어져 있을 때 증가).

4. 고정 타겟팅: 이 방법은 최초 조준 후에도 십자선이 표적과 계속 접촉할 수 있도록 합니다. 플레이어가 적을 조준하면 “고정 모드”가 활성화되어 조준선이 약간 움직여도 조준선이 표적에 계속 유지됩니다. 조준선이 정의된 반경 내에 있는 한 조준선은 표적에 계속 끌립니다.

5. 시각 보조: 시각 효과는 플레이어의 조준을 돕기 위해 구현됩니다. 여기에는 적을 강조하는 다양한 방법과 가장 가까운 적의 방향을 보여주는 화면 표시기가 포함되어 상황 인식을 향상시킬 수 있습니다.

6. 타겟 잠금: 지정된 버튼을 누르면 플레이어가 십자선을 특정 타겟에 고정하여 추적하기 쉽게 만들 수 있습니다. 잠그면 조준선이 자동으로 표적의 움직임을 따라가므로 보다 부드럽게 조준할 수 있습니다. 플레이어는 목표물 획득에 대한 통제권을 유지하며 언제든지 십자선을 '고정 해제'할 수 있어 원하는 방향으로 조준할 수 있는 유연성을 확보할 수 있습니다.


워 로봇의 조준 시스템

워 로봇에서는 다양한 접근 방식을 통합하여 모든 실력의 플레이어를 수용할 수 있는 조준 시스템을 만들기로 했습니다.

가장 중요한 컨셉은 플레이어가 특정 지점이 아닌 적 로봇 전체를 조준하는 것입니다. 이러한 디자인 선택은 사용자 인터페이스를 향상시킬 뿐만 아니라 플레이어가 전투 로봇의 유도 시스템에 능동적으로 참여하는 듯한 인상을 주어 액션에 몰입할 수 있게 합니다.


첫 번째 반복 작업에서는 목표물 선택을 위해 화면에 큰 프레임을 표시하여 플레이어와 가장 가까운 목표물을 우선적으로 표시했습니다. 이 방식은 간단했지만 직관성이 부족했고, 우리 게임에는 탱크와 저격수 등 다양한 전투 전략을 가진 로봇이 등장하기 때문에 단순히 가장 가까운 적을 선택하는 방식은 모든 로봇 유형에 적합하지 않았습니다.

조준 경험을 개선하기 위해 화면을 빨간색 2개, 노란색 2개, 녹색 1개 등 5개의 수직 영역으로 재구성했습니다. 목표는 녹색 영역에 있는 적 중에서만 선택되었습니다. 여러 명의 적이 이 구역을 점령한 경우 플레이어와 가장 가까운 적을 우선적으로 선택했습니다. 일단 표적이 선택되면 녹색 영역에 더 높은 우선순위의 표적이 없는 한 녹색과 노란색 영역 내에 있는 한 고정된 상태로 유지됩니다. 표적이 빨간색 영역으로 이동하면 해당 표적에 대한 잠금이 해제됩니다.

이 방법은 각 로봇이 포탑 각도를 미세하게 조정하여 표적을 추적할 수 있어 더욱 역동적이고 매력적인 조준 경험을 선사합니다.


이후에는 지정된 버튼을 눌러 목표물을 고정하는 기능도 도입했습니다. 플레이어는 같은 버튼으로 녹색과 노란색 영역 내에서 다른 표적을 수동으로 선택할 수 있었습니다.

이 조준 시스템에 대한 일부 플레이어의 불만이 있었지만, 여러 가지 이유로 이 방식을 장기간 유지했습니다. 무엇보다도 “효과가 있다면 바꾸지 말라”는 격언이 사실이었기 때문에 새로운 시스템이 기존 시스템보다 더 나빠져 부정적인 피드백이 나올 수 있는 위험이 항상 존재했습니다. 또한, 현재 시스템에 대한 불만은 주로 수동 조준을 선호하는 숙련된 플레이어에게서 나왔기 때문에 제안된 변경 사항의 실현 가능성에 대한 우려가 만연했습니다.

자동 조준 설정이 복잡하고 명확하지 않은 점도 영향을 미쳤습니다. 플레이어는 발사 각도만 조정할 수 있었고, 이는 복잡한 변환을 통해 조준 영역의 크기에 영향을 미쳤습니다. 결과적으로 이 설정은 개인의 직관에 크게 의존했기 때문에 결과가 주관적이었습니다.

따라서 우리는 게임 디자이너와 플레이어 모두를 만족시킬 수 있는 방식으로 이 시스템을 발전시키기 위해 오랜 시간 고심했습니다.

728x90


유틸리티 시스템으로 전환

몇 년이 지나고 적어도 1년에 한 번씩 일부 개발자가 게임 내 조준 시스템을 수정하려고 시도했습니다. 어느 날 테크니컬 데이(직원 아이디어를 구현하기 위한 스튜디오의 특별하고 비정기적인 행사)에서 새로운 조준 시스템의 프로토타입이 만들어졌습니다. 이 새로운 프로토타입은 유틸리티 시스템을 기반으로 하는 완전히 새로운 접근 방식을 채택하여 이전의 개발 방식을 거부했습니다.

이전에 유틸리티 개념을 적용하여 PvE 모드에서 봇의 동작을 구성한 적이 있었는데, 게임 디자이너들의 호평을 받으며 성공적이었다는 것이 입증되었습니다. 게임 디자이너는 아이디어를 구현할 때 표로 작업하는 것을 선호하는 경향이 있기 때문에, 엑셀 스프레드시트를 사용하여 봇의 행동 우선순위를 정의할 수 있었기 때문입니다. 이러한 성공을 바탕으로 자동 타겟 선택을 위해 유틸리티 방식을 활용하기로 결정했습니다.

유틸리티 방식은 다양한 파라미터를 기반으로 각 타겟에 대한 전체 계수를 계산하는 간단한 방식입니다. 프로토타입은 처음에는 표적까지의 거리와 십자선에 대한 근접성 등 이전 시스템과 동일한 기준을 사용했습니다. 하지만 새로운 접근 방식의 향상된 사용성을 통해 게임 디자이너는 이러한 계수를 미세 조정할 수 있었고, 그 결과 프로토타입을 테스트한 대부분의 플레이어가 만족하는 타겟팅 시스템을 만들 수 있었습니다.

이 콘셉트는 시스템의 유연성을 높이기 위해 기준을 확장하여 본격적인 개발 단계로 발전했습니다. 이제 표적은 다음 매개변수의 조합에 따라 선택됩니다:

표적까지의 거리

표적 체력

십자선에서 표적까지의 거리

표적이 엄폐물 뒤에 있는지 여부

이 표적에 발사된 사격 횟수


최종 계수를 통해 앞서 언급한 “고정” 모드를 구현하고 조정할 수 있어 격렬한 사격 중에도 십자선이 목표물에 고정된 상태를 유지할 수 있습니다. 그 결과, 어떤 이유로든 목표물이 갑자기 더 가까워지거나 우선순위가 높아지더라도 조준이 실수로 다른 목표물로 이동하지 않습니다. 이 '고착' 계수는 조준 경험을 향상시키기 위해 미세 조정할 수도 있습니다.

이 새로운 접근 방식은 개발자와 게임 디자이너 모두를 위해 시스템을 크게 간소화했습니다. 개발자의 경우, 가시성 영역 내의 각 타겟에 대해 다음과 같이 단일 공식을 계산하면 됩니다:

utility =(〖Aim〗_U∙〖Aim〗_팩터)∙(〖Distance〗_U∙〖Distance〗_팩터)∙(〖Hp〗_U∙〖Hp〗_팩터)∙(〖Cover〗_U∙〖Cover〗_팩터)∙(〖Hit〗_U∙〖Hit〗_팩터)


이 공식에서 각 U 값은 0에서 1 사이의 범위이며, 게임 디자이너가 설정한 해당 팩터 계수를 곱합니다. 이 프레임워크를 통해 디자이너는 다양한 파라미터의 가중치를 더 잘 제어할 수 있게 되어 자동 타겟 선택 시 특정 기준의 우선순위를 조정할 수 있게 되었습니다.

 

게임 디자이너를 위한 조준 파라미터 설정이 이렇게 발전했습니다. 유틸리티 접근 방식을 통해 디자이너는 각 파라미터와 각각의 가중치가 현재 타겟 선택에 어떤 영향을 미치는지 즉시 확인할 수 있습니다. 새로운 시스템에서는 이전처럼 조준 영역 크기와 주관적인 느낌에 의존하는 추상적인 조정 대신 수학적 원리를 표적 선택에 적용할 수 있습니다.

또한 플레이어는 유연한 자동 조준 설정을 사용할 수 있게 되었습니다. 새로운 시스템에서는 각 플레이어가 게임 설정에서 선호하는 표적 선택 기준을 활성화하고 각자의 전투 스타일에 맞게 조정할 수 있습니다.


예를 들어, 저격 플레이 스타일을 선호하는 플레이어는 이제 거리 매개변수를 비활성화하고 적의 체력에 따라 목표물 선택 우선순위를 지정하여 체력이 가장 적은 목표물을 먼저 선택할 수 있습니다. 반대로 산탄총을 사용하는 공격적인 플레이어는 거리 설정을 활성화하여 가까운 목표물을 우선적으로 선택할 수 있습니다.

새로운 시스템은 수동 목표물 선택을 선호하는 플레이어의 경험도 향상시킵니다. 이제 수동 조준 중에 목표물을 전환하는 알고리즘을 지정할 수 있으며, 목표물의 우선순위를 지정하는 옵션이 제공됩니다:

목표물과의 거리 감소 또는 증가

대상의 남은 체력 감소 또는 증가


이러한 혁신으로 조준 시스템이 더욱 유연하고 직관적으로 개선되어 전반적인 게임플레이가 크게 향상되었습니다.


플레이 테스트 및 플레이어 피드백

어떤 지표도 플레이어의 진정한 감정을 포착할 수는 없지만, 메인 개발 단계 이후에는 비공개 테스트 세션 참가자들의 피드백을 바탕으로 새로운 시스템을 개선하는 데 오랜 시간이 걸렸습니다.

게임 디자이너는 다양한 가중치를 부여하고 내부 플레이 테스트를 진행했으며 테스트에 참여한 개발자로부터 인사이트를 수집했습니다. 여러 번의 경기 후 피드백을 수집하고 플레이 테스트 참가자 대다수가 조준 반응에 만족감을 표시하면 해당 버전의 게임을 공개 테스트에 출시했습니다.

디자이너들은 리뷰를 꼼꼼하게 분석하고 경기 분석을 연구하여 어떤 설정이 가장 인기가 있는지 파악했습니다. 이 데이터를 바탕으로 계수를 조정하고 플레이 테스트 참가자들이 새 시스템이 이전 시스템보다 효과적으로 작동하고 선호한다는 것을 확인할 때까지 테스트 주기를 여러 번 반복했습니다.

하지만 조준이 게임플레이의 중요한 요소인 만큼 새로운 시스템을 모든 플레이어에게 한꺼번에 적용하는 것은 상당한 위험이 따랐습니다. 이를 완화하기 위해 새로운 시스템은 플레이어가 게임 설정에서 활성화할 수 있는 선택적 기능으로 도입하기로 결정했습니다. 이러한 접근 방식은 숙련된 플레이어가 익숙한 게임플레이 역학의 변화에 부정적으로 반응하는 것을 방지하는 것을 목표로 했습니다. 분석 결과, 새로운 시스템을 활성화하기로 선택한 플레이어는 18%에 불과해 많은 플레이어가 실험을 주저하는 것으로 나타났습니다.

플레이어가 이전 시스템보다 새로운 시스템을 선호했다고 단정적으로 말할 수는 없지만, 피드백은 압도적으로 긍정적이었습니다. 새로운 시스템을 테스트한 사람들 중 80%는 이전 시스템으로 돌아가지 않기로 선택했습니다. 또한 커뮤니티 관리자들은 조준 시스템과 관련된 불만이 크게 감소한 것을 확인했습니다. 플레이어들은 특히 로봇이 엄폐할 수 있는 맵이 많은 상황에서 중요한 기능인 목표물의 시야를 고려하는 설정을 높이 평가했습니다.

워 로봇을 오랫동안 플레이해 온 숙련된 플레이어들은 대부분 수동 목표물 선택을 선호하는 경향이 있다는 점에 주목할 필요가 있습니다. 따라서 새로운 시스템이 게임 플레이에 미치는 영향이 적었습니다. 그럼에도 불구하고 이러한 노련한 플레이어들도 목표 전환을 위한 알고리즘 커스터마이징의 이점을 인식했습니다.

돌이켜보면 슈팅 게임의 핵심 요소인 조준 시스템을 변경하는 데 따르는 어려움과 위험에도 불구하고 새로운 유틸리티 기반 접근 방식을 구현한 것은 성공적이라고 할 수 있습니다. 플레이어 피드백은 조준 시스템을 더욱 개선하고 다듬는 데 귀중한 인사이트를 제공했습니다. 알고리즘을 완전히 개편하고 목표 우선순위를 결정하는 단일 수학적 공식을 도입하여 모든 플레이어가 설정을 더욱 투명하고 예측 가능하게 만들었습니다.


* 원문:

 

Featured Blog | How to create a 'fair' auto-aiming system in a robot shooter

Overhauling the algorithm and the introduction of a single mathematical formula to determine target priority has made our auto-aim settings more transparent and predictable for all players–and to great feedback.

www.gamedeveloper.com

 

* 게임 사이트: https://warrobots.com/en/

 

War Robots

True 6v6 multiplayer action with giant walking robots that can fit on palm of your hand? Easy!

warrobots.com

 

댓글