게임 디자인의 혁명, 모터 자동화된 게임 메커닉스

읽는 시간: 9 분
...

📝 원문 정보

- Title: Mortar Evolving Mechanics for Automatic Game Design
- ArXiv ID: 2601.00105
- 발행일: 2025-12-31
- 저자: Muhammad U. Nasir, Yuchen Li, Steven James, Julian Togelius

📝 초록

본 논문은 게임 메커니즘의 절차적 생성을 위한 새로운 접근 방식을 제안합니다. 이를 위해 Mortar이라는 시스템을 소개하며, 이 시스템은 대형 언어 모델(LLM)과 품질 다양성(QD) 알고리즘을 사용하여 다양한 게임 메커니즘을 진화시킵니다. Mortar은 진화된 메커니즘이 전체 게임의 질에 기여하는지를 평가함으로써, 메커니즘의 가치를 판단합니다.

💡 논문 해설

1. **메커니즘 진화 시스템**: Mortar은 대형 언어 모델(LLM)과 품질 다양성(QD) 알고리즘을 결합하여 다양한 게임 메커니즘을 생성합니다. 이는 마치 여러 종류의 씨앗을 혼합하고, 그 중에서 가장 잘 자라는 식물을 선택하는 과정과 같습니다.
  1. 메커니즘 평가 방법: Mortar은 각 메커니즘이 전체 게임에 얼마나 기여하는지를 측정합니다. 이를 통해 메커니즘이 플레이어의 능력을 정확하게 구분할 수 있는지 판단합니다. 이는 마치 선수들이 경기에서 어떻게 뛰었는지 보고, 그들의 실력을 평가하는 것과 같습니다.

  2. 새로운 적합도 측정 방법: Mortar은 Shapley 값에 기반한 새로운 측정 방법인 CITS를 도입하여 각 메커니즘이 게임의 질에 어떤 영향을 미치는지 평가합니다. 이는 마치 조각을 하나하나 분리해서 그들이 전체 그림에 어떻게 기여하는지를 보는 것과 같습니다.

📄 논문 발췌 (ArXiv Source)

maketitle 감사합니다 aketitle

들어가며

절차적 콘텐츠 생성(PCG)은 게임 디자인에 널리 연구된 접근 방식으로, 레벨, 맵, 아이템 및 이야기와 같은 게임 콘텐츠의 자동 생성을 목표로 합니다. PCG는 다양한 목적을 수행합니다: 루그라이크와 같은 게임에서 실시간 콘텐츠 생성을 지원하고, 디자이너에게 아이디어 도구를 제공하며, 반복적인 콘텐츠 생산을 자동화하고, 창의성과 설계 과정에 대한 연구를 용이하게 합니다. 전통적으로 PCG 연구는 게임의 구조적 측면—특히 레벨이나 레이아웃 생성—에 초점을 맞추었으며, 목표는 일관되고 해결 가능하며 다양한 환경을 만드는 것이었습니다.

반면, 게임 메커니즘—플레이어 간 상호작용을 통제하는 기본적인 규칙—의 절차적 생성에는 상대적으로 적은 관심이 있었습니다. 그러나 메커니즘은 플레이어 경험을 형성하는 핵심 역할을 합니다. 플레이어가 어떻게 행동하고, 어떤 전략과 부수 효과가 가능한지 결정합니다. 메커니즘 설계는 본질적으로 어렵습니다: 레벨처럼 해결 가능성이나 독창성을 통해 평가될 수 있지만, 메커니즘의 유효성은 게임 맥락 내에서 발생하는 동적에 따라 달라집니다. 이로 인해 생성과 평가는 더욱 어려워집니다.

이 연구의 핵심 전제는 게임 메커니즘을 평가하는 것이 자산이나 레벨 레이아웃을 평가하는 것보다 본질적으로 더 어렵다는 것입니다. 이러한 형태의 콘텐츠와 달리, 메커니즘은 고립된 상태에서 평가될 수 없습니다. 그 가치는 생성되는 게임플레이에만 의미를 부여받습니다. 독창적 또는 복잡해 보이는 메커니즘이 플레이어의 기술적인 상호작용을 지원하지 않는다면 여전히 흥미롭지 않을 수 있습니다. 이러한 인사이트는 우리의 접근 방식을 동기부여합니다: 효과적인 메커니즘 설계 자동화를 위해서는 생성 모델뿐만 아니라 게임 플레이 맥락에서 메커니즘의 유효성을 평가하는 체계적인 방법이 필요합니다.

