[GDC24] QA인력이 제한된 상황, AI의 도움을 받는 방법

게임뉴스 | 김규만 기자 |


▲ 정선우 로드컴플릿 머신 러닝 엔지니어

샌프란시스코에서 진행중인 게임 개발자 컨퍼런스(GDC) 2024 3일차에는 국내의 게임 기업 로드컴플릿이 마련한 인공지능 강연이 마련됐다. 연단에 오른 정선우 머신 러닝 엔지니어는 QA인원이 제한된 소규모 팀에서, 머신 러닝를 활용해 게임을 다각도로 테스트할 수 있었던 사례를 참관객과 공유했다.

사례는 로드컴플릿에서 개발한 로그라이트 핵앤슬래시 액션 게임, '프레임 암즈 걸: 드림 스타디움'이었다. 해당 게임은 다양한 종류의 캐릭터와 장비, 아이템 등을 제공하는 만큼 모든 액션의 조합과 캐릭터 별 스테이지 난이도, 장비와 아이템 밸런싱 등을 일일이 테스트하기에는 버거운 프로젝트였다.

정선우 엔지니어에 따르면, 프레임 암즈 걸을 개발하는 인원은 40여 명으로 구성됐지만, 이 중 풀타임으로 QA를 수행하는 인력은 2명 내지 3명 정도밖에 되지 않았다. 이처럼 팀이 제한적인 리소스만을 가지고 있는 상황에서, 플레이어의 높은 수준의 기술에 대응하는 봇을 손수 스크립팅하는 것 또한 한계가 있었다는 것이 그의 설명이다.




그래서 선택한 방법이 머신러닝을 활용한 봇으로 자동화된 플레이테스팅 환경을 구축하는 것이었다. 정선우 엔지니어는 이를 통해 빠르고, 수치화 가능한 테스트를 진행할 수 있으며, 일일이 사람의 손을 거쳐 스크립트를 짤 필요성도 줄어들게 된다고 전했다. 또한, 베이스 모델과 함께 특정 상황, 캐릭터에 맞춤화된 모델을 함께 활용함으로써 직접 스크립트할 때보다 창의적이고, 다양한 플레이스타일에 대응하는 테스트 환경도 갖출 수 있는 장점도 가지고 있다.

그렇게 시작한 머신러닝 플레이테스팅의 목표는 먼저 학습을 통해 AI 테스터를 준비하고, 여러 전투 스테이지 시나리오를 준비한 뒤, AI 테스터 해당 스테이지를 클리어하는 데서 발생하는 데이터를 획득하는 것이었다. 테스터 AI는 캐릭터의 특징에 관계 없이 보편적으로 활용할 수 있는 베이스 모델을 먼저 준비하며, 이를 보다 특화된 모델을 학습시키는 기반으로 활용했다. 이러한 베이스 모델을 활용하는 것은 특화 모델을 훈련시키는 대비 시간이 덜 들면서도, 이후 단계에서 효율성을 가져갈 수 있다는 것이 그의 설명이다.

에이전트 학습에 활용하는 환경 또한 중요했다. 수없이 많은 테스트를 진행할 필요가 있었지만, 이 또한 워크스테이션이 충분하지 않은 소규모 개발팀에게는 부담으로 다가올 수 있는 문제다. 프레임 암즈 걸의 경우 평소에는 로컬 환경으로 갖춰진 2 대의 딥러닝 워크스테이션으로 충분했으나, 긴급하게 빠른 테스팅이 필요할 때에는 클라우드를 활용할 수밖에 없었다. 다만, 시간당 4에서 5달러 선에서 트레이닝 세팅을 맞추는 것, 그리고 모델을 컴파일하고 파이토치의 컴파일 기능과 CUDA 그래프를 사용한 동적 배칭으로 클라우드 서버의 처리 능력을 극대화하고 비용을 효율화하는 것이 가능했다.




뿐만 아니라 수많은 상황 속 다양한 캐릭터들의 전투를 테스트하기 위해서는 '블루프린트' 또한 중요한 역할을 했다. 블루프린트는 초기 상태의 전투 시나리오를 대표할 수 있는 것으로, 월드의 종류나 적의 수, 플레이어 캐릭터 유형, 난이도, 장비, 아이템 등과 같은 일련의 간소화된 매개변수를 뜻한다. 블루프린트는 AI 테스터가 테스트할 전투 시나리오를 정의하는 데 활용된다.

이러한 블루프린트를 효과적으로 활용하기 위해서는 랜덤한 블루프린트를 생성할 수 있는 능력이 필요했다는 것이 정선우 엔지니어의 설명이다. 그러나 생성된 환경이 지나치게 높은 난이도를 갖거나, 사람이 수행할 수 없을 정도의 기술을 요구하지는 않는, 플레이 가능한 상태를 유지하는 것이 핵심이다.

QA 인력이 수행하는 테스트와 AI 테스터가 수행하는 과정과 목표를 따로 두는 접근법에 대해서도 설명했다. QA인력은 주로 게임 전체의 기능 테스트나 버그를 식별하는 것을 목표로 테스트를 진행한다면, 자동화 AI 테스트는 전투 통계 분석과 설계를 주된 목표로 했다. 정선우 엔지니어는 디자인 팀으로부터 특정 테스트 요청이 없는 기간 동안에는 버그 발견을 위해 무작위 플레이 테스트를 계속 실행하거나 연구를 진행했는데, 이는 게임 초기 출시 기간 동안 잔존해 있던 버그를 발견하는 데 큰 도움이 되었다고 덧붙였다.




마지막으로 정선우 엔지니어는 리소스가 제한된 상황에서 자동화 테스트 환경을 구축하며 얻은 경험을 바탕으로, 몇 가지 교훈과 팁을 공유하기도 했다.

첫 번째는 특화된 에이전트를 활용해 빠른 반복 과정을 진행하는 것이다. 더 큰 모델과 긴 훈련 기간을 요구하는 모델 대신, 특정 범위의 시나리오에 특화된 모델을 훈련시키는 것은 비용을 효율화하고, 자동화된 테스트 환경에서 빠른 반복이 가능하도록 돕는다.

안정적인 R&D 브랜치와 그렇지 않은 R&D 브랜치를 분리하는 것도 중요하다. 두 가지 제작 브랜치에서 모델을 훈련하는 것은 각각의 장단점을 지니는데, 게임의 신규 업데이트를 앞두고 최신 변경 사항이 적용된 환경에서 훈련을 진행할 경우 게임 내 버그를 조기에 발견할 수 있다.

원-핫 인코딩은 범주형 데이터를 나타내는 데 결정적인 사항이지만, 디자인이 변경될 경우 이전 모델이 더 이상 쓸모없게 될 가능성이 있다. 여기에 대해 정선우 엔지니어는 각각의 코딩 벡터에 여분 슬롯을 추가해 임시적인 해결책으로 삼을 것을 조언했다.

한편, 이러한 방법을 통해 성공적으로 테스트 환경을 구축한 로드컴플릿은 현재 이러한 접근법을 개발중인 게임들에도 확장할 계획을 가지고 있다.






댓글

새로고침
새로고침

기사 목록

1 2 3 4 5