부수고, 충돌하고, 파괴하고

Destruction Crew가 Unity 멀티플레이어를 사용하여 인기 모바일 게임을 만든 방법

데몰리션 더비(Demolition Derby): 모바일 게임용 Unity 활용 사례

네덜란드의 3인 인디 스튜디오인 Destruction Crew는 데몰리션 더비의 충돌, 혼돈, 폭력에 대한 애정을 인기 모바일 게임으로 승화시켰습니다.

  • 게임

    Demolition Derby, a real-time online multiplayer crash-racing arcade game

  • 목표

    플레이어가 원하는 훌륭한 멀티플레이어 콘텐츠 만들기

  • 플랫폼

    iOS, Android, VR for Android(다양한 헤드셋), Win 스토어 앱

  • 팀원 수

    3

  • 위치

    네덜란드 에먼

멀티플레이어는 당연한 선택

무언가 만들 때는 잘 알고 있고 좋아하는 것으로 시작해야 한다는 말이 있습니다. Destruction Crew는 이 말을 정확히 따랐습니다.

“아주 재밌고 빠르게 경주하면서 파괴하는 게임을 늘 좋아했기 때문에 그런 게임을 직접 만들고 독특한 요소를 가미해서 무엇을 할 수 있는지 알아보고 싶었을 뿐”이라고 Destruction Crew의 수석 프로그래머이자 공동 설립자인 스티븐 더크스(Steven Derks)는 말합니다. “다른 말이 필요한가요? 저흰 뭔가를 부수는 걸 좋아해요.”

Destruction Crew는 게임의 역동적인 성격 때문에 플레이어들이 온라인으로 다른 사람과 대결하는 것을 분명히 좋아할 것이라고 생각했습니다.

“봇과 인공 지능을 상대로 플레이하는 것도 정말 재밌지만, 실제 플레이어를 상대로 플레이하면 훨씬 재밌다”고 더크스는 말합니다. “실시간으로 다른 사람의 차를 실제로 부수면 '바로 이 맛이야' 라는 말이 절로 나오죠. 그리고 Unity 멀티플레이어를 사용하면 풍부한 콘텐츠를 만들기도 훨씬 쉬워져요.”

하지만 네트워크 물리, 동시 사용자 수 제한, 수익화 계획의 필요성과 같은 문제는 리소스가 많지 않은 3인 팀에게 골칫거리였습니다. Unity에서 제공한 몇 가지 기능이 그러한 문제를 극복하는 데 도움이 되었습니다.

 

네트워크 물리로 탁월한 사용자 경험 완성

Destruction Crew가 좋은 온라인 멀티플레이어 경험을 제공할 수 있었던 이유 중 하나는 Unity의 API를 사용한 네트워크 물리였습니다. 이를 통해 물리 시뮬레이션이 쉬워져서 모든 클라이언트에서 딱 맞다고 느낄 수 있을 만큼 경험 수준이 비슷해졌습니다.

Destruction Crew는 Unity의 기본 NetworkTransform을 사용하지 않고 디자인, 코딩 및 테스트하는 데 약 한 달 정도 걸린 커스텀 NetworkTransform을 대신 사용했습니다.

“Unity의 네트워크 직렬화 덕에 모든 클라이언트에 걸쳐 물리를 시뮬레이션하는 데 필요한 모든 물리 데이터를 쉽게 전송할 수 있었다”고 더크스는 말합니다. “네트워크 API를 매우 간편하게 구현할 수 있기 때문에 네트워크 물리도 문제 없이 구현할 수 있죠. 이 점은 멀티플레이어 모바일 자동차 게임에 매우 중요했어요.”

프라이빗 룸을 만들 수 있는 기능도 Destruction Crew에 정말 유용했던 멀티플레이어 기능이었습니다.

더크스는 “Unity로 암호만 설정하면 끝이죠. 친구들이 함께 플레이하고 싶어 하면 프라이빗 룸을 만들고, 원하는 경우 암호로 보호해 곧바로 게임을 시작할 수 있죠.”라고 말합니다.

 

게임의 성공 유지

출시 전에 Destruction Crew는 플레이어들이 멀티플레이어 버전을 환영하길 바랬지만, 그럼에도 불구하고 높은 인기에 깜짝 놀랐습니다.

“처음에는 동시 사용자 수(CCU)가 200명이었고 그 정도면 충분하다고 생각했어요. 하지만 확실을 기하기 위해 CCU 한도를 1,000명으로 높였는데 의외로 일주일 안에 사용자 수가 5,000명으로 늘었어요. 이 숫자는 한도보다 훨씬 높았지만 Unity 팀은 늘 한도를 아주 쉽게 늘릴 수 있게 도와줬어요. 백엔드가 유연하기 때문에 CCU를 5,000명까지 문제 없이 높일 수 있었어요”라고 더크스는 말합니다.

에셋 스토어 차를 빠르고 맹렬하게 개조

데몰리션 더비를 좋아하는 플레이어는 보통 차도 좋아하기 때문에 플레이어가 멋진 차를 선택할 수 있게 하는 게 중요했습니다. 하지만 Destruction Crew 같은 작은 팀이 차를 완전히 새로 빌드하려면 많은 시간이 걸렸을 것입니다.