우리는 이 도전을 해결하기 위해 게임 디자인에 대한 메커니즘 중심 프레임워크를 소개합니다. 핵심 아이디어는 메커니즘이 고립되어 진화되지 않고 전체 게임의 품질에 기여하는 방식으로 진화하도록 하는 것입니다. 구체적으로, 우리는 메커니즘을 완전한 게임 주변에 구성하여 평가하고, 결과적인 게임이 다양한 능력의 플레이어에게 기술적 순위를 부여할 수 있는지를 측정합니다. 이렇게 하면 메커니즘이 전체 표현성과 게임 내에서 나타나는 기술 경사도에 어떻게 기여하는지 명확하게 정의할 수 있습니다.

우리는 Mortar이라는 시스템을 소개합니다. 이 시스템은 대형 언어 모델(LLM)이 유도하는 품질 다양성(QD) 알고리즘을 사용하여 게임 메커니즘을 진화시킵니다. Mortar는 코드 조각으로 표현된 다양한 메커니즘 아카이브를 유지하며, LLM 주도의 유전 연산자로 변형되고 재결합됩니다. 각 진화된 메커니즘은 몬테 카를로 트리 검색을 통해 구성된 전체 게임 내에서 평가되며, 이는 아카이브에서 메커니즘을 조합하여 점진적으로 게임을 구축합니다. 이러한 게임들은 고정 세트의 에이전트에 대한 일관된 기술적 순위를 유발하는 능력을 기준으로 평가됩니다. 우리는 Shapley 값에서 영감을 얻은 새로운 적합도 측정 방법을 정의하여 메커니즘이 최종 게임의 기술적 순위에 어떻게 기여하는지 측정합니다.

우리는 Mortar이 생성된 게임의 품질과 플레이어 능력을 개선하는 다양한 게임 메커니즘을 진화시킬 수 있음을 보여줍니다.[^1] 결과적인 게임은 일관된 구조, 다양하고 의미 있는 상호 작용 패턴 및 기술적 경사도를 갖추고 있습니다. ablation 연구를 통해 트리 검색 기반 조합과 LLM 주도의 변이가 고급 메커니즘 생성에 중요함을 보여줍니다. 우리의 결과는 LLMs이 단순히 생성자뿐만 아니라 게임 설계 루프에서 평가자와 협업자가 될 수 있는 잠재력을 강조합니다. 기존의 게임 생성 작업과 비교하여 Mortar은 비디오 게임 생성에 LLM 주도의 품질 다양성 방법을 처음으로 적용한 시스템입니다. 이는 보드 게임 생성보다 크게 다른 문제이며, 도메인 특화 언어 없이 코드 공간에서 수행될 수 있음을 보여줍니다.

본 논문에서 설명된 시스템은 최고의 보완적인 게임 메커니즘을 어떻게 생성할지 이해하기 위한 연구 프로토타입입니다. 그러나 이는 또한 게임 디자이너에게 새로운 메커니즘과 메커니즘 조합을 제안하는 창조적 도구로도 활용될 수 있습니다. 완전한 게임을 생성하려는 목적이 아니라, 게임 디자이너를 지원하고 대체하기 위한 것입니다.

style="width:100.0%" />
Mortar의 흐름도

방법

Mortar은 대형 언어 모델(LLM)을 사용하여 코드 수준 변이 연산자를 구현하는 게임 메커니즘 생성용 유전 알고리즘이다. 이 방법의 핵심 원칙은 메커니즘이 제공하는 플레이가 그 가치를 결정한다는 것입니다; 메커니즘은 고립된 상태에서 평가되지 않고 전체 게임에 기여하는 정도로 평가됩니다. 우리는 이를 중요성이라는 개념을 통해 형식화하며, 이는 탐색 과정을 안내합니다.

