Unity를 통해 모바일 환경의 플레이 경험을 우선한 Madfinger의 섀도우건 워 게임즈

체코에 있는 이 개발 스튜디오의 최신 FPS 게임에서는 개발과 호스팅을 비롯해 매치메이킹, 음성 커뮤니케이션까지 유니티의 폭넓은 솔루션이 사용되었습니다.

MADFINGER Games: Unity 활용 사례

유명 게임 프랜차이즈 신작을 원활하게 출시하는 비결은 무엇일까요? 10년 전, 유니티와 MADFINGER Games가 협력 관계를 맺던 당시에는 양사 모두 모바일 게임 영역에 막 발을 들이기 시작한 소규모 회사에 불과했습니다. 시간이 흐르며 많은 것이 변했지만 두 회사 간의 관계는 더욱 돈독해졌으며, 협력 범위는 게임 개발의 전체 라이프사이클 중에서 핵심 운영까지 확대되었습니다.

목표

유니티의 폭넓은 기술 및 지원 서비스를 통한 뛰어난 모바일 게임 제작

플랫폼
팀원 수

프로그래머, 아티스트, 애니메이터, 디자이너, 테스터 등 약 75명이 Unity로 작업

회사

직원 100명 이상

체코 브르노

Madfinger Games 팀

MADFINGER Games team

강력한 존재감을 드러내는 인디 스튜디오

Since 2010, the fiercely independent Madfinger’s mandate has been “to build the best mobile games.” And the 100-member team is doing just that. In 2019, they won the award for the Most Beautiful Game on Google Play for Shadowgun Legends. With 260 million downloads across eight games, their loyal player base loves the distinctive Madfinger touch on titles like Shadowgun: DeadZone, Dead Trigger, and UNKILLED.

With the recently launched Shadowgun War Games – a console-quality, mobile multiplayer first-person shooter (FPS) – there are heroes like Sara, Jet, Revenant, Willow and Slade, for all types and levels of players, ranging from non-competitive solo to hardcore 5v5. Madfinger built and launched the game with Unity’s real-time 3D content-creation platform, tapped Multiplay for game hosting, and will soon integrate Vivox for in-game voice comms.

결과

  • Fast prototyping, iteration, and optimization thanks to a wide range of Unity developer tools
  • Easy multiplatform (Android, iOS) builds due to one code base
  • Seamless game server hosting with Multiplay’s proven technology, battle-tested at scale
  • Sub-second matching of players to servers with the new Beta Matchmaker
  • Quick integration of voice comms courtesy of Vivox

영상 보기: MADFINGER Games 인터뷰

In this interview, Madfinger CEO and cofounder Marek Rabas talks to Unity about the challenges his team faces and how they solve them with Unity’s suite of multiplayer tools.

Unity 에디터 내부 모습

게임 제작에 집중할 수 있게 해 준 엔진

경쟁을 즐기는 사람들이 모인 Madfinger는 모바일 시장의 거대 경쟁사에 대응할 수 있는 효율적인 규모를 중요하게 생각합니다. 이러한 철학은 기술과 관련한 의사 결정에 영향을 미칩니다. 

"10명은 엔진을 작업하고, 10명은 다른 내부 툴을 작업하는 방식은 우리에게 맞지 않아요. 핵심 역량이라 할 수 있는 게임 디자인과 뛰어난 비주얼 구현에 모든 에너지를 쏟아야 해요."라고 Madfinger의 CTO인 미로슬라브 온드러스(Miroslav Ondrus)는 말합니다.

"20년 전 제가 게임을 제작하기 시작했을 때는 타사 엔진이 많지 않았어요. 그래서 자체 엔진을 만들고 관리해야 했죠. 하지만 요즘에는 Unity에서 모든 기능을 제공합니다. 수많은 엔지니어의 노고가 깃들어 있는 것 같아요. 덕분에 엔진 제작과 유지 보수에 시간을 쏟는 대신 게임 개발에 집중할 수 있어요."

