カテゴリー
研究

プログラミングコンテスト”ALGORI”決勝大会参加

学部3年生の佐藤岳大が、カードゲーム「UNO」をプレイするプログラミングコンテストALGORIに参加し、2023年3月25日開催の決勝戦に進出しました。

予選リーグでは安定した高得点を獲得して決勝大会に進出しましたが、準決勝Bブロックで惜しくも敗退しました。

作成したエージェントの詳細については、後日研究報告を行う予定です。

カテゴリー
研究

現実世界のデータを利用してMinecraftで「自然な」街を自動的に生成する

2023年3月5日~9日に開催された「第15回データ工学と情報マネジメントに関するフォーラム(DEIM 2023)」において、修士2年の栗原司が、「実世界地理情報を利用したプレイヤが自然に感じるMinecraftマップ上の土地利用の試み」の研究発表を行いました。

  • 栗原 司, 横山 大作, 実世界地理情報を利用したプレイヤが自然に感じるMinecraftマップ上の土地利用の試み, 第15回データ工学と情報マネジメントに関するフォーラム(DEIM 2023), 5b-1-1, 2023.3.5. (PDF)

現実世界のデータを利用してMinecraftで「自然な」街を自動的に生成する

ゲームに関する研究というと、世界で初めて人間のプロ囲碁棋士に勝利した「AlphaGo」のように、誰かと対戦するコンピュータプレイヤの研究を思い浮かべる人が多いかもしれません。しかし、「ゲームをプレイする」のではなく「ゲームを作る」ことに焦点を置いた研究も盛んに行われているのです。例えばゲームに登場するマップやキャラクターを自動的に生成する、難易度を自動的に調整するといったゲーム制作の効率化を目的とした研究があります。このようなゲームのコンテンツを自動的に生成する手法はProcedural Content Generation (PCG)と呼ばれています。PCGはこれまで人の手で行われていた作業を自動化し、ゲームのクオリティを下げることなく開発者の負担を軽減する技術として注目されています。

PCGを取り入れたゲームは既に数多く存在しており、Minecraftもその1つです。Minecraftは現実世界を模した気候帯(バイオーム)が存在するマップを舞台に、立方体のブロックを自由に配置・編集して建築や街づくりを楽しめるゲームで、任意のシード値から自動的にマップを作成する機能を備えています。これによりプレイヤは手作業では到底作れない無数のマップで遊ぶことができるわけです。

このマップ上にはNPC(コンピュータが操作するキャラクター)が住む街も自動的に生成されます。しかし、一定範囲内にランダムに建造物を配置するというシンプルな手法で生成されるので、バイオームが変化しても街の構造は変化しません。そのためプレイヤが既視感・違和感を感じる面白みのない街になってしまいます。

そこで人間の居住地は周囲の気候に適応している点に着目し、実世界の土地利用に基づき、構造物を配置する場所を決定することで、プレイヤが「自然である」と感じられる街の生成を目指して、地球上の土地利用メッシュデータとバイオームを比較して計測した類似度を用いて、農地(畑)と都市(家・その他の施設)に適した場所の推定を試みました。

推定手法に用いることで河川を考慮した自然な街を生成することができました。またバイオームごとに街の構造が変化しており、プレイヤに既視感を感じさせにくくなりました。

「視点」から見た推定手法を用いて生成された街の景観
農地(畑)と都市(家・その他の施設)に適した場所の推定結果

一方でマップによっては農地や都市に適した場所が見つからず、街を生成できない場合があります。例え現実に則した推定結果だとしても「現実ではこの気候環境の地域に人間は住んでいないから、ゲームでも街は作らない」のではプレイヤは面白くありません。そのため今後は現実世界の土地利用状況に基づいた推定手法の中に、プレイヤを楽しませるための「嘘」をどの程度混ぜるのかを模索していく必要があると考えています。

カテゴリー
研究

General Game Playing における 類似盤面を利用したモンテカルロ木探索性能向上の試み

2022年11月11日~13日に開催された第27回ゲームプログラミングワークショップ(GPW-22) において、修士2年の上宮佳晃が、「General Game Playing における一般性の高い類似盤面利用手法の検討」の研究発表を行いました。

  • 上宮 佳晃, 横山 大作, General Game Playing における一般性の高い類似盤面利用手法の検討, 第27回ゲームプログラミングワークショップ(GPW-22), 5-1, 2022.11.12. (PDF)

General Game Playingとは?

近年、囲碁や将棋といったボードゲームでは、研究の発展によってプロをも超える実力を発揮できるゲームAIが開発されています。その一方で、このようなゲームAIは扱うゲームに特化した設計がなされている場合が多く、瞬時に他のゲームをうまくプレイすることができません。この課題に対してGeneral Game Playing(GGP)では、初見のゲームに対してそのゲームのルールを与えるだけで、上手にプレイできるゲームAIの実現を目指します。迷路のような1人用ゲームからチェスや将棋といった対戦ゲーム、chinese checkersのような多人数ゲームなど、人数や指し手の規模を問わずに様々なゲームをプレイするため、ゲーム固有の知識や技術に頼ることなく、汎用的なプログラムの設計が求められます。

研究のアプローチ

GGPの研究では汎用的に勝率を上げるゲームAIを構築するために、扱うゲームの正確な評価関数を必要としないモンテカルロ木探索(MCTS)の活用が主流となっています。MCTSでは繰り返し自己対戦を行うことで、ゲーム展開の記録を木のような構造で保存していき、そのシミュレーションの結果から最善だと思われる次の一手を選択するアルゴリズムです。私の研究では、類似する盤面からは同じ勝敗が期待できると考え、MCTSのシミュレーションの過程で類似盤面を活用して、少ないシミュレーション回数でも十分な探索ができることを試みました。