진화 설정

Mortar은 고정 2D 아카이브를 사용하는 품질 다양성(QD) 알고리즘을 구현하여 다양한 게임 메커니즘을 저장하고 탐색합니다. 이를 메커니즘 아카이브라고 부릅니다. 각 메커니즘은 게임 클래스에 속한 파이썬 함수로 표현되며, 두 가지 행동적 기술자에 따라 아카이브에 배치됩니다:

  1. 메커니즘 유형: 게임플레이 행동을 가능하게 하는 범주형 기술자입니다. 우리는 8가지 메커니즘 유형(세부 사항은 섹션 3 참조)을 정의하며, 각 유형은 10개의 설명적 범주 단어와 연결됩니다. 진화된 메커니즘을 분류하기 위해 메커니즘 이름과 모든 범주 단어 간 유사도 점수를 계산하여 표준화된 유사도 벡터를 생성합니다. 메커니즘 유형은 가장 높은 유사도 점수의 인덱스를 식별하고 이를 점수에 곱하여 위치적 유사도 값을 결정하며, 이는 행동적 기술자로 사용됩니다.

  2. 코드 복잡성: 가중 추상 구문 트리(AST) 분석을 통해 계산됩니다. 우리는 메커니즘의 코드를 AST 표현으로 파싱하고 함수 호출, 할당, 반환 문의 가중 합으로 복잡성을 계산합니다. 함수 호출은 가장 높은 가중치를 받으며, 더 많은 함수 호출이 필요한 메커니즘이 더욱 복잡함을 나타냅니다. 할당은 추가 변수가 더 흥미로운 행동을 가능하게 할 수 있음을 반영하여 가중치를 부여합니다. 반환 문은 다양한 행동 결과를 생성할 수 있는 여러 출구 경로를 제공하므로 복잡성 측정에 기여합니다.

메커니즘은 아카이브에서 선택되어 몇 가지 LLM을 구현한 유전 연산자에 의해 수정됩니다: 변이는 단일 메커니즘에 새로운 기능을 추가하고, 다양성 변이는 세 개의 메커니즘을 샘플링하여 LLM에게 행동적으로 다른 변이를 생성하도록 요청하며, 교차는 AST 유사성을 기반으로 두 개의 메커니즘을 선택하여 양쪽 요소를 통합하는 기능적인 조합을 만듭니다. 그리고 호환성 변이는 게임에서 이미 있는 것들을 보완하는 메커니즘을 생성하며, 주로 게임 평가 단계(아래 참조)에서 사용됩니다.

게임 메커니즘 평가

진화된 각 메커니즘은 파이썬 클래스 내의 함수로 표현됩니다. 이를 평가를 위해 준비하기 위해 LLM에게 점진적으로 클래스를 구성하도록 요청합니다: __init__() 메서드에서 필요한 변수와 스케치를 정의하고, step 메서드에 행동을 추가하며, 필요에 따라 reset, render 메서드를 포함합니다.

메커니즘은 문법과 실행 오류를 테스트합니다. 오류가 발생하지 않으면 간단한 객체와 캐릭터로 구성된 정적 테스트 환경에서 시뮬레이션됩니다. 몬테 카를로 트리 검색(MCTS) 에이전트는 환경과 상호 작용하여 메커니즘이 기능적이며 비자명한지 확인합니다. 두 가지 테스트를 통과한 메커니즘만 유용성 평가 단계로 진행됩니다. 실패한 메커니즘은 불필요한 LLM 호출을 줄이기 위해 제거됩니다.

자동 게임 구성

메커니즘이 얼마나 유용한지를 평가하려면 그를 전체 게임 내에 포함시킵니다. 게임들은 MCTS를 통해 구성되며, 루트 노드는 진화된 메커니즘이고 각 확장은 아카이브에서 샘플링하거나 호환성 변이를 통한 생성으로 새로운 메커니즘을 추가합니다. 트리의 각 경로는 특정 메커니즘 조합 즉, 완전한 게임을 나타냅니다.

