무브먼트 시스템의 핵심 디자인 가치와 이를 프로그래밍하고 구현한 방법을 살펴봅니다.
관련 분야: 프로그래밍, 게임 기획
작성자: Connor Roberts
안녕하세요! 저는 Project: Haste 의 프로그래머인 코너 로버츠입니다: Haste는 유니티로 제작한 온라인 1인칭 아레나 슈팅 게임입니다. 오늘은 저희 프로젝트에서 고속 이동을 구현한 방법을 소개해 드리고자 합니다.
Project: Haste는 플레이어가 이동 기술을 연쇄적으로 사용하여 상대를 제압하는 아레나 슈팅 게임입니다. 이 게임의 주요 목표는 플레이어가 자신의 위치와 기동성을 완벽하게 제어할 수 있도록 하는 것이었습니다. 특히 밴쿠버 필름 스쿨의 학생 프로젝트에서 유니티 어워드 2024 후보작으로, 그리고 마침내 플레이어 경험의 핵심이 될 본격적인 라이브 출시로 게임이 확장되면서 이동 시스템은 게임의 근간이 되었습니다.
디자인(기획)에서 시작
팀원들은 프로젝트의 사전 제작을 시작하자마자 바로 알았습니다: Haste의 사전 제작을 시작하자마자 게임의 기본이 만족스러운 이동 시스템이 되어야 한다는 것을 깨달았습니다. 구체적인 디자인이 나오기 전에 움직임을 테스트해보고 싶었기 때문에 직관에만 의존한 프로토타입 제작을 시작했고, 이를 통해 화이트보드에 앉기 전에 원하는 것이 무엇인지 파악할 수 있었습니다.
벽 달리기, 슬라이드, 이중 점프, 대시 등 게임의 기본 시스템을 자신도 모르게 만들었기 때문에 이 점이 가장 큰 강점이 되었습니다.
한동안 그래플링 훅이나 로켓 점프를 기본으로 하는 게임을 고려했지만 대시 능력이 이러한 문제를 해결해준다는 결론에 도달했습니다.
저는 다른 팀원들이 쉽게 작업할 수 있도록 이 동작을 조정할 수 있도록 개발했습니다. 또한 스크립트 가능한 오브젝트와 원격 구성을 사용하여 팀의 디자이너인 트렉스 호사인과 세르지오 리수아르디가 프로젝트가 성숙해지면서 수백 번의 플레이 테스트를 진행하는 동안 무브먼트를 조정할 수 있도록 했습니다.
영감
Project: Haste 는 퀘이크와 타이탄폴 2에서 많은 영감을 받았지만, 이 게임들을 완전히 연구하거나 게임의 콘셉트를 완성하기도 전에 적어도 기술적으로는 움직임이 거의 완성되었습니다.
초기 무브먼트 프로토타입을 제작하는 동안, 심지어 제작이 끝날 때까지도 개인적으로 어디서 영감을 얻었는지 말하기는 어렵습니다. 비슷한 게임을 연구하지 않은 것은 아니지만, 무브먼트 시스템이 우리 프로젝트의 핵심이라 다른 게임의 무브먼트를 연구할 시간이 많지 않았습니다.
이 점을 염두에 두고 움직임이 실제로 어떻게 구성되는지 살펴보는 것이 좋다고 생각했습니다:
커스텀 피직스
카메라 및 스크린 스페이스 이펙트
애니메이션 피드백
로 Project: Haste 가 진화하면서 이 레이어들은 우리의 움직임을 좋은 것에서 중독성 있는 것으로 만들었습니다.
커스텀 피직스
저희 움직임의 핵심은 게임 엔진에 내장된 피직스를 사용하는 것에 대한 저의 경멸입니다. 그게 뭔지는 모르겠지만 디자인 팀이나 저 자신을 위해 최대한의 튜닝 기능을 제공할 수 있도록 모든 것을 프로그래밍하는 편이 낫다고 생각했습니다.
저는 피직스를 더 쉽게 만들기 위해 스테이트 머신을 사용하여 모든 동작 상태의 피직스를 입력 및 출력 파라미터가 있는 개별 폐쇄 시스템으로 나눴습니다. 각각의 닫힌 시스템이 생성되면 스테이트 머신을 통해 이러한 시스템의 입력과 출력이 서로 피드백되어 예측 가능하고 조정 가능하며 유동적인 움직임 시스템을 만들 수 있었습니다.
예를 들어, 벽 달리기에는 플레이어의 현재 속도 입력과 중력 입력이 있습니다. 이 속도는 단순히 초당 미터 단위의 값이며, 중력은 벽 달리기에 맞게 조정된 중력으로 입력됩니다. 그런 다음 Project: Haste 에서 곡면을 따라 달릴 수 있도록 몇 가지 충돌 벡터와 함께 사용됩니다.
그런 다음 플레이어에게 속도 값을 출력하고 나중에 다른 이동 상태에 대한 입력으로 사용할 수 있습니다.
주요 동작 메커니즘은 벽 달리기, 슬라이드, 더블 점프이지만, 슬라이드 점프, 더블 점프의 전방 부스트, 난간에서 어포던스에 사용되는 정신 능력과 같이 플레이어에게 보이지 않는 동작 메커니즘도 있었습니다. 이 각각에는 플레이어가 레벨을 빠른 속도로 횡단할 수 있도록 함께 작동하는 폐쇄형 물리 시스템이 있었습니다.
카메라 및 화면 공간 효과
이제 모든 움직임이 서로 연결되어 있으므로 플레이어가 빠르게 느껴지도록 만들어야 했습니다. 플레이어의 속도 변화에 매핑된 시야각 변화, 플레이어 속도에 따라 확장되는 대시 라인, 현재 이동 능력에 따른 색상 변화 등 플레이어의 움직임과 조화를 이루는 느낌을 주기 위해 여러 가지 트릭을 사용했습니다. 저희는 기본적으로 플레이어가 움직일 때마다 만족감을 느낄 수 있는 게임을 만들고 싶었고, 빠른 속도감에 대한 모든 사람의 가려운 곳을 긁어주고 싶었습니다.
이러한 트릭 외에도 플레이어의 턴 속도에 따라 카메라를 회전시켜 이동하는 방식과 정말 잘 어울리게 만들었습니다. 또한 벽 달리기를 비롯한 모든 점프에서 플레이어가 현재 있는 표면에서 멀어지도록 기울이기 때문에 이러한 이동 능력을 잘 살리고 플레이어가 게임 세계의 표면에 부딪히는 것처럼 느껴지게 만들었습니다.
마지막으로 다른 화면 공간 효과도 있었습니다. Project: Haste 는 매우 양식화되어 있어서 움직임에 좀 더 양식화된 방식으로 피드백을 추가하고 싶었습니다. 저는 하프톤 셰이더를 만들어 다양한 마스크를 사용하여 화면 전환과 같은 효과를 만들었고, 커스텀 디자인 마스크를 사용하여 다양한 하프톤 모양을 만들 수 있다는 것을 깨달았습니다. 결국 이 마스크를 화면 가장자리에 사용하여 벽 달리기, 슬라이딩, 이중 점프, 부스트 패드와 점프 패드를 사용할 때에도 직접 피드백을 만들었습니다. 대시 라인과 색상을 일치시켜 모든 것이 매우 응집력 있고 빠른 느낌을 주었습니다.
애니메이션 피드백
이 섹션에서 우리 팀의 아티스트인 Chevi Hernandez와 Jose Andres Lopez를 언급하지 않고는 이 글을 쓸 수 없습니다. 체비는 모든 캐릭터 애니메이션과 호세가 작업한 무기 모델 및 애니메이션을 훌륭하게 제작했으며, 이는 플레이어가 헤이스트 리그에서 박진감 넘치는 게임플레이를 하는 동안 이해를 유지하는 데 핵심적인 지표가 되었습니다.
궁극적으로 각 이동 능력에 대한 방향 입력마다 고유한 애니메이션을 포함해 여러 레이어의 애니메이션을 제작했는데, 이는 플레이어가 자신의 움직임을 완전히 이해하고 게임플레이에서 이동 동작이 방향에 어떤 영향을 미칠지 참고할 수 있도록 하기 위해 사용되었습니다.
이러한 애니메이션과 작곡가이자 SFX 디자이너인 데클란 존스턴의 음악이 어우러져 플레이어는 자신의 캐릭터와 주변 환경을 완전히 이해할 수 있는 모든 툴을 갖추게 됩니다.
최종 결론
짧은 시간 내에 게임을 만드는 데는 정말 많은 노력이 필요하다는 점을 강조하고 싶습니다. Project: Hast 는 개발 기간이 4개월에 불과했는데, 돌이켜보면 엄청나게 짧은 기간이었죠. 프로그래밍은 물론이고 본격적인 출시 준비는 고사하고 프로젝트에 대해 글을 쓸 수 있는 것조차도 운이 좋았던 것은 놀라운 팀 덕분입니다. 저는 정말 운이 좋다고 느낍니다. 이 과정은 매우 흥미로웠습니다. 어떤 면에서는 책으로, 어떤 면에서는 그렇지 않았습니다. 이 팀의 소통과 응집력 있는 비전 덕분에 게임플레이의 중추적인 요소인 움직임을 사전 제작 첫 주부터 검증하고 반복할 수 있었으며, 게임이 성숙해지면서 몇 번의 수정이 필요하지 않았습니다. 팀의 프로그래머가 되면서 게임의 전체적인 작동 방식에 대한 마인드맵을 그릴 수 있었고, 이는 정확하고 반응이 빠른 움직임이라는 하나의 명확한 목표에서 시작되었습니다. 팀의 도움으로 마인드맵이 게임으로 완성되는 과정을 지켜보는 것은 정말 보람된 경험이었습니다.
Project: Hast 팀과 저는 이 글을 재미있게 읽어주셨기를 바랍니다! 곧 출시될 Haste 또는 프로젝트 개발에 대해 더 자세한 정보를 원하시면 언제든지 문의해 주세요: Haste에 대한 자세한 내용은 hastesaopaulo@gmail.com 으로 문의해 주세요.
또는 이 모든 것이 시작된 밴쿠버 필름 스쿨의 게임 디자인 프로그램에 관심이 있으시다면 여기를 클릭하세요.
* 원문:
Featured Blog | How wall running and high-speed movement works in Project: Haste
A walkthrough of the movement system's core design values and how they were programmed and implemented.
www.gamedeveloper.com
'게임개발 > 가마수트라' 카테고리의 다른 글
Game Developer의 2024 마무리: 영향력을 발휘한 5명의 개발자 (0) | 2025.01.04 |
---|---|
플랫포밍 게임 개발 팁과 요령 (0) | 2025.01.02 |
게임 밸런스의 기술: 진화 (2) | 2024.12.31 |
워렌 스펙터는 몰입형 시뮬레이션의 다음 단계는 멀티플레이어라고 말합니다. (2) | 2024.12.31 |
2024년 인디 게임 개발자를 위한 필수 툴과 라이브러리 (2) | 2024.12.29 |
댓글