[인터뷰] 테스트도 자동화 OK, 유니티 게임 시뮬레이션

인터뷰 | 윤서호 기자 | 댓글: 8개 |



머신러닝과 AI는 미래 산업을 논할 때 빠지지 않고 등장하는 분야입니다. 기계가 단순 반복 작업만 하는 것을 벗어나서, 학습하고 분석하는 그 다음 단계까지 나아가는데 필수적인 분야이기 때문이죠. 게임 업계에서도 이 가능성에 주목, 꾸준히 연구를 거쳐왔죠. 마치 알파고가 인간이 중간에 개입하지 않아도, 자신이 직접 기보를 수도 없이 보고 바둑을 두면서 시뮬레이션하는 것처럼 게임도 그런 식으로 계속 테스트해나갈 수 있다 본 것이죠.

그 대표적인 사례가 지난 유나이트 2019에 발표된 유니티 게임 시뮬레이션입니다. 기계들이 수백만 회 이상의 플레이테스트를 거치고 시뮬레이션해서, 여러 오류들이나 버그 등을 찾아내는 기술이죠. 뿐만 아니라 어느 구간에서 특히 많이 죽었고 플레이타임이 걸렸나 등등, 세세하게 파악할 수도 있고 각종 변수와 계측 지표를 통해 게임 성능 저하 등도 알아볼 수 있습니다.

이미 애니팡4 등 다양한 게임의 레벨테스트에 사용되고 있는 유니티 게임 시뮬레이션, 과연 어떤 기술일까요? 아울러 유니티에서는 개발자들에게도 다소 생소할 수 있는 이 기능을 어떤 식으로 발전시키고, 접근하기 쉽도록 어떤 준비를 하고 있을까요? 유니티의 AI/ML 부문을 총괄하고 있는 대니 랭 유니티 AI/ML 담당 시니어 부사장과 서면 인터뷰를 통해 이를 확인해볼 수 있었습니다.



▲ 대니 랭 유니티 AI/ML 담당 시니어 부사장


Q. 유니티 게임 시뮬레이션이 유나이트 2019에서 한 번 발표된 바 있는데, 아직 사용해 보지 않은 개발자들이 많습니다. 어떤 기능인지 간단히 설명해 주실 수 있을까요?

게임을 출시하거나 업데이트할 때 휴먼 플레이테스트를 활용하면 밸런스를 향상하고, 버그를 파악하고, 엔터테인먼트 측면의 가치를 검증할 수 있습니다. 하지만 그렇게 하면 많은 비용과 시간이 소요되죠. 그래서 그런 단점들을 극복하기 위해 유니티 게임 시뮬레이션을 개발했습니다. 가상 플레이어를 통해 실제 게임 코드에 대한 시뮬레이션 플레이스루를 진행하는 방식으로 게임 밸런스, QA 플레이테스트 등을 자동화하고 시간을 단축시킬 수 있죠.

유니티 게임 시뮬레이션을 사용하면 각각 여러 측면에서 효과가 있는 자체 봇을 배포하여 휴먼 플레이테스터의 상호작용을 시뮬레이션할 수 있습니다. 개발 중에는 유니티 에디터에서 게임 시뮬레이션 클라우드 서비스로 게임을 직접 업로드할 수 있어요. 이제는 게임 코드 전체에 걸쳐 게임 변수와 계측 지표를 구성하여 봇이 실험을 실행하고 대시보드에서 게임 성능을 확인하도록 할 수 있습니다.

많은 게임 개발자들이 이 기능으로 게임을 테스트하고, 밸런스를 조정하면서 최적화하는 혁신적인 방법임을 검증해나가고 있다 하겠습니다.


Q. 유니티 게임 시뮬레이션이 출시된 지 1년 가까이 되었는데요. 실제 사용 사례를 소개해 주실 수 있을까요? 또 어떤 성과가 있었는지도 궁금합니다.

QA 및 게임 밸런스 자동화 영역에서 검증된 게임 시뮬레이션 사용 사례가 있습니다. 가장 최근 사례부터 말씀드리자면, 선데이토즈에서 출시한 애니팡 4의 밸런스 자동화를 지원할 기회가 있었습니다.

애니팡 4의 경우, 선데이토즈는 플레이어들의 요구 사항을 충족하기 위해 새로운 기능, 게임 모드, 스토리텔링을 선보이는 동시에 무수히 많은 신규 레벨을 디자인했습니다. 열혈 팬들을 위해 전작보다 훨씬 더 많은 콘텐츠를 제작하기 위해서는 개발과 운영 측면에서 다양하고 새로운 시도가 필요했습니다.