Madfinger의 COO 겸 CMO 대행 루치아노 알리브란디(Luciano Alibrandi)는 이에 동의하며 말했습니다. "유니티와 Madfinger의 만남은 10년 전으로 거슬러 올라갑니다. 서로 성장하던 시기에 만난 것이 적절했다고 볼 수 있지요. 양측의 기술은 완벽한 조화를 이루었고 시기도 적절했어요. 이것이 아주 오랜 기간 관계를 구축해올 수 있었던 원동력이자, 가장 잘할 수 있는 일인 훌륭한 게임을 만드는 데 집중할 수 있던 계기였습니다."

Madfinger Games 개발 팀

다양한 개발 도구

새로운 타이틀을 제작하기로 했다면 Madfinger는 어떤 식으로 최신 게임 아이디어를 구체화할까요? 

"ProBuilder를 애용해요. Unity 내에서 새로운 레벨과 에셋을 프로토타이핑할 수 있는 매우 효과적인 툴이죠. 씬을 빠르게 빌드하고 여러 팀에서 반복되는 수정 작업을 하거나, 모든 레벨을 그레이 박싱(grey-boxing)할 때에도 사용하는 등, 다양하게 활용하고 있습니다. 타사 소프트웨어 툴을 사용하지 않고 Unity에서 모든 작업을 처리할 수 있어서 편리하죠." 

또한 온드러스는 Unity의 애니메이션 에디터도 즐겨 사용하며, 업데이트된 버전의 커브 모드의 키 조정을 특히 자주 사용합니다. 애니메이터는 Autodesk의 MotionBuilder를 통해 작업물을 빌드하며, 클립을 임포트하면 한 번에 여러 키를 선택하고 조정할 수 있습니다. 예를 들어, 커브를 가로(시간 배치 변경) 또는 세로(값 변경)로 조정할 수 있습니다. 이는 사소한 기능이지만, 워크플로의 속도를 크게 높여줍니다.

팀에서 즐겨 사용하는 또 다른 기능은 베이크된 조명 모드로, 온드러스는 "이 기능을 통해 성능 저하 없이 게임에 멋진 분위기를 연출할 수 있어요."라며 두 가지 큰 장점을 제공한다고 설명했습니다.

Madfinger는 플레이어 기기에서 고화질 그래픽스가 어떻게 구현될지 항상 고민했습니다. 온드러스는 다음과 같이 말합니다. "모바일의 배터리 소모에 대해 매우 잘 알고 있기 때문에 성능 최적화에 많은 공을 들이는데, 이때 프로파일러 등의 Unity 툴을 사용하죠. 불필요한 할당과 렌더링 호출을 찾고, 코드를 전반적으로 최적화할 수 있어요." 또한 팀에서는 프레임 디버거오클루전 컬링 등을 활용해 빌드를 최적화하고, 어느 기기에서나 게임을 정상적으로 플레이할 수 있게 합니다. 

온드러스는 Unity 엔진의 또 다른 유명한 기능을 언급하는 것도 잊지 않았습니다. "Unity의 멀티플랫폼 기능은 작업을 대폭 간소화해요. 하나의 코드 베이스로 게임 전체를 빌드할 수 있고, 어느 모바일 기기에서 게임을 구동할지는 걱정하지 않아도 되죠. Unity를 사용하면 스위치를 조작하듯 설정할 수 있고, 런타임 버전이 대상 플랫폼에 맞게 출력되니까 아주 간편해요." 

섀도우건 워 게임에 대한 Unity 에디터 내 레벨 디자인

지연, 부정행위 없는 비 P2P 환경

100% 베어메탈 서버에서 완전한 클라우드 방식에 이르기까지 다양한 옵션이 존재하는 상황에서, 새로운 게임의 호스팅 방식과 위치를 결정하는 일은 스튜디오의 끊임없는 고민거리입니다. 옵션마다 기술적, 재정적인 장단점이 있습니다. Madfinger는 미리 앞날을 내다보고 섀도우건 워 게임즈와 같은 경쟁적인 FPS(1인칭 슈팅) 게임에는 피어 투 피어(P2P) 방식이 적합하지 않다는 결론을 내렸습니다. 대신 원활하고 지연 없는 환경을 제공할 수 있는 전용 서버가 필요했습니다. 

