온라인 멀티플레이어 게임의 균형을 맞추는 일은 보통 느린 순환 과정을 뜻한다. 수천 번의 인간 플레이테스트 세션으로 스트레스 테스트를 하고, 피드백을 반영하고, 재설계하고, 테스터와 디자이너가 만족할 때까지 반복하는 것이다. Google의 Stadia 엔지니어들은 이 과정이 시간이 많이 걸릴 뿐 아니라 불완전하다고 말했다. 게임에 역할, 기술, 맞물리는 메커니즘이 많을수록 미묘한 결함이 빠져나가기 쉽다는 것이다.

이에 대한 그들의 대응은 머신러닝 모델을 플레이테스터로 훈련시키는 것이었다. Chimera는 일부러 큰 상태 공간과 불완전 정보를 갖도록 만들어, 손으로 작성한 AI를 구현하기 어렵게 한 디지털 카드 게임 프로토타입이었다. 이 게임에서 그들은 보드의 이미지 인코딩으로부터 승리 확률을 예측하도록 합성곱 신경망을 훈련시켰다. 에이전트는 무작위 수로 시작해 자기 자신과 대국했고, 반복할 때마다 데이터의 품질과 플레이의 강도가 향상되었다.

시뮬레이션된 경기는 수백만 건에 이르러 인간 테스터가 만들어낼 수 있는 양을 훨씬 넘어섰다. 데이터는 세션들이 놓쳤던 것을 드러냈다. Evasion Link Gen 덱이 Damage-Heal 덱을 60%의 확률로 이겼고, 키메라 진화는 디자이너들이 생각한 것보다 강력했지만 의도한 것보다 덜 발생했으며, T-Rex 생물은 과도하게 강력했다. 에이전트는 잘못된 바이옴이나 과밀한 바이옴에 대한 페널티와 무관하게 T-Rex를 플레이했다. 디자이너들은 진화의 에너지 비용을 3에서 1로 줄이고 T-Rex의 재사용 대기시간을 두 배로 늘렸지만, 승률은 60/40에 머물렀다.

게임 로그를 두 번째로 검토한 결과 경기가 여전히 너무 얕다는 것이 드러났다. 경기 시간을 늘리기 위해 시작 체력과 회복량을 높이고, 바이옴 배치 페널티를 늘리며, 가장 강한 생물과 가장 약한 생물 사이의 격차를 좁혔다. 최종 100만 경기에서 Evasion Link Gen은 승률 59.1%에서 49.8%로 떨어졌고 Damage-Heal은 40.9%에서 50.2%로 올랐으며, 경기당 평균 진화 횟수는 1.54에서 2.16으로, 0.86에서 1.76으로 증가했다. 팀은 수개월의 플레이테스트가 표준이었던 상황에서 며칠 만에 불균형을 찾아 수정했다고 보고했다.

자기 대국 ML 에이전트는 인간이 따라올 수 없는 규모로 플레이테스트한다

수백만 건의 시뮬레이션 경기는 균형을 통계로 바꾼다. 60/40의 덱 분할은 수십 번의 세션에서 나온 막연한 짐작으로 남지 않고 집계 데이터에서 드러난다.

자기 대국은 손으로 작성한 규칙 없이 부트스트랩한다. 무작위 플레이가 순환을 시작하고, 각 세대는 자신의 데이터를 개선하며, 이미지 상태에 적용된 단순한 CNN이 전통적인 AI로는 너무 복잡한 게임을 학습한다.

에이전트는 보고하는 대신 보여준다. 페널티에도 불구하고 항상 과도하게 강력한 T-Rex를 플레이함으로써 디자이너의 사각지대를 부인할 수 없고 실행 가능한 것으로 만든다.

저렴한 반복이 핵심이다. 규칙 변경은 며칠 만에 100만 경기로 다시 테스트되고, 동일한 소형 모델이 클라이언트 내부의 CPU에서 실행되어 실시간 승리 확률을 보여준다.

품질 순환이 느린 인간 테스트에 의존할 때는 수백만 번의 시도를 실행할 수 있는 저렴한 합성 사용자를 구축한 뒤, 그것이 드러내는 패턴에 맞춰 규칙을 조정하라. 그러면 수개월의 테스트가 며칠로 줄어든다.

균형 작업은 100만 건의 시뮬레이션 경기에서 두 덱이 거의 대등한 상태로 마무리되었고, 엔지니어들은 수개월의 플레이테스트가 표준이었던 상황에서 식별 및 수정 주기가 며칠 만에 돌아갔다고 말했다. 그들은 또한 단순한 신경망이 인간과 전통적인 게임 AI를 상대로 높은 수준의 플레이에 도달했으며, 동일한 에이전트가 나중에 신규 플레이어를 코칭하거나 디자이너가 상상하지 못한 전략을 드러낼 수 있다고 덧붙였다. 이 기사 자체가 ML이 게임 내부뿐 아니라 게임 개발 순환에 속한다는 팀의 주장이었다.

근거 확인하기

출처

  1. Leveraging Machine Learning for Game Development Google AI Blog · ai.googleblog.com ·
  2. Leveraging Machine Learning for Game Development (Hacker News discussion) Hacker News · news.ycombinator.com ·