Search Unity

3월 23일 Google 게임 개발자 서밋에서 소개한 Unity Game Simulation은 게임 스튜디오가 출시 전 플레이 테스트를 진행할 수 있도록 시뮬레이션을 제공하는 클라우드 서비스입니다. Google 클라우드의 인프라 지원을 바탕으로 하는 Unity Game Simulation을 이용하면 대규모로 게임 밸런스를 평가할 수 있습니다. 현재 베타 버전이 공개되었으며, 여기에서 신청 후 무료로 사용할 수 있습니다.

생생하고 실감나는 게임의 핵심은 게임 플레이 밸런스에 있습니다. 모바일, PC, 하이퍼 캐주얼, 오픈 월드, 온라인, 오프라인에 관계없이, 모든 게임은 최적의 균형을 이루어야 합니다. 밸런스가 좋지 않은 게임을 출시할 경우 게임에 대한 부정적인 인식을 심어줄 우려가 있습니다.

대다수의 게임 디자이너는 스프레드시트를 사용하여 게임 요소를 모델링합니다. 하지만 스프레드시트는 실제 게임플레이를 지나치게 단순화하거나 부정확하게 표현합니다. 또 다른 솔루션으로는 테스트 담당자가 직접 플레이하면서 테스트 및 밸런싱 작업을 할 수 있습니다. 주로 게임의 매우 주관적인 요소를 평가할 때 사용되지만, 비용이 많이 들거나 규모 면에서 제약을 받을 수 있습니다.

유니티는 클라우드에서 수천여 번의 게임플레이를 시뮬레이션하여 더 정확한 결과를 제공하고, 테스트 담당자가 게임의 주관적인 면에 더욱 집중할 수 있게 하는 솔루션을 구상했습니다.

대니 랭(Danny Lange) 유니티 테크놀로지스 AI 및 머신러닝 부사장은 “아무리 멋진 게임을 개발했더라도 밸런스를 제대로 잡지 못하면 실패하게 됩니다. 게임 밸런스를 맞추기 위한 기존 테스트 방법은 인력을 동원한 테스트와 수많은 수동 업데이트에 크게 의존합니다. 테스트 과정 전체가 비용이 많이 들고, 느리며, 비효율적입니다. 반면 Unity Game Simulation은 수많은 게임플레이 시뮬레이션을 클라우드에서 실행하여 더 정확한 결과를 제공합니다. 따라서 테스트 담당자들이 게임이 주는 느낌과 재미 등 주관적인 기준에 더 집중할 수 있으므로 게임 밸런싱 작업에 더 나은 방법이라고 할 수 있습니다.”라고 소개했습니다.

편리하고 효율적인 게임 밸런싱 방법

유니티에서 클라우드의 규모를 활용하여 테스트를 보완하는 Unity Game Simulation 솔루션을 발표했습니다. Unity Game Simulation을 활용하면 게임 개발자와 디자이너가 게임의 변경사항을 더 많이 테스트하고 빠르게 수정할 수 있습니다. 시뮬레이션은 실제 게임 코드에서 진행되어 근사값이 아닌 정확한 데이터를 생성합니다. 또한 클라우드를 활용하기 때문에 게임 스튜디오는 테스트를 더 빠르게 대규모로 진행하며, 단 몇 시간 혹은 몇 분만에 결과를 얻을 수 있습니다. 테스트 예산의 극히 일부를 사용하여 시뮬레이션을 진행할 수 있습니다.

Game Simulation 작동 원리

SDK Unity 에디터 인터페이스

Unity 패키지에는 Unity Game Simulation을 사용하기 위해 필요한 모든 툴이 포함됩니다. 이 패키지를 통해 파라미터 및 지표를 설정하고 빌드를 업로드할 수 있습니다. 게임에서 지표를 통해 측정하고 싶은 요소를 선택합니다. 예를 들어 플레이어가 게임을 끝까지 플레이할 때까지 걸리는 시간을 선택하여 측정할 수 있습니다.

시뮬레이션별로 조정하고 싶은 게임 파라미터를 설정할 수 있습니다. 예를 들어, 속도 향상 및 파워업의 다양한 조합을 시도해 볼 수 있습니다.

설정을 모두 마친 후 게임 빌드를 Unity 에디터에서 직접 업로드하고, Unity Game Simulation 대시보드에서 시뮬레이션을 생성합니다.

에디터에서 Unity Game Simulation을 위한 게임 파라미터 설정

Game Simulation 대시보드

유니티에서는 시뮬레이션을 쉽게 생성하고 관리할 수 있도록 직관적인 대시보드를 제공합니다. 대시보드에서 원하는 지표를 선택하고 시뮬레이션하려는 파라미터 조합을 구체적으로 설정할 수 있습니다. UI는 조직 내 모든 사용자가 접근할 수 있습니다.

시뮬레이션을 통해 얻은 데이터는 개별 시뮬레이션을 위한 원시 데이터 및 집계를 위한 요약 통계로 활용 가능합니다. 모든 정보는 대시보드에서 액세스할 수 있습니다.

하향식 아케이드 슈팅 게임: 수천여 무기 조합