선데이토즈는 유니티 게임 시뮬레이션을 도입했고, 그 결과 실행 가능한 테스트 수를 5배 늘리고 탁월한 게임플레이 경험을 제공하는 성과를 거두었습니다. 이와 같은 내용을 포함한 선데이토즈의 유니티 게임 시뮬레이션 활용 사례는 유니티 홈페이지를 통해서도 확인하실 수 있습니다.

또한 퍼즐/매치3 이외의 다른 장르에서도 게임 시뮬레이션의 가능성을 보여준 성공 사례들이 있습니다. ‘데스 카니발’이라는 탑다운 뷰 슈팅 게임을 개발한 캐나다의 게임 스튜디오 ‘퓨리온’의 사례를 보죠. 퓨리온은 게임 시뮬레이션을 사용하여 전체 무기 시스템의 밸런스를 맞출 수 있었고, 1억 6,500만 개의 플레이스루를 단 10개의 효율적인 시뮬레이션으로 압축하여 8만 달러 이상의 개발 예산을 절감할 수 있었습니다.

비슷한 사례로 캐나다의 스튜디오 ‘일로지카’는 레이싱 타이틀인 ‘로그 레이서’를 개발하면서 플레이테스트를 자동화할 수 있었으며, 게임 시뮬레이션을 사용하여 47일 간의 플레이스루 테스트를 단 4시간의 시뮬레이션으로 압축했습니다.



▲ 유니티 게임 시뮬레이션을 도입, 밸런스 및 테스트 자동화를 구현한 애니팡4

▲ 유나이트 나우 2020에서 시뮬레이션 활용 사례로 소개되기도 했다


Q. 개발자들이 유니티 게임 시뮬레이션의 작동 방식을 궁금해할 것 같습니다. 조금 자세히 알려 주신다면?

게임 시뮬레이션을 사용하여 QA 테스트나 게임 밸런스 조정을 자동화해야 하는 경우 손쉽게 설치할 수 있는 유니티 패키지가 제공됩니다. 여기에는 유니티 게임 시뮬레이션을 위해 게임을 설정하고 빌드를 손쉽게 업로드하는 데 필요한 모든 툴이 포함되어 있습니다.

게임 밸런스 자동화를 예로 들어 보겠습니다. 이 패키지를 사용하면 파라미터와 계측 지표를 설정한 다음, 게임에서 측정하려는 지표를 계측할 수 있습니다. 예를 들면 플레이어가 게임을 플레이하는 데 걸리는 시간을 지표로 삼을 수 있겠죠. 속도 부스트 및 파워업의 다양한 조합과 같이 각 시뮬레이션에서 조정할 게임 내 파라미터를 설정할 수 있습니다. 그리고 계측과 설정이 끝나면 유니티 에디터에서 게임 빌드를 바로 업로드할 수 있습니다.

이러한 밸런스 테스트를 실행하려면 즐겨 사용하는 프로그래밍 언어와 툴을 활용해 플레이어의 게임플레이를 모방한 봇 컬렉션을 만들 수 있습니다. 게임이 업로드되어 밸런스 테스트가 파라미터화되고 봇이 생성되면 여러 개의 병렬 시뮬레이션을 시작할 수 있으며, 게임 시뮬레이션 대시보드에서 적게는 수천 건부터 많게는 수백만 건에 달하는 플레이스루 결과를 확인할 수 있습니다.


Q. 유니티 게임 시뮬레이션 소개에서 '클라우드 기반', '수백만 번'과 같은 문구가 눈에 띕니다. 그렇다면 소규모 프로젝트에서도 사용 가능한지, 그리고 인디 개발자에게는 어떤 이점이 있을지 설명해 주시면 감사하겠습니다.

게임 시뮬레이션은 개발자가 클라우드에서 수백만 건의 실제 게임 플레이스루를 시뮬레이션으로 구현하도록 하여 다양한 규모의 게임 스튜디오가 게임 밸런스 및 QA 플레이테스트를 자동화하는 데 도움이 됩니다. 그 덕에 소규모 팀이 플레이테스트 리소스나 일정의 제약에서 벗어나면서 수동 플레이테스트 또는 스프레드시트 기반 모델링에 비해 더욱 포괄적인 테스트 범위, 신속한 반복 작업, 정확한 결과 산출이 가능해집니다.



