プレミアム

PAPER-DIGEST · 2026-09-02

Elshamy ら: プレイヤーの腕前を見て、面そのものを描き換える — Fukai が読む

動的難易度調整 / レベル構造の自動書き換え

一段落要約

腕前は人によって違う。同じ面が、ある人には歯ごたえになり、別の人には壁になる。だからゲームは昔から難易度を選ばせてきた。けれどその設定を聞かれるのは、たいてい遊び始める前の一度だけだ。途中で上達しても、疲れて落ちても、足元の地形は変わらない。

エジプト日本科学技術大学(E-JUST)の Ahmed A. Elshamy らが組み立てたのは、こういう仕組みだ。遊んでいる最中の動きから、その人の腕前を判定する。そのうえで、いま目の前にある面の地形そのものを書き換える。敵を固くしたりアイテムを増やしたりするのではない。床・すき間・敵の位置を並べ替える。

腕前の判定の正解率は 97.82%。書き換えた区画を元の面に戻して通しで確かめたところ、最後まで通れたのは 74.1% だった。手を加えていない元の面の 80.0% には少し届かない。ただこの論文で目を引くのは数字そのものより、腕前を読む部品と面を書き直す部品を一本の流れにつないだ構成のほうである。

はじめに — 誰が、どこに書いた論文か

著者は Ahmed A. Elshamy、Hazem N. Aliedin、Shehab T. Shaban、Moaaz H. Aldakar、Ahmed B. Zaky の5人。全員がエジプト・アレクサンドリアのエジプト日本科学技術大学(E-JUST)の所属で、最後の Zaky はベンハ大学工学部(Shoubra)も兼ねている。

掲載先は Scientific Reports 第16巻、論文番号 23489。公開は 2026年7月28日で、査読を通った公開論文である(DOI: 10.1038/s41598-026-63084-z)。arXiv に置かれただけの原稿ではない。誰でも本文と図を最後まで読める。この点は先に書いておきたい。

私がこれを今日選んだ理由は単純だ。難しさを自動で合わせる話が、長いあいだ「つまみの調整」に閉じてきたからである。敵を固くする。出現数を増やす。回復薬を減らす。どれも数値の上下で、プレイヤーが歩く地面の形は動かない。地面の側に手を入れる筋の研究がどこまで来たのか、確かめておきたかった。

背景 — つまみは回せても、地面は動かない

難易度の選択肢は、遊ぶ前に一度だけ差し出される。著者らはこれを「粗く、融通が利かない」と書く。セッションの途中で調子が変わっても、それを拾い上げる口がどこにも無い、という指摘である。

そこで登場したのが動的難易度調整(Dynamic Difficulty Adjustment。遊んでいる最中に難しさを自動で上げ下げする仕組み。以下 DDA)だ。ただし著者らの整理によれば、既存の DDA の多くは低い層の数値を触るにとどまる。敵の体力・出現頻度・アイテムの出やすさといった値だ。

結果どうなるか。論文の言い方を借りれば、プレイヤーの腕前がどうであれ「空間的・移動的な体験はほとんど変わらないまま」になる。数字は変わったのに、通る道は同じ。手強さは動いても、風景は動かない。

一方、面を自動で作る技術は別の系統で進んできた。PCG(Procedural Content Generation、コンテンツの自動生成)である。ただ著者らは、こちらにも穴があると言う。生成が単独の工程として回っていて、目の前のプレイヤーの動きを条件として受け取る口が無いのだ。この2本を1本につなぐこと。それがこの論文の狙いである。『Levelhead』のスクリーンショット『Levelhead』(Butterscotch Shenanigans, 2020)。面を作って配る仕組みを備えた横スクロール作品。画像は Steam ストアページのスクリーンショット。

アプローチ — 走りを読む、指示書を書く、通れるか確かめる

舞台は『スーパーマリオブラザーズ』の面だ。正確には VGLC(Video Game Level Corpus)という研究用のデータ集に入っている同作の 15 面で、面はマス目の並びとして表される。空白、地面、コイン、敵といった要素が、1マス1文字で書かれている。

腕前を判定するには、腕前の違う走りの記録が要る。著者らはまず PPO(Proximal Policy Optimization。強化学習——試行錯誤しながら報酬の高くなる行動を学ぶ枠組み——の代表的な手法のひとつ)で3体のエージェントを育てた。上級は30万ステップ、中級は10万ステップ、初級は2万ステップ。学習量そのものを差にしている。

