こんにちは、LIYOです。
「AI Studioで“動くもの”どこまでいける?」を試したくて、定番のリバーシを作ってみました。
しかも今回は、対戦AI(コンピューター側)に生成AIを使わない縛りつき。いわゆる探索や評価関数で殴ります。
✅ 使ったモデル:Gemini 3.0 Pro Preview(AI Studio上は “Gemini 3 Pro Preview” 表記)
✅ 狙い:UI日本語/対戦モード切替/レベル変更/先手後手選択/CPU対戦は探索アルゴリズムで
やりたかったこと(要件)
今回は「ただ動くだけ」じゃなくて、遊べる設定項目も込みでお願いしました。
具体的にはこんな感じ👇
- レベル(CPUの強さ)を変更できる
- 人対人 / 人対CPU / CPU対CPU を選べる
- 白黒(先行/後攻)を選べる
- 表示は日本語
- コンピュータ対戦に生成AIは利用しない(←ここ大事)
実際に投げたプロンプト
今回のプロンプトはこれ。
“縛り条件”を先に固めるのが、体感いちばん効きました。
リバーシのゲームを作成してほしいです。
レベル(コンピューターの強さ)を変更できるようにしたいです。
人対人、人対コンピュータ、コンピューター対コンピューターも選べるようにしたいです。
白黒(先行、後攻)を選択できるようにしたいです。
表示は日本語としてください。
コンピュータ対戦にAIは利用しないでください。「生成AIを使わないCPU対戦」ってどういうこと?
ここ、地味に誤解されがちなんだけど…
今回言ってる “AIを使わない” は ChatGPT/Geminiみたいな生成AIを対戦相手にしない って意味。
代わりに、昔ながらの定番である👇みたいな方法でCPUを作ります。
- ミニマックス法(先読みして最善手を探す)
- αβ枝刈り(無駄な探索を省いて高速化)
- 評価関数(角が強い、辺が強い、手数が多い…などで点数化)
- レベル = 探索深さ(例:Lv1は1手先、Lv3は3手先…)
💡 LIYO的ワンポイント
“レベル”を「ランダム要素」だけで表現すると、弱い=運ゲーになりがち。
探索深さ + 評価関数にすると、弱いレベルでも“それっぽい弱さ”になって遊びやすいです。
作ってみて良かったところ
- UI + ルール + 対戦ロジックを一気通貫で組み上げられる(「完成形」の速度が速い)
- 要件を箇条書きで固めると、設定画面(モード/レベル/色)まで含めて提案されやすい
- 「AI使わないで」を入れるだけで、探索アルゴリズム寄りに誘導できる
ハマりどころ(リバーシで事故りやすい点)
生成されたリバーシは“動く”けど、リバーシ特有の地雷がいくつかあります。
もし調整するなら、まずはここをチェック推奨👇
- 合法手判定:8方向の探索が1方向でも成立したら置ける
- ひっくり返し:成立した方向だけを正しく反転(成立してない方向まで反転しがち)
- パス処理:合法手ゼロのときにパス、両者パスで終局
- 終局判定:盤面が埋まった or 両者パス
- CPU対CPU:連続で手が進むので、ウェイト(sleep)や一手ずつ描画がないと爆速で見えない
次にやりたい改善(LIYOの欲が出た)
- 合法手のハイライト(置ける場所を点で表示)
- 取り消し(Undo) と 棋譜(あとで振り返れると楽しい)
- 評価関数の調整(角・辺・確定石・可動性などの重み付け)
- レベルごとのCPU個性(弱いほど角を取り逃がす、みたいな“らしさ”)
- スマホ最適化(盤面タップが気持ちいいサイズ感)
まとめ
Google AI Studio(Gemini)でリバーシを作ってみたら、「思ったより遊べる形」まで持っていけました。
そして「CPUは生成AIじゃなく探索で」って縛ると、ちゃんと“ゲームっぽい実装”に寄せられるのが面白い。
次は、評価関数とUI磨いて「地味にずっと遊べるリバーシ」にしていきたいところ。
(リバーシは…磨けば磨くほど沼です。最高)
作成したリバーシのプレイ画面は以下のようなイメージです。

※この記事は「作ってみた」開発メモです。環境差・バージョン差で挙動が変わる場合があります。