▲ 자동화 테스트뿐만 아니라



▲ 계측한 데이터를 정리 및 시각화해서 편하게 볼 수 있게끔 했다


Q. 유니티로 게임 개발하는 기사를 썼던 적이 있는데, 이런 프로젝트 단계에서도 유니티 게임 시뮬레이션을 사용할 수 있을까요?

물론입니다. 유니티 에디터에 게임 빌드가 있는 경우 게임 시뮬레이션을 사용하여 게임을 테스트할 수 있습니다. 예를 들어 QA 테스트에서 가장 뻔하고 반복적인 요소 중 하나는 골든 패스(Golden Path) 테스트인데요, 이 테스트에서는 게임이 제대로 작동하는지 확인하기 위해 스프레드시트에 나열된 다양한 커맨드를 실제로 실행해야 합니다.

그런데 게임 시뮬레이션에는 ‘Recorded Playback’이라는 기능이 포함되어 있어 개발자가 특정한 일련의 상호작용을 기록하고 필요에 따라 자동으로 실행할 수 있습니다. 이런 식으로 새로운 콘텐츠가 출시되거나 게임 코드가 업데이트될 때마다 휴먼 플레이테스터 없이도 모든 플레이스루를 실행하고 검증하는 것이 가능하죠. 게임을 실행할 수 있는 매우 간단한 봇을 만들어 QA 테스트를 한층 더 자동화함으로써 레벨을 실제로 완료할 수 있는지, 또는 봇이 레벨을 완료할 수 없도록 하는 버그나 오류가 있는지 확인할 수 있습니다. 그리고 필요한 경우 즉시 플레이스루를 실행하여 QA 테스트를 자동화 및 확장하고 최근의 변경 사항이나 릴리스로 인한 게임 오류를 방지할 수 있습니다.



▲ 유니티 대시보드에서 게임 시뮬레이션 사용 및 기타 내용을 확인할 수 있다


Q. 개발자들은 밸런스 테스트 외에도 빌드를 효율적으로 테스트하는 방법을 고려하고 있습니다. 게임 시뮬레이션이 이 프로세스에 도움이 될 수 있을까요? 아니면 보다 효율적인 빌드 테스트를 위해 준비 중이거나 릴리스된 기능이 있나요?

게임 시뮬레이션을 빌드 프로세스에 활용하면 게임 개발 프로세스를 개선할 수 있습니다. 사실 모든 빌드 테스트의 자동화는 소프트웨어 제품의 품질 향상에 도움이 되곤 합니다. 새로운 버그를 거의 즉각적으로 발견할 수 있으니까요. 또 게임플레이에 중대한 영향을 미칠 수 있는 게임 메커니즘의 미묘한 변화도 조기에 감지할 수 있습니다. 자동화된 테스트 프레임워크를 CI 파이프라인에 통합하면 게임이 업데이트될 때마다 이러한 테스트를 자동으로 시작할 수 있습니다.


Q. 최근에는 클라우드를 통한 부서 간 협업이 보편화되고 있습니다. 유니티 게임 시뮬레이션에도 이와 같은 부서 간 협업을 지원하나요?

예, 유니티 게임 시뮬레이션은 유니티 엔진과 직접적으로 통합되기 때문에 사용자가 엔진에 이미 내장된 유용한 협업 및 워크플로 툴에 액세스하고 활용할 수 있습니다. 이를 통해 테스트 결과와 구현 간의 피드백 루프가 단축되므로, 자동화된 플레이테스트에서 얻은 정보를 게임 개발자가 최대한 신속하게 확인할 수 있죠.

더욱 중요한 것은 유니티의 게임 시뮬레이션 서비스가 클라우드에서 실행되기 때문에 모든 개발자가 액세스할 수 있다는 점입니다. 유니티 게임 시뮬레이션은 모든 팀이 협업을 통해 개발 중인 게임의 품질을 개선할 수 있는 공간이라 하겠습니다.


Q. 유니티 게임 시뮬레이션의 일반적인 사용 사례는 주로 테스트용으로 언급되었는데, 혹시 다른 용도로도 사용할 수 있나요?