게임들은 공통 템플릿에 따라 파이썬 클래스로 구현되며, 핵심 메서드와 프리셋 변수가 포함됩니다. LLM은 필요한 경우 반복적으로 이러한 메서드를 수정하거나 기능을 추가하도록 요청받습니다. 또한 메커니즘에 필요한 보조 메서드나 변수 정의도 요청합니다. 이 과정이 끝나면, LLM에게 승리 조건을 정의하고 해당 조건에 맞는 종료 함수를 생성하도록 요청합니다. 또한 사전 정의된 세트에서 적절한 타일을 선택하고 캐릭터와 매핑하여 2D 문자 기반 레벨 레이아웃을 생성합니다. 마지막으로 어떤 타일이 이동 가능, 상호 작용가능 또는 캐릭터 특정인지 정의하는 함수를 포함시킵니다.

완성된 게임 스크립트는 게임 클래스와 타일 및 맵 생성 함수, 전체 게임을 인스턴스화하는 프리셋 함수를 포함합니다. 간단한 후처리가 수행되어 맵이 직사각형이며 정확히 한 명의 플레이어가 있으며 포맷팅 문제(예: 공백 패딩)가 없는지 확인됩니다.

게임 평가

우리 연구의 핵심 아이디어는 게임의 품질은 일관된 기술적 경사도나 게임 깊이를 통해 드러난다는 것입니다. 잘 설계된 게임은 능력이 다른 플레이어들을 의미 있게 구분해야 합니다. 이를 위해 고정 세트의 플레이어에 대한 스킬 순위를 어떻게 평가하는지 측정합니다. 이렇게 하면 게임이 단순히 플레이 가능하다는 것뿐만 아니라 기술을 보상하는지를 평가할 수 있습니다.

게임이 기술을 보상하는지 평가하려면 능력 수준이 다른 5개의 에이전트 집합을 고정합니다. 이에는 다양한 롤아웃 횟수를 가진 세 개의 MCTS 에이전트, 랜덤 에이전트 및 행동을 취하지 않는 에이전트가 포함됩니다.[^2] 이는 명확한 예상 기술 순위를 정의합니다: 가장 강력한 에이전트는 롤아웃 횟수가 많은 MCTS 변형인 반면, 중간과 낮은 롤아웃 에이전트, 랜덤 에이전트, 마지막으로 행동을 취하지 않는 에이전트가 있습니다. 결과 순위는 게임 플레이를 통해 경험적인 승률을 기록하여 유도됩니다. 예상 순위와 결과 순위 간의 일치를 측정하기 위해 Kendall’s Tau ($`\tau`$)라는 표준 상관 순위 측정 방법을 사용합니다: $`\tau = \frac{C - D}{\frac{p(p - 1)}{2}}`$. 여기서 $`C`$와 $`D`$는 각각 일치한 쌍과 불일치한 쌍의 수이고, $`p`$는 플레이어 수(이 경우 5)입니다. 두 플레이어 사이의 상대 순위가 예상 및 관찰된 순서에서 동일하면 일치하고 그렇지 않으면 불일치합니다. 값 $`1`$은 예상 순위와 완벽하게 일치함을 나타내며, $`0`$은 상관이 없음을, 그리고 $`-1`$은 완전히 반대된 순서를 나타냅니다. 게임이 플레이 불가능하다면 $`\tau = -1`$입니다.

$`\tau`$는 게임 품질에 대한 전반적인 측정을 제공하지만, 그 품질의 원천을 드러내지 않습니다. 이를 해결하기 위해 우리는 Shapley 값에서 영감을 얻은 Constrained Importance Through Search (CITS)라는 점수 방법을 도입하여 각 메커니즘이 기술적 경사도를 유발하는 데 얼마나 기여했는지를 측정합니다. 전체 하위 집합의 메커니즘에 대한 Shapley 값을 계산하면 지수적으로 증가하므로, 대신 CITS는 생성 중 탐색 트리에 대해 정의되어 계산이 가능하고 실제 게임 플레이 평가를 기반으로 합니다. 형식적으로, 메커니즘 $`i`$의 CITS 점수는 다음과 같습니다:

MATH
\begin{equation*}
\mathrm{CITS}_i = \frac{1}{|N_i|} \sum_{n \in N_i} \phi_i^{(n)},
\end{equation*}
클릭하여 더 보기

여기서 $`N_i = \{n \in T : i \in M_n, n \neq n_{root}\}`$는 트리 $`T`$에서 메커니즘 $`i`$를 포함하고 루트 노드가 아닌 모든 비루트 노드의 집합이고, $`M_n`$은 노드 $`n`$에 있는 메커니즘 집합입니다. 기여도는 제한된 탐색된 하위 집합을 통해 표준 Shapley 공식을 사용하여 계산됩니다:

MATH
\begin{equation*}
\phi_i^{(n)} = \sum_{S \subseteq M_n \setminus \{i\}} \frac{|S|! \cdot (|M_n| - |S| - 1)!}{|M_n|!} \cdot \Delta_i^{(n)}(S),
\end{equation*}
클릭하여 더 보기

여기서 기여도 항은 하위 집합 $`S`$에 메커니즘 $`i`$를 추가할 때의 차이로 정의됩니다:

MATH
\begin{equation*}
\Delta_i^{(n)}(S) = v_T(S \cup \{i\}) - v_T(S).
\end{equation*}
클릭하여 더 보기

마지막으로, 가치 함수 $`v_T(S)`$는 트리의 노드 $`m`$에 정확히 메커니즘 집합 $`S`$가 존재하는 경우 $`\tau_m`$ 점수를 반환하고 그렇지 않으면 0을 반환합니다:

MATH
\begin{equation*}
    v_T(S) = \begin{cases}
\tau_m & \text{if } \exists m \in T \text{ s.t. } M_m = S \\
0 & \text{otherwise}
\end{cases}
\end{equation*}
클릭하여 더 보기

이 탐색 제약 Shapley 접근법은 메커니즘이 실제 발견된 게임 디자인 내에서의 기여를 측정함으로써 메커니즘 가치를 맥락에 따라 평가할 수 있게 합니다. 따라서 CITS 점수는 개별적인 메커니즘에게 게임 플레이 품질을 근거 있고 해석 가능하며 효율적으로 할당하는 방법입니다.

실험 설정

Mortar은 2D 품질 다양성(QD) 아카이브를 사용하여 메커니즘 유형(0-1.0), 코드 복잡성(4-40) 차원을 포함하며, 이는 13 $`\times`$ 13 그리드를 형성합니다. 첫 번째 차원은 이동, 상호 작용, 전투, 진행, 환경, 퍼즐, 자원 관리, 탐험, 시간 조작 등으로 메커니즘을 구분합니다. 메커니즘 분류는 DistilBERT 임베딩을 사용하여 메커니즘 함수 이름과 관련 범주 단어 간의 유사도를 계산함으로써 수행됩니다(세부 사항은 부록 10 참조). 복잡성 차원 및 아카이브 범위는 실험을 통해 최대한의 아카이브 커버리지를 확보하기 위해 결정되었습니다.

시스템은 배치 크기 10으로 작업하며, 아카이브에서 개체를 선택하고 연산자를 병렬로 적용합니다. 연산자 선택 확률은 다양성 변이가 50%, 변이가 30%, 교차가 20%입니다. 다양성 변이는 세 가지 메커니즘을 샘플링하며, 교차는 AST 유사성을 기반으로 쌍을 선택합니다. 고립된 상태에서 진화된 메커니즘을 평가하기 위해 사용되는 정적 환경은 부록 <a href="#appendixA" data-reference-type=" # Limit to 15k chars for stability


📊 논문 시각자료 (Figures)

Figure 1



Figure 2



Figure 3



Figure 4



Figure 5



Figure 6



Figure 7



Figure 8



Figure 9



Figure 10



Figure 11



감사의 말씀

이 글의 저작권은 연구하신 과학자분들께 있으며, 인류 문명 발전에 공헌해주신 노고에 감사를 드립니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키