Furyion Games는 토론토에 위치한 게임 개발 스튜디오로 멀티 플레이어를 위한 전쟁터와 최첨단 무기를 선보이는 빠른 속도감의 하향식 온라인 슈팅 게임 데스 카니발(Death Carnival)을 제작했습니다. 게임의 특징 중 하나는 무기 소켓 시스템입니다. 플레이어는 무기마다 기본 무기, 탄약, 무기 모듈, 일시적인 파워업을 선택할 수 있습니다. 각 조합은 플레이 스타일과 무기의 효율성을 제어하는 수많은 변수로 구성되어 있습니다.

Furyion은 Unity Game Simulation으로 수천여 번의 시뮬레이션을 실행하여 적절한 생존 능력 및 레벨 완료 시간을 달성하기 위한 최적의 기본 무기, 탄약, 무기 모듈, 파워업의 조합을 찾고 재미를 극대화할 수 있었습니다.

Furyion Games 스튜디오 책임자 허버트 영(Herbert Yung)은 “Unity Game Simulation은 플레이어를 위한 최적의 경험을 만들어낼 수 있는 파라미터를 파악하는 데 큰 도움이 되었습니다. 수작업으로 진행했다면, 인력을 동원한 밸런싱 작업과 재설정에 많은 시간을 소요했을 겁니다. 이제는 Unity Game Simulation을 사용하여 레벨 디자인 문제를 해결하고 이상적인 게임플레이 설정을 파악할 수 있게 되었습니다”라며 만족스러워했습니다.

레이싱 게임에 적합한 러버밴딩 설정

iLLOGIKA는 몬트리올에 소재한 60명 규모의 게임 스튜디오로, 멋진 3D 환경에서 전 세계 플레이어와 경주를 벌이는 로그 레이서스(Rogue Racers)를 제작했습니다. 로그 레이서스에서는 숙련된 플레이어가 초보 플레이어와 경주할 때, 거의 모든 경우 초보 플레이어보다 5초 이상 앞서 결승선을 통과하지 못하도록 설정되어 있습니다. 이 개념을 러버밴딩(rubberbanding)이라고 합니다. 숙련된 플레이어가 초보 플레이어보다 너무 많이 앞서나갈 경우, 초보 플레이어는 게임이 너무 어렵다고 생각할 수 있습니다. 이와 반대로 레이스가 막상막하가 된다면, 초보 플레이어는 게임이 너무 쉽다고 생각할 것입니다. 따라서 적절한 러버밴딩 설정이 관건입니다.

이를 해결하기 위해, iLLOGIKA는 경주에서 뒤쳐진 플레이어의 속도를 높여주는 캐치업 메커니즘을 구현했습니다. 속도 향상도는 속도 배율, 빈도 및 기간이라는 세 가지 파라미터를 통해 정해집니다. 물론 파라미터는 수천여 개의 조합을 생성할 수 있습니다. 시뮬레이션을 통해 위 조합을 실행한 결과, iLLOGIKA는 주파 기록의 95%를 5초에 가깝게 유지하는 이상적인 설정을 파악해낼 수 있었습니다.

iLLOGIKA 스튜디오 책임자 레지스 지오프리온(Régis Geoffrion)은 “Unity Game Simulation을 통해 게임 시나리오에서 다양한 조합을 실행하여 개발 초기부터 불균형을 파악할 수 있었습니다. Unity Game Simulation이 향후에도 플레이어 경험을 향상하는 데 핵심적인 역할을 할 뿐 아니라, 새로운 타이틀의 원활한 소프트 론치에 소요되는 시간 역시 단축해줄 것이라 확신합니다.”라고 말했습니다.

무료 베타 참여

Unity Game Simulation은 현재 베타 버전으로 사용 가능합니다. 여기에서 신청한 후 무료로 사용해보시기 바랍니다.

새로운 기능 요청, 사용 사례에 관한 문의, 또는 전반적인 의견을 공유하고 싶다면 gamesimulation@unity3d.com으로 문의하거나 유니티 포럼에 의견을 남겨주시기 바랍니다.

9 replies on “Unity Game Simulation을 이용한 게임 밸런스 최적화”

Thanks, from reading the comments I think I have a better picture of what this is.

We create a player in our game that can play it by itself, we sort of create the main player’s ‘AI’. Then we upload it, and Unity runs the game many times, and gives us the resulting data on how our main player’s AI did.

The marketing of this mentions that some developers use humans to test their game… which we then assume will be replaced by Unity Game Simulation. As though Unity has a human-like AI that will play your games for you many times, and learn how difficult it is. Kind of like Google’s AlphaGo AI. But they’re actually handling more of the running of the game, doing many iterations quickly.

How exactly is the simulation run? I’m assuming you do not have an AI to play any time of game a developer might upload. Also, what data is returned?
This blog post, and any other mention of this system seems to completely avoid talking about this at all…

I was asking me the question indeed.
So, the metric you receive from the simulation will still be biased by the way you implement your AI.
Can be handy, but will never replace human behavior in a game.

So you have to create a version of your game that plays by itself, taking the variables as input.
Then the service runs this self-playing game while recording some metrics.

That could come in handy, but can you please make very clear that your game will NOT be played by AI from unity that acts like a human player. That you have to build a game that can play itself without help from unity or “the cloud”.
This is not stated anywhere so people think you’ve built an AI that can play games like a human does.

Comments are closed.