Madfinger의 리드 프로그래머 블라디미르 자드라질(Vladimir Zadrazil, "자드르(Zadr)")은 어렵지 않게 결정을 내릴 수 있었습니다. "워 게임즈에서 치열한 경쟁을 즐길 수 있는 환경을 제공하는 것이 목표입니다. 따라서 지연 현상이나 부정행위가 발생하거나, 대기열이 길어지면 안 되겠지요. 다행히 Multiplay의 확장형 멀티 클라우드 솔루션을 사용하면 플레이어에게 기기나 위치에 구애받지 않는 일관된 환경을 제공할 수 있어요. 딱 하나 보장할 수 없는 것은 게임에서의 승리뿐이죠."

새로운 게임으로 e스포츠 시장에 진출하려는 Madfinger의 목표를 위해서는 플레이어가 공정하지 못한 방법으로 상대보다 유리하게 게임을 진행하는 상황을 방지할 수 있는 전용 서버가 반드시 필요했습니다. "P2P를 사용하면 한 기기가 호스트가 되므로 부정행위의 위험성이 더 크죠. 전용 서버를 사용하면 부정행위를 방지할 수단을 적용할 수 있고, 필요한 경우 서버를 쉽게 중단할 수 있어요. 더 확실하게 통제할 수 있죠."라고 자드르는 말합니다.

Madfinger Games 씬

원활한 출시 및 확장

어느 스튜디오든 새로운 게임을 출시할 때 참가할 플레이어의 수, 플레이어의 위치 등 수많은 불확실성이 존재합니다. 하지만 섀도우건 워 게임즈가 출시되었을 때 서버는 원활하게 확장되었습니다. "Multiplay 덕분에 서버 용량 부족 문제가 전혀 없었어요. 입소문이 나면서 수많은 플레이어가 게임을 다운로드하고 플레이하기 시작했을 때 수월하게 확장할 수 있었습니다. 모든 플레이어가 대기 시간 없이 플레이할 수 있었어요. 정말 고무적이죠."라고 온드러스는 말합니다.

자드르에 따르면 지연 발생 여부가 게임플레이 경험의 만족도를 결정하는 중요한 요인이라고 합니다. "그래서 네트워크 부분은 Multiplay와 협업하기로 결정했어요. 덕분에 게임 제작에 집중할 수 있었어요. Multiplay에는 기술에 대해 피드백을 제공했는데 이를 통해 Madfinger뿐만 아니라 모두를 위해 더 나은 제품을 만들 수 있으니까 서로에게 이득이 되는 전략이죠."

또한 온드러스는 부담을 덜 수 있었던 중요한 요인으로 유니티의 지원을 꼽습니다. "커뮤니케이션이 정말 빠르고 원활해요. 예를 들어 최근에 Slack 채널에 질문을 하나 올렸는데 샌프란시스코의 누군가가 답변하고 도와줬죠. 정말 놀라웠어요. 시차가 꽤 많이 났거든요. 유니티의 지원은 정말 커다란 힘이 되고 있어요."

섀도우건 워 게임 온라인 프레임 속도

우수한 매치메이킹을 통한 플레이어 참여도 향상

멀티플레이어에서 게임플레이를 제대로 즐기기 위해서는 적절하고 빠른 매칭이 매우 중요합니다. "독보적인 수준의 플레이어 경험을 제공하는 것이 목표입니다. 이건 '내 상대방이 누구냐'에서 시작되는 부분이지요. 플레이어가 게임에 빨리 몰입하고 수준이 비슷한 플레이어들과 게임할 수 있게 해야 해요. 그렇지 않으면 앱을 지워버리고 다시는 돌아오지 않을 거예요."라고 자드르는 말합니다.