“플레이어가 선택할 수 있는 차를 많이 제공하고 싶었지만, 차를 완전히 새로 만들려면 리소스가 너무 많이 필요했다”고 Destruction Crew의 게임 디자이너이자 공동 설립자인 닉 티머(Nick Timmer)는 말합니다.

이 문제는 Unity 에셋 스토어에서 자동차 팩을 구입한 후 자체적인 커스텀 텍스처와 스킨을 적용할 수 있도록 UV 매핑 텍스처를 변경하여 독특한 스타일로 개조하는 방법으로 해결했습니다.

“에셋 스토어는 매우 중요했어요. 자동차를 완전히 새로 만들어야 했다면 어땠을지 상상도 할 수 없어요. 몇 주가 아니라 몇 달이 걸렸을 거예요”라고 티머는 말합니다.

차가 잘 팔릴 수 있게

차는 게임에서 매우 중요한 부분을 차지하고 있기 때문에 Destruction Crew는 플레이어가 새로운 범퍼나 휠 등으로 차를 커스터마이즈할 수 있게 하기로 결정했습니다. 그런 다음 한 단계 더 나아가 게임의 이 부분을 수익화 계획의 일환으로 만들었습니다.

“일반적으로 플레이어는 게임에서 특정 레벨에 도달해야만 차를 원하는 대로 개조할 수 있어요. 하지만 특정 레벨에 도달하지 않은 플레이어도 커스터마이징 부품을 인앱 구매(IAP)로 구입할 수 있는 블랙 마켓(암시장)이라는 걸 도입하면 좋겠다고 생각했어요.”

처음에 Destruction Crew는 IAP가 원활하게 작동하도록 하는 데 몇 가지 어려움을 겪었지만 Unity IAP를 구현하고 나서는 모든 게 더 좋게 변했습니다.

“그 전에는 다른 플러그인을 사용했는데, 사용하기가 어려웠어요. 늘 조금 번거로웠죠. 플랫폼별로 임포트했지만, 온갖 문제가 있었어요. 하지만 Unity IAP를 사용하면 정말 쉬워져요. 임포트하고 기능을 몇 개 연결하면 사실상 모든 준비가 끝나죠. 더 할 게 없어요.”라고 더크스는 말합니다.

지속적인 업데이트와 커뮤니티 지원

Destruction Crew는 Unity 멀티플레이어 솔루션을 첫 베타 버전부터 사용해왔습니다. 초기 버전에는 자연히 여기저기에 누락된 기능이 있었지만, Unity Pro에서 제공하는 잦은 업데이트 덕에 게임을 개발하면서 기능 누락으로 인한 문제를 겪지 않았습니다.

“특정 기능이 누락될 때마다 다음 날이면 그 기능이 포함된 Unity 업데이트가 제공되는 경우가 거의 대부분이었다”고 더크스는 말합니다.

기능 외에도 팀은 게임을 만들면서 당연히 몇 가지 문제에 직면했습니다. 하지만 문제가 발생해도 늘 Unity 커뮤니티의 도움을 얻을 수 있었습니다.

“Unity 커뮤니티는 문제를 해결하는 데 정말 큰 도움이 돼요. 그리고 늘 아주 유용했어요. 항상 Stack Overflow와 Unity 포럼을 살펴봤는데, 10번 중에 9번은 해결 방법을 찾았어요.”

어떤 플랫폼이든, 어떤 기술이든

데몰리션 더비 멀티플레이어(Demolition Derby Multiplayer)는 처음에 iOS, Android 및 Win 스토어 앱으로 출시되었고, Destruction Crew가 게임을 각 플랫폼에 맞게 수정하기는 매우 쉬웠습니다.

“텍스처나 메시 압축 설정 같은 몇 가지 설정만 변경해야 했지만, 대부분은 빌드하고 플레이하기만 하면 됐어요.”

VR이 시장에서 인기가 높아지기 시작하자 이것이 데몰리션 더비에 아주 적합한 또 하나의 플랫폼이라고 생각되었고, 이 게임의 VR 버전을 만들기는 매우 쉬웠습니다.

“그 때까지는 모바일 게임만 만들었지만, Unity의 정말 좋은 점 중 하나는 어떤 훌륭한 신기술이 나오든 Unity에서 지원한다는 거예요. 그래서 모바일 게임의 VR 버전을 만들 때는 플러그인만 몇 개 추가하니까 준비가 끝났어요.”라고 티머는 말합니다.

Steven Derks, Lead Programmer and Co-founder at Destruction Crew

“전에는 네트워크 물리를 빌드하기가 힘든 경우가 많았는데, Unity를 사용하니까 정말 쉬워졌어요. 네트워크 API를 매우 간편하게 구현할 수 있기 때문에 네트워크 물리도 문제 없이 구현할 수 있죠. 이 점은 멀티플레이어 모바일 자동차 게임에 매우 중요했어요.”

Steven Derks, Lead Programmer and Co-founder at Destruction Crew

모바일을 위한 Unity를 사용하기 위한 첫 걸음

Unity를 이용한 모바일 게임 개발을 위한 정보와 리소스가 담긴 이 실용적인 가이드를 읽어보세요. 계획대로 작업을 진행하면서 시간을 절약하고 최대의 가치를 끌어낼 수 있습니다.

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

확인