「MarioGPT: Open-Ended Text2Level Generation through Large Language Models」を読んだメモです。
ABSTRACT.
MarioGPT は、GPT-2 をファインチューニングしたモデルとのこと。
2.BACKGROUND AND RELATED WORK
2.2.NEURAL NETWORK-BASED LEVEL GENERATION
先行研究では、生成したステージをプレイ可能か別途 AI エージェントでテストしていた模様。 MarioGPT はプレイ可能か(つまり、ゴールできる道があるか)も同時に生成するためその点で有利。
3.OPEN-ENDED LEVEL GENERATION THROUGH LLMS
3.1.LEVEL REPRESENTATION
Video Game Level Corpus (VGLC) という、色々なゲームのステージをテキストにしたデータセットがあるとのこと。
https://github.com/TheVGLC/TheVGLC
例えばこんな内容。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------E-----------------------------------------------------------------------------------------------------------------------
----------------------Q---------------------------------------------------------SSSSSSSS---SSSQ--------------?-----------SSS----SQQS--------------------------------------------------------XX------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XXX------------
-------------------------------------------------------------------------------E----------------------------------------------------------------------------------------------------------XXXX------------
----------------------------------------------------------------S------------------------------------------------------------------------------------------------------------------------XXXXX------------
----------------Q---S?SQS---------------------<>---------<>------------------S?S--------------S-----SS----Q--Q--Q-----S----------SS------X--X----------XX--X------------SSQS------------XXXXXX------------
--------------------------------------<>------[]---------[]-----------------------------------------------------------------------------XX--XX--------XXX--XX--------------------------XXXXXXX------------
----------------------------<>--------[]------[]---------[]----------------------------------------------------------------------------XXX--XXX------XXXX--XXX-----<>--------------<>-XXXXXXXX------------
---------------------E------[]--------[]-E----[]-----E-E-[]------------------------------------E-E--------E-----------------EE-E-E----XXXX--XXXX----XXXXX--XXXX----[]---------EE---[]XXXXXXXXX--------X---
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--XXXXXXXXXXXXXXX---XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ソース: https://github.com/TheVGLC/TheVGLC/blob/master/Super%20Mario%20Bros/Processed/mario-1-1.txt
すごい…
3.2.MARIOGPT MODEL
MarioGPT のモデルには
no pipes, many enemies, low elevation
といったプロンプトを入力にするとのこと。
3.3.OPEN-ENDED MARIO LEVEL GENERATION WITH NOVELTY SEARCH
生成したステージをブラッシュアップするような処理をしている模様。
かなり色々工夫してるようだが、一旦読み飛ばした。
4.EXPERIMENTS AND RESULTS
4.1.RECONSTRUCTION AND SAMPLING QUALITY
(2) Measuring Playability of Levels:
「Mario AI framework」を使ってプレイ可能かテストした模様。 そして、ほとんどのケースでプレイ可能だったとのこと。
https://github.com/amidos2006/Mario-AI-Framework
Mario AI framework は、商用利用はできなそう。
感想
Video Game Level Corpus (VGLC) や Mario AI framework など、面白いキーワードを見つけられてよかった。
GPT-3.5 や GPT-4 なら、ファインチューニングなしでもステージを作らせることができそう。 ただ、作ったステージをブラッシュアップさせるような工夫は必要になるのかもしれない。