初期仕様: 「最も困らせる」を直接実装
Hell 難易度の初期仕様はシンプルな方針で設計されていました。AI に対し、「プレイヤーが現在の盤面において最も困るピースを常に選択する」という命令のみを与える、というものです。盤面の評価関数によって、置きづらく、ラインを揃えにくく、長期的に詰む方向に作用するピースが優先される設計です。
理論上はこの設計で最も敵対的な AI が実現できる想定でしたが、実際にプレイテストを行ったところ、想定をはるかに超える事象が発生しました。S 型・Z 型のピースが極端に連続して出現するパターンが頻発し、プレイヤー側に対応の余地がほとんど残らない状態となったのです。
テスト結果: 5 時間で継続困難
この初期仕様の Hell 難易度を、開発チーム外のテスターに 1 名渡してプレイテストを実施しました。結果として、約 5 時間のプレイ時点で「理不尽であり、ゲームとして成立していない」との評価をいただきました。意地悪な難易度として設計したものの、この水準では体験ではなく嫌がらせの領域に踏み込んでしまっている、という判断です。
ここから 2 日間の調整作業に入りました。
試行: 複数アプローチで調整を試みた
最初のアプローチは、Hell 難易度の落下速度を下げる方向でした。プレイヤーに思考と対応の時間を渡すことで、敵対的 AI への対処の余地が生まれることを期待した調整です。一定の改善は得られたものの、「Hell 難易度なのに動作が遅い」という違和感が発生し、難易度の名称と挙動の整合性が崩れる課題が残りました。
次に、AI の評価関数自体に手を加え、「最も困らせる」選択を 70% に抑え、残りの 30% を通常の確率分布に戻すアプローチを検証しました。これも一見成立するものの、AI の意図が薄まる瞬間が露呈し、Hell として約束したコンセプトの一貫性が損なわれる結果となりました。
落下速度・評価関数・確率配分など複数の変数を組み合わせて検証しましたが、いずれのアプローチでも、難易度のコンセプトとゲームとしての成立性のどちらかが破綻する結果となりました。
解決策: 評価関数を維持し、制約を 1 つ追加
最終的に採用したのは、AI の評価関数も落下速度も初期仕様から変更せず、ひとつのルール制約のみを追加するアプローチでした。
同一の種類のブロックは、3 回連続では出現させない。
AI は引き続き「最も困らせるピース」を選択しますが、直近 2 回と同じ種類のピースは候補から除外されます。S 型が 2 回続いた場合、3 回目は S 以外の候補のうち最も敵対的なものから選択される仕組みです。
この制約の追加により、Hell 難易度は「理不尽」から「ギリギリで成立する高難易度」へと変化しました。同種ピースが永続的に続かない保証により、プレイヤー側に「次は変化する」という見通しと、捨てピース戦略を成立させる余地が生まれます。AI の敵対性は維持したまま、ゲームとしての遊戯性が成立する状態に到達しました。
設計上の学び: 「強さの調整」と「制約の追加」
この調整過程で得られた知見として、AI 難易度のチューニングには大きく 2 種類のアプローチが存在することが整理できました。AI の強さ自体を下げる方向と、AI の自由度に制約を加える方向です。前者はコンセプトの一貫性が崩れやすく、後者はコンセプトを維持したまま体験の品質を保てる傾向があります。
Cubia の Hell 難易度は、後者のアプローチで着地しました。今後新しい難易度や AI 人格を追加する場合にも、同様の設計原則を適用する方針です。