온드러스는 섀도우건 워 게임즈 개발 중에 매치메이커를 설계하고 있었다고 말합니다. "그땐 유니티에서 자체적인 확장형 매치메이커 서비스를 제작 중이었다는 사실을 몰랐기 때문에 타사 솔루션은 생각도 못하고 있었어요. 하지만 유니티의 서비스를 알게 되고 바로 사용해 봤는데, 원하는 기능만 설정하면 되었기 때문에 정말 간단했죠." 

플레이어가 매치에 참가하기 전에 게임 클라이언트(플레이어의 스마트폰)는 서비스 품질(QoS)을 통해 Multiplay의 전 세계 데이터 센터에 대한 연결 품질을 측정합니다. 부정행위를 방지하기 위해 Madfinger의 서버 동기화(server-authoritative) 로비 서비스에서 수집한 매치 설정 및 플레이어 통계가 QoS 데이터와 함께 매치메이킹에 제출됩니다. 매치메이커는 Madfinger의 커스텀 매치 기능을 실행하여 빠르게 연결할 수 있는 동시에 경쟁 수준이 적당한 게임을 찾습니다. 이 모든 프로세스가 1초 이내에 처리됩니다.

Multiplay의 매치메이킹 서비스는 멀티 클라우드 확장 도구와 완전히 통합되므로, 플레이어가 참가하는 매치와 접속하는 서버를 적절하게 선별해 줍니다.

Madfinger Games 섀도우건 워 게임 씬

플레이어 커뮤니케이션을 돕는 Vivox

최근의 멀티플레이어 게임에서는 실시간 커뮤니케이션이 캠페인과 전투의 결과에 큰 영향을 미칩니다. 플레이어는 음성 커뮤니케이션을 통해 무엇을 어떻게 할지 논의하여 체계적으로 행동할 수 있으므로, 플레이어 경험을 향상하는 데 큰 역할을 합니다. 

Madfinger는 먼저 Vivox섀도우건 레전드로 통합했고, 그 과정은 매우 간단했습니다. 유니티의 Vivox SDK를 사용해 계획대로 단 2일만에 구현을 마쳤습니다. "우리 쪽에서는 자체적인 작은 문제를 몇 개 처리했을 뿐, 전반적인 과정은 매우 간편하고 복잡할 것이 없었어요."라고 온드러스는 말합니다. 현재 Vivox는 게임의 모든 음성 커뮤니케이션을 호스팅 및 관리하며, Madfinger는 섀도우건 워 게임즈에도 곧 Vivox를 통합할 계획입니다.

Madfinger 팀은 덕분에 개발 속도를 올리고 플레이어가 더 몰입할 수 있는 환경을 만들 수 있습니다. "Vivox 팀이 24/7 지원해 주니 너무나 감사한 일이지요. 한 지역에서 서비스가 중단되거나, 버그나 다른 문제가 발생해도 Vivox 담당자에게 연락하면 바로 해결되니 스트레스 받을 일이 없습니다."라고 온드러스는 덧붙였습니다.

플레이어는 이모티콘을 사용해 인게임 커뮤니케이션 전략을 한층 더 끌어올릴 수도 있으며, Madfinger는 조만간 텍스트 메시징도 구현할 계획입니다.

섀도우건 워 게임 FPS 액션 씬

Madfinger의 향후 계획

온드러스는 "섀도우건 워 게임즈에는 정말 기대가 큽니다. 솔로 플레이어부터 경쟁을 좋아하는 팀 게이머까지 모두가 즐길 수 있을 테니까요. 그리고 플레이어 층이 성장하면, e스포츠에도 도전하지 않을까 싶네요."라고 포부를 밝혔습니다. 야심찬 목표로 가득한 이 스튜디오가 모바일 게임계에서 언제나 규모 이상의 성과를 거둬온 비결을 확인할 수 있는 대목이었습니다.