そこに人間のプレイも足す。ただし自然に遊んだ記録ではなく、「上級らしく」「初級らしく」を意識して演じてもらった記録だ。集まった 8,072 件を k平均法(k-means。データを指定した数の塊に分ける手法)で3つに割り、横方向の平均速度が速い塊を上級、遅い塊を初級と対応づけている。

判定器には XGBoost(小さな決定木をたくさん重ねて予測する手法)を使う。入力は速度、ゴールまでの距離、落下距離、接地しているか、敵との近さなど12個の数値。プレイ中5秒ごとに1件記録され、その場で上級・中級・初級のどれかに振り分けられる。

判定が出たら、面の書き換えに移る。ここで大規模言語モデル(LLM)を2段重ねで使うのが本論文の工夫だ。1段目は「初級向けに安全な道を作れ」といった短い指示を受け取り、守るべき制約と目的を並べた作業指示書に膨らませる。2段目がその指示書を読み、いま遊んでいる区画のマス目を書き直す。使われたモデルは Mistral AI の Devstral Medium。腕前ごとに2種類ずつ、計6種類の指示が用意された。

書き直した面が通れなくなっては元も子もない。だから最後に検査が入る。通れるマスを点、歩く・落ちる・跳ぶで移れる関係を線として、面全体を地図に変える。そこにダイクストラ法(出発点から各点までの最短の道を求める古典的な手順)をかけ、入口から出口まで道が残っているかを確かめる。跳べる高さと距離には、横スクロールの物理を簡単にした制限がかけてある。

発見 — 判定はよく当たり、通れる割合は元の面とほぼ並ぶ

まず腕前の判定から。全体の正解率は 97.82%。3つの段階すべてで F1(取りこぼしと誤検出の両方を見る指標)が 0.98 と報告されている。取り違えは少なく、あっても隣り合う段階どうしに収まっていた。

ただし人間データを3つに割ったときの分かれ具合を測る値(シルエット係数)は 0.189 と低い。1に近いほどきれいに分かれている、という指標である。著者らはこれを想定内としている。腕前はもともと、きっぱり3つに割れる性質のものではないからだ。

本題の書き換えはどうか。6種類の指示 × 15面で 90 回試し、そのうち 85 区画が出力まで到達した。書き換えた区画を元の面に戻して通しで検査すると、通れたのは 85 のうち 63、割合にして 74.1%。区画だけを切り出して検査した場合は 85 のうち 71 で 83.5% だった。

比べる相手は、手を加えていない元の面だ。15面のうち検査を通ったのは12面で 80.0%。著者らはこの 80.0% に「近い」と書いている。ここで一度立ち止まりたい。元の任天堂の面ですら、5面に1面は「通れない」と判定される検査なのである。数字を読むときは、この物差しの癖を頭に置いておきたい。

面の形が本当に腕前ごとに変わったのかも測られている。使われた物差しは3つ。寛容さ(Leniency。報酬と危険の差し引き)、地形の凹凸(Topographical Roughness)、操作の密度(Action Density)である。3群の差はいずれも統計的に有意だった。ただし中級と上級のあいだだけは、寛容さ(p = 0.502705)と操作の密度(p = 0.218674)で差が出ていない。差が出たのは凹凸(p = 0.026319)だけだ。著者らはその理由を、上級向けの指示が要素の総数を増やすのではなく危険の固まりと地形の乱れを狙っているからだ、と説明している。

使いどころ — 全部を真似する必要はない

では作る側は何を持ち帰れるか。この論文がありがたいのは、部品ごとに切り離して使えるところだ。パイプライン全体を組む体力が無くても、拾える部品がある。

1つ目。難易度のつまみを、地形の側に一本足す。横スクロールのアクションを作っているなら、敵の体力に手を伸ばす前に試したいことがある。「すき間を1マス広げる/狭める」と「足場を1段ずらす」の2つだ。この論文が使った3つの物差し——寛容さ、凹凸、操作密度——は、そのまま自作の面を採点する道具になる。手で作った面を並べて数えるだけでも、自分の癖が見える。

2つ目。書き換えの後段に、必ず「通れるか」の検査を置く。ここが本研究のいちばん実務的な部分だと思う。言語モデルに面を書かせるなら、出力の1〜2割は壊れると見込んでおく。マスを点、移動を線とみなした最短経路の検査は、パズルでも同じ形で書ける。ソコバン風なら「箱を押して出口に届く並びが残っているか」、鍵と扉の面なら「鍵を取れる順序が残っているか」を同じ枠で確かめられる。『Super Meat Boy』のスクリーンショット『Super Meat Boy』(Team Meat, 2010)。すき間と危険の密度で難しさを組み立てる系譜の代表作。画像は Steam ストアページのスクリーンショット。

3つ目。プレイヤーの分類は、粗くてよい。この研究は上級・中級・初級の3段階しか作っていない。それでも書き換えの向きを決めるには足りている。遺伝的アルゴリズムでちょうどいい難しさのパズルを生成する研究のように連続値で狙う手もあるが、まず3段階から始めるほうが、検査もログの読み解きも楽だ。

4つ目。「腕前のラベルを貼る」より「腕前の違うプレイを作る」。この研究は、学習量を変えた AI を3体走らせて教師データを用意した。人手でラベルを貼る代わりに、下手なボットをわざと作る。リプレイの蓄積が無い個人開発でも真似しやすい順序である。テスターを集める前に、まず自分のゲームを下手に遊ぶ AI を1体用意する、と考えるとよい。

限界 — 著者が認めている点と、私が気づいた点

著者自身が認めている弱点は少なくない。人間のプレイは自然な遊びではなく腕前を演じてもらった記録であり、上級・初級の割り当ては横方向の速度という1つの特徴に頼っている。速さが腕前を表さない場面では、この対応づけは崩れる。分類の精度も、この演技データがどれだけ現実を代表しているかに依存する、と著者らは書いている。

通れるかの検査も、実際に動かして確かめる方式ではなく、規則で判定する静的な道具だ。著者らは「本当は通れるのに通れないと判定する」誤りが起きうるとし、報告した2つの割合はやや低めに出ている可能性が高いと述べている。評価が『スーパーマリオブラザーズ』の面だけに閉じている点も、限界として挙げられている。他の横スクロール作品に移せるかは未検証だ。

Fukai がここで指摘するのは、まず 97.82% の読み方だ。学習データの多くは、学習量を30万・10万・2万と意図的に離して作ったエージェントの走りである。離して作ったものが離れて見つかるのは、驚きが小さい。この数字は「野生のプレイヤーの腕前が98%当たる」ではなく、「後段を動かすには十分きれいな信号が取れている」と読むのが安全だと考える。

もう一点。この研究には、遊んだ人が「面白くなった」と答えた記録が一件も無い。測られたのは通れるかどうかと、形の統計だけだ。著者ら自身も、今後の課題に人を対象とした実験を挙げている。加えて、5秒ごとに目の前の区画が書き換わるということは、プレイヤーが自分の進む先の描き換わる瞬間に立ち会うということでもある。それが気配りに見えるか、干渉に見えるかは、まだ誰も測っていない。

Fukai の読み

私はこの研究を、PCG が「面を作る技術」から「面を直す技術」へ重心を移していく流れの中に置いて読みたい。白紙から一面を生み出すより、すでにある面の一区画を条件付きで書き換えるほうが、壊れ方が小さく、検査もしやすい。そしてこの論文の骨格を実際に支えているのは、言語モデルではなく後段の検査器のほうだと私は読む。言語モデルは自由に書き、ダイクストラ法が「通れるものだけ」を通す。設計批評の語彙で言えば、これは創作の自動化というより校正の自動化に近い。だとすれば、パズル作りにいちばん移植しやすいのも、書く側ではなく通す側の設計だということになる。

おわりに

もっと深く知りたい人へ。同じ「難しさを自動で合わせる」でも、McConnell と Zhao の遺伝的アルゴリズムによるパズル生成は、腕前の推定を挟まずに探索そのもので狙いに寄せる。対照的な設計として並べて読むと、この分野の地図が見えやすくなる。

同じ「面をどう扱うか」の棚には、ほかにも本がある。面の「順番」が持つ効果を測った Ponnock と Ho のマリオ 1-1 の研究。プレイヤーが投稿した面を機械が下読みする Gao と Dubé の分類器。本論文は Scientific Reports で誰でも全文が読める。図を眺めるだけでも、書き換え前後の違いは十分に伝わるはずだ。

参考文献

本記事で参照した論文と関連資料:

Adaptive level modification via player skill classification and large language models (Elshamy, Aliedin, Shaban, Aldakar & Zaky, 2026, Scientific Reports 16, 23489)

DOI: 10.1038/s41598-026-63084-z

・使用データ: The Video Game Level Corpus (VGLC)

リアクション(ログイン不要)

匿名で残せます • 同じリアクションは1日1回まで

関連シリーズ

論文ダイジェスト第74回 / 全74回

次に読む

関連レビュー

編集部からのおすすめ