유니티 게임 시뮬레이션은 게임 개발 중 여러 단계에서 사용할 수 있는 툴입니다. 개발자가 게임에 오류가 없는지만 확인하려는 용도로 사용하는 방식 중에 미리 녹화된 플레이스루가 있습니다. 이런 테스트는 소위 '스모크 테스트'라고 볼 수 있습니다. 이러한 테스트는 확장을 통해 게임의 더욱 광범위하고 복잡한 요소에 대한 플레이스루까지 포함할 수 있습니다. 봇은 사람의 게임플레이를 대규모로 모방하기 위해 도입되고, 이들이 여러 게임 레벨 간의 밸런스를 맞추는 데 도움이 될 수 있습니다.



▲ '데스 카니발'은 무기 및 플레이 밸런스에 게임 시뮬레이션을 도입한 사례다


Q. 유니티가 계속 업그레이드되면서 다양한 기능이 추가됐지만, 새로 추가된 기능을 하나하나 익혀야 하다 보니 곧바로 사용하기 어렵다는 의견이 있습니다. 특히 머신러닝은 게임 개발자들에게 생소한 분야인데, 개발자들이 쉽게 적용할 수 있도록 지원하는 방법이 있는지 궁금합니다.

물론 게임 시뮬레이션이 개발자 입장에서 새로운 개념이라는 것을 알고 있습니다. 그렇지만 개발자와 플레이어에게 매우 큰 도움이 되리라 생각합니다. 따라서 제품의 사용 편의성을 향상하는 데 줄곧 초점을 맞추고 있죠.

‘Recorded Playback’은 코드를 사용하지 않고도 플레이스루를 실행할 수 있도록 하는 기능입니다. 보다 지능적으로 게임을 테스트할 수 있는 봇을 만들기 위한 머신러닝의 도입에 앞으로 큰 기대를 걸어 볼 수 있겠습니다. 머신러닝 덕분에 봇이 더욱 스마트해지면서 프로그래밍에 대한 의존도가 낮아질 수 있죠.


Q. 게임에서 머신러닝이 사용되는 사례 중 가장 대표적인 경우는 NavMesh가 아닌 ML-Agents를 사용하여 적의 이동 패턴을 지정하는 방법입니다. 다른 예로는 어떤 것이 있을까요?

게임과 관련된 머신러닝의 가장 돋보이는 혁신 중 하나는 자동화된 게임 밸런싱이 아니라 자동화된 게임 최적화의 개념입니다. 머신러닝의 강점 중 하나는 방대한 양의 이전 데이터를 분석하고, 다양한 변수가 함께 작용하여 결과에 영향을 미치는 양상을 인간 이상의 수준으로 정확하고 세부적으로 파악하는 능력입니다.

현재 유니티는 게임 밸런스 테스트를 자동화할 때 기본적으로 가능한 모든 파라미터 조합을 실행하고 모든 결과를 스프레드시트에 옮긴 다음, 결과의 어느 열이 미리 선택한 이상적인 결과 범위에 들어오는지 강조 표시합니다. 예를 들어, AI 기반 슈팅 게임 최적화를 사용하고자 한다면 여러 건의 실험을 진행할 필요 없이 수많은 기타 유니티 슈팅 게임의 플레이스루로부터 파생된 머신러닝 기반 인사이트를 활용하여 자동으로 참여를 극대화할 수 있습니다.

또한 저희는 게임 장르에 상관없이 다양한 플레이어 세그먼트의 행동을 이해하고 예측하는 데 머신러닝이 사용될 것으로 예측하고 있습니다. 그리고 이러한 예측 행동이 다양한 봇에 할당되면 시뮬레이션된 플레이스루의 정확도를 높일 수 있습니다.


Q. AI와 머신러닝 붐이 일면서 유니티도 머신러닝 관련 기능을 선보였지만 요즘은 다소 잠잠해진 것 같은데요. 이번에 출시될 유니티 2021 버전에서는 어떤가요? 새로운 기능이 추가되거나 개선되었다면 설명 부탁 드립니다.

아무래도 현 단계는 유니티 2021이 정식 릴리즈하지 않은 시점이라 그걸 직접 말씀드리긴 어려울 것 같습니다. 유니티 2021은 현재 테스트 단계고, 최적화 및 QoL(Quality of Life)를 높이는 것을 우선으로 하고 있습니다. 버전 관리 개선 및 편의성 개선, 모드 진입 시간 단축 등 여러 면에서 개발자들이 작업을 더 쉽게, 짧은 시간 내에 처리할 수 있게끔 노력하고 있죠. 유니티 블로그를 통해서 이와 관련된 내용을 한 차례 올렸으며, 지속적으로 유니티 2021에 관한 새로운 소식을 업데이트할 예정입니다.