유나이트 코펜하겐에서 진행된 Madfinger의 프레젠테이션에서 게임 호스팅, 매치메이킹, 음성 커뮤니케이션에 Multiplay와 Vivox를 어떻게 활용했는지 알아보세요.

 

Miroslav Ondrus, CTO, MADFINGER Games

"Unity에서 모든 기능을 제공합니다. 수많은 엔지니어의 노고가 깃들어 있는 것 같아요. 덕분에 엔진 제작과 유지 보수에 시간을 쏟는 대신 게임 개발에 집중할 수 있어요."

Miroslav Ondrus, CTO, MADFINGER Games
Luciano Alibrandi, COO/Acting CMO, MADFINGER Games

"유니티와 Madfinger의 만남은 10년 전으로 거슬러 올라갑니다. 서로 성장하던 시기에 만난 것이 적절했다고 볼 수 있지요. 양측의 기술은 완벽한 조화를 이루었고 시기도 적절했어요. 이것이 아주 오랜 기간 관계를 구축해올 수 있었던 원동력이자, 가장 잘할 수 있는 일인 훌륭한 게임을 만드는 데 집중할 수 있던 계기였습니다."

Luciano Alibrandi, COO/Acting CMO, MADFINGER Games
Vladimir “Zadr” Zadrazil, Lead Programmer, MADFINGER Games

"워 게임즈에서 치열한 경쟁을 즐길 수 있는 환경을 제공하는 것이 목표입니다. 따라서 지연 현상이나 부정행위가 발생하거나, 대기열이 길어지면 안 되겠지요. 다행히 Multiplay의 확장형 멀티 클라우드 솔루션을 사용하면 플레이어에게 기기나 위치에 구애받지 않는 일관된 환경을 제공할 수 있어요. 딱 하나 보장할 수 없는 것은 게임에서의 승리뿐이죠."

Vladimir “Zadr” Zadrazil, Lead Programmer, MADFINGER Games
Miroslav Ondrus, CTO, MADFINGER Games

"Unity의 멀티플랫폼 기능은 작업을 대폭 간소화해요. 하나의 코드 베이스로 게임 전체를 빌드할 수 있고, 어느 모바일 기기에서 게임을 구동할지는 걱정하지 않아도 되죠. Unity를 사용하면 스위치를 조작하듯 설정할 수 있고, 런타임 버전이 대상 플랫폼에 맞게 출력되니까 아주 간편해요."

Miroslav Ondrus, CTO, MADFINGER Games
Vladimir “Zadr” Zadrazil, Lead Programmer, MADFINGER Games

"독보적인 수준의 플레이어 경험을 제공하는 것이 목표입니다. 이건 '내 상대방이 누구냐'에서 시작되는 부분이지요. 플레이어가 수준이 비슷한 플레이어들과 게임할 수 있게 해야 해요."

Vladimir “Zadr” Zadrazil, Lead Programmer, MADFINGER Games
Miroslav Ondrus, CTO, MADFINGER Games

"Multiplay 덕분에 서버 용량 부족 문제가 전혀 없었어요. 입소문이 나면서 수많은 플레이어가 게임을 다운로드하고 플레이하기 시작했을 때 수월하게 확장할 수 있었습니다. 모든 플레이어가 대기 시간 없이 플레이할 수 있었어요. 정말 고무적이죠."

Miroslav Ondrus, CTO, MADFINGER Games
Miroslav Ondrus, CTO, MADFINGER Games

"Vivox 팀이 24/7 지원해 주니 너무나 감사한 일이죠. 한 지역에서 서비스가 중단되거나, 버그나 다른 문제가 발생해도 Vivox 담당자에게 연락하면 바로 해결되니 스트레스 받을 일이 없습니다."

Miroslav Ondrus, CTO, MADFINGER Games

Unity에서는 최적의 웹사이트 경험을 제공하기 위해 쿠키를 사용합니다. 자세한 내용은 쿠키 정책 페이지를 참조하세요.

확인