関西地区

教育システム情報学会 2023年度学生研究発表会

ぷよぷよにおける盤面状態による窮地状態検出
Detection of Predicament Based on Board Status in Puyo Puyo
田中 一*1, 越智 洋司*2
Hajime TANAKA*1, Youji OCHI*2*1 近畿大学大学院総合理工学研究科*1Graduate School of Science and Engineering, Kindai University*2 近畿大学情報学部，近畿大学情報学研究科*2Faculty of Information, Kindai University / Cyber Informatics Research Institute, Kindai University
Email: ochi@info.kindai.ac.jp
あらまし：ゲームでの窮地な状態は，ユーザーが焦る状態である．この時にユーザーは焦り，操作ミスや勘違いなどが発生する可能性がある．そのような状態が検出されて，ユーザーに的確な支援を行えばよりスムーズにプレイできると考える．本研究では，落ちものパズルゲームである「ぷよぷよ」を対象に，ユーザーがプレイすることで，プレイ中の盤面，操作履歴をもとに窮地な状態を検出するシステムの実装を行う．
キーワード：ぷよぷよ，窮地状態検出，盤面状態

1.

フォームが存在し，Python で実装した．ゲームプレ
イ画面は，Tkinter で作成した．解析結果では，UI をPySimpleGUI で作成し，Matplotlib や OpenCV を用いて，グラフ（盤面の密集度合いのグラフ，操作履歴の棒グラフ）やぷよぷよの盤面状態図を作成した．
ゲームプレイでは，３回プレイすることができる．
まず 1 回目を行ってから分析し，どの部分が窮地だったかを検出する．その検出と１回目のスコアを考慮して，ユーザーに適した難易度を推薦して，２回目以降プレイすることができる．以下に推薦内容を示す．
(1) １回目と同じ状態
ゲーム上級者には，推薦内容がなく，2 回目，3 回目とゲームプレイすることが可能である．
(2) ぷよの落下スピードを変えるゲーム中級者には，ぷよの落下スピードを減速してゲームプレイすることが可能である．
(3) ぷよの色の数を減らす
ゲーム初心者には，リアルタイムでゲームが進行していくので，「ぷよの色の数を 1 色減らす」と(2)を併用してゲームプレイすることが可能である．

はじめにスキル向上を試みるとき，嫌になる状態では，スキルも向上しないだろう．一方，楽しみながら行うとスキル向上も期待できるだろう．そこで，ゲーム的な要素を取り入れることでユーザーが楽しみながら，フィードバックし，スキル向上を試みる．また，昨今のゲームは複雑なものが多いため，フィードバックする際はコンピュータによる補助が効果的になると考える（1）．本研究では，落ちものパズルゲームとして二十年以上愛されている「ぷよぷよ」を対象に，初心者が連続消滅や長くプレイできるように，プレイ履歴を分析し，窮地状態をユーザに振り返らせ，窮地状態を回避させるための支援を導入することで，プレイスキルを上達させることを目的とする．

2.

システム仕様2.1 ぷよぷよ「ぷよぷよ」（セガ，コンパイル，1991）は落ち物パズルゲームである．本研究では，横 6 列縦 12 行のフィールドに，「ぷよ」と呼ばれる色ブロックを設置する．ぷよは，2 つ 1 組の「組ぷよ」として，フィールド上からランダムに生成され，フィールドに落としていくことでゲームが進行していく．生成地点にぷよが設置され，ぷよを生成することができなくなった時点でゲームが終了する．同じ色のぷよが 4 つ
以上隣接すると，そのぷよは消滅し，得点を獲得できる．また，消滅したぷよよりも上に設置されているぷよは，消滅によってできた空きマスを埋めるように落下する．これによって，新たに消滅条件が整ってぷよが消滅することを「連鎖」と表現する （2）．

3.

3.2 システム実装機能
3.2.1 ぷよぷよの盤面状態記録
落下するぷよがフィールドの底に達した場合，あるいは，元からフィールド上にぷよが存在した場合その上に落下するぷよがきた場合に，盤面の状態を記録することで，一連のプレイを記録することができる．この記録データをもとに，ゲームプレイ画面で一連の盤面の状態図を確認することができる．
3.2.2 解析機能

システム実装解析機能では，密集度合いのグラフと操作履歴の棒グラフを閲覧することができる．密集度合いのグ

3.1 システム概要
本システムはゲームプレイ画面と解析結果の 2 つ93

関西地区

教育システム情報学会 2023年度学生研究発表会

ラフは，3.2.1 での記録内容をもとに算出する．盤面の全体のうちどれだけぷよが存在するのか割合を算出し，％表示で求める．
操作履歴の棒グラフは，3.2.1 での記録内容と同時に操作履歴も記録している．記録内容として，右移動，左移動，時計回り，反時計回りの 4 つの値を抽出している．ぷよの落下が始まってから，落下が終わるまでを１つの一連と考えると，その一連ごとに，上記の 4 つの値が何回押されたのかを求める．

4.2 操作履歴の棒グラフと窮地状態検出結果
ぷよの落下が始まってから，落下が終わるまでを１つの一連と考えると，その一連ごとに，キーボード入力を記録している．その記録データをもとに操作履歴のグラフを作成した．以下の図 3 に操作履歴のグラフの一例を示す．ただし，グラフの横軸のターン数は，ぷよが出現してから，落下するまでの一連を表す(図 2 の横軸も同様である)．また，グラフの縦軸のカウント数は，一連に対するボタン入力量を示している．

3.2.3 窮地状態検出
窮地状態検出の方法として，3.2.2 の操作履歴の棒グラフをもとに算出する．ぷよの落下が始まってから，落下が終わるまでの一連に対して，どれだけボタン入力があったのかを求める．そして，次の一連に対しても同様に求める．そのような一連に対しての前後関係からボタン入力量が多い部分を抽出し，検出を行う．以下の図 1 に，検出された窮地状態の時の盤面の状態の一例を示す．

図3

図1

4.

操作履歴の棒グラフ

また，図 3 の操作履歴には，平均値と標準偏差も記入されている．そして，窮地状態の検出は，平均値と標準偏差の合計を越える棒グラフに着目して，さらに，ある現在の状態とその前後の状態を吟味して，黒点で示した．

窮地状態の時の盤面の状態

実験結果
5.

4.1 盤面の密集度合いの結果おわりに

本研究では，フィールドの密集度合いのグラフから，ユーザーに対する支援を行うことで，向上を試みた．また，操作履歴の棒グラフから，どの部分が窮地な状態だったのかを検出することができた．これにより，ユーザーに対する支援の推薦ができたと考える．

ぷよが落下するたびに，盤面の状態を記録する．
それをもとに，盤面の全体のうちどれだけぷよが存在するか算出することで，グラフを作成した．以下の図 2 に密集度合いのグラフを示す．

謝辞
本研究は JSPS 科研費 22K12304 の助成を受けた．

参考文献(1) 高橋竜太郎，池田心：“連鎖構成力向上のためのぷよぷよの問題作成”，情報処理学会研究報告，Vol.2018-GI-39，No.10(2) 福池昂大，三宅陽一郎：“「ぷよぷよ」における深層強化学習による自己対戦の適応”，2023 年度人工知能学会全国大会(第 37 回)，2M5-GS-10-01

図2

フィールドの密集度合いのグラフ94