▲ 아직 테스트 단계인 유니티 2021, 현재는 QoL 증진 및 최적화에 주력하고 있다


Q. 유니티의 기술은 게임뿐만 아니라 건축, 영상 등 다양한 산업 분야에서 활용되고 있습니다. 유니티 게임 시뮬레이션 및 머신러닝 기술을 다른 분야에 어떻게 적용할 수 있을까요?

많은 연구원과 엔지니어들이 수십 년 동안 시뮬레이션을 업무에 사용해 왔습니다. 유니티와 게임 시뮬레이션 서비스를 이용할 수 있게 되면서 이제 시뮬레이션을 완전히 새로운 수준으로 끌어올릴 수 있게 되었습니다. 여러분이 건물을 설계하는 건축가든 로봇을 만드는 엔지니어든, 유니티 게임 시뮬레이션을 사용하여 디지털 트윈을 만들고 역동적인 동작을 테스트할 수 있습니다. 건물의 경우 화재 발생 시 주민이 건물 밖으로 대피하는 데 걸리는 시간을 테스트할 수 있으며, 로봇의 경우 소프트웨어를 실제 하드웨어에 배포하기 전에 테스트할 수 있습니다.


Q. 예비 게임 개발자들에게는 AI와 머신러닝의 중요성이 아직 크게 와닿지 않는 것 같습니다. 앞으로 게임 산업에서 AI와 머신러닝이 얼마나 중요해질 것으로 예상하시나요?

AI와 머신러닝은 오늘날 가장 빠르게 성장하고 있는 분야 중 하나입니다. 유니티와 게임 업계에는 미래의 기술을 개발하고 발전시킬 수 있는 수많은 기회들이 있습니다.


Q. 코로나19로 인해 오프라인 이벤트가 제한되면서 유니티는 최근 다양한 샘플 프로젝트와 기능을 소개하는 동영상을 업로드하고 있죠. 개발자가 AI와 머신러닝을 학습하는 데 도움이 되는 동영상이 있으면 소개 부탁드립니다.

유니티는 최근 ‘Code Monkey’와 협업하여 2부짜리 유튜브 튜토리얼 시리즈를 제작했는데요, 게임 시뮬레이션을 통해 매치3 퍼즐 게임의 밸런스를 자동으로 조정하는 방법을 시연합니다. 이 두 영상을 보시면 도움이 될 겁니다.




Q. 유니티의 AI 및 머신러닝 기능에 대한 향후 목표와 방향은 어떠한가요?

유니티의 AI 및 머신러닝 팀은 AI의 보편화에 관해 매우 야심찬 목표를 가지고 있습니다. 저희는 모든 유니티 개발자들 사이에서 AI가 보편화되도록 지원하고자 합니다. 유니티는 AI가 게임 개발의 미래에 중요한 역할을 하고 있다고 보며, 유니티의 AI가 대규모 시뮬레이션, 로봇 공학, 컴퓨터 비전 같은 산업 분야에 혁신을 불러올 것이라고 믿습니다.


Q. 유니티를 사용하고 있는 한국의 개발자들에게 마지막으로 한 마디 하신다면?

일반적으로 인공지능과 머신러닝을 너무 어렵게 생각하고 두려움을 갖는 분들이 많습니다. 하지만 게임 개발에 있어서 게임 시뮬레이션과 같은 툴이 하는 역할은 유니티의 다른 툴과 다를 바 없습니다. 보기 좋고, 흥미롭고, 버그가 없는 게임을 더욱 쉽고 직관적으로 제작할 수 있도록 하는 것이죠.

유니티는 게임 시뮬레이션과 같은 툴을 보다 쉽게 사용할 수 있도록 할 뿐만 아니라, 팀 또는 스튜디오의 규모에 상관없이 머신러닝 기반 툴을 사용하여 더 나은 게임을 만드는 다양한 방법을 이해하기 쉽게 설명하는 교육 자료의 제작에 꾸준히 집중하고 있습니다. 계속 관심을 갖고 유니티 게임 시뮬레이션 홈페이지에서 2021년에 출시될 업데이트, 튜토리얼을 비롯한 양질의 콘텐츠를 확인해 보세요.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5