ヒカリマル製作所

「小さく、美しいゲームを。」 両日H068で出展します。 今回の新作は、式神エンジンビルド×陰陽師能力バトル「ハクスラ陰陽師」!! 倒した妖を裏返して、自分の行動を強化する装備にするか、強力な効果を使える式神にするか。4人の陰陽師と18体の妖で、1億通り以上のビルドが楽しめます! 1〜2人・10〜20分・カード32枚、価格は1,500円です。2人なら共闘から決闘へ、1人でも強大なボスとのバトルが遊べます。 過去作の「アートコレクター-ブラフ&オークション-」「クロスギャラリー-バッティング&オークション-」、謎解きゲームの「ミステリーアートミュージアム」は、予約限定+若干数のみの持ち込みです。

非対称ゲームのバランスを機械学習で調整した話 ― 『ハクスラ陰陽師』の4人の陰陽師
2026/10/13 13:45
ブログ

ヒカリマル製作所です。ゲームマーケット2026秋は、両日H068に出展します。

ゲムマまであと3日なので、今日から当日まで毎日ブログを書いていきます。1本目は、新作『ハクスラ陰陽師』のバランス調整の話です。

『ハクスラ陰陽師』では、プレイヤーが4人の陰陽師から1人を選びます。4人は能力が違う、いわゆる非対称のゲームです。今回は、能力の違う4人をどうやって釣り合わせたか、そのために機械学習をどう使ったかを書きます。9月23日のブログ「手のひらサイズで『ちゃんとしたエンジンビルド』を作る」の最後で予告していた話を、今の版で測り直した数字と一緒に書きます。

調整のために、AIを4種類作りました。いちばん強いAIは、1手ごとに候補を16回ずつ遊んでみる探索のAIと、手元のMacBook Proで約140時間学習させ続けた言語モデルを組み合わせたものです。後半では、その仕組みも少し専門的に書きます。

『ハクスラ陰陽師』のコンポーネント

4人の陰陽師は、勝ち方が違う

4人の陰陽師のカード

  • 晴明: 手札を使い切るたびに、式神の数だけ妖全部にダメージ。式神を並べるほど強くなる
  • 道満: 防御を出した時に反撃する。読み合いに強い
  • 梨花: 攻撃が妖の防で減らない。火力が高い
  • 葛葉: 術を出したターンに、使ったカードを手札に戻せる。術のコンボが強い

4人とも、同じ18体の妖を倒して、式神や装備にしていきます。同じ妖でも、晴明なら式神として並べたいし、梨花なら攻撃の装備に差したい。キャラクターによって、欲しい妖も使い道も変わります。

そのぶん、組み合わせは膨大です。キャラクター4人、妖18体、使い道4通りで、組めるビルドは1億通りを超えます。遊び方も決闘・協力・1人用の3つがあり、協力と1人用にはLv1〜10の難しさがあります。決闘のキャラクターの組み合わせは6組あり、それぞれ先手と後手を入れ替えて確かめなければなりません。

全部を人の手で遊んで確かめるのは無理だったので、テストプレイの多くでAIを使いました。ルールとカードの数字は、AIが遊んだ結果を見ながら自分で決めています。

目指したバランス

調整の目標は、次の3つです。

  1. 勝ち方はキャラクターごとに違うのに、どのキャラクターを選んでも同じくらい勝てる
  2. 決闘では、相手の手を読んだ方が勝ちやすい
  3. 適当に打っても勝てないが、考えて打てば勝てる

調整の流れ

バランス調整の流れ

  1. ブラウザ版を作る: 紙のカードで確かめようとすると、数字を1つ変えるたびにカードを作り直すことになります。そこで最初に、ブラウザで遊べる版を作りました。数字を変えたらすぐ次の局を始められて、どの場面でどのカードを出したかが全部記録に残ります
  2. 人の手で大量に遊ぶ: 初めのうちは、自分でブラウザ版をたくさん遊び、遊びながら細かく数字を直しました。遊んだ記録は全部残しています
  3. 記録からAIを作る: 残した記録を見ながら、人間の打ち方をまねるAIを作りました。そのAIをもとにして、先まで読んで手を選ぶAIを作っています
  4. 人がAIと対戦する: AIの手が人から見て変でないかは、自分でAIと対戦して確かめました。人なら打たない手を打っていないか、明らかな勝ち筋を見逃していないかを、実際の局で見ています
  5. AIどうしで何千局も遊ぶ: AIが信用できるようになってからは、AIどうしで何千局も遊ばせて、キャラクター・Lv・モードごとの勝率を見ながら数字を詰めました

4種類のAI

AIは4種類を用意しました。

  • でたらめAI: 選べる手の中から、毎回くじ引きで1つ選びます
  • 素直なAI: 「倒せる妖から攻撃する」「大きいダメージが来るターンは防御する」のような決まった考え方で打ちます。人間が遊んだ記録を見ながら、考え方を足していきました
  • 先読みAI: 候補の手それぞれについて、その手を打ったあとの続きを何回も遊んでみて、平均でいちばん良い結果になった手を選びます
  • 判定AI: 局面を文章にして読み込み、選べる手それぞれの良さを一度に答えるAIです。先読みAIの打ち方を学習させました

でたらめAIと素直なAIは、ゲームの難しさを測るための物差しです。適当に打つ人や素直に打つ人がどれくらい勝てるかを、この2つで見ています。強いAIは、キャラクター同士の釣り合いを測るために作りました。AIが下手だと、測った勝率の差はAIの使いこなし方の差になり、キャラクターの強さを比べられません。

先読みAIの仕組み

先読みAIは、モンテカルロ探索と呼ばれる方法で手を選びます。

手を1つ選ぶたびに、候補の手それぞれについて「その手を打ち、そのあとは素直なAIどうしで続きを遊ぶ」を16回くり返します。最後の決闘では32回です。くり返した結果を平均して、いちばん勝ちやすかった手を打ちます。

ただ、毎回ゲームの最後まで遊ぶと時間がかかります。そこで、続きを遊ぶのは次の戦闘の始まりまでにして、そこから先の勝ちやすさは別のモデルで見積もりました。このモデルは、AIどうしの対局の途中の局面と、その局が最後に勝ったかどうかを組にして学習させた、勾配ブースティング木の回帰モデルです。HPや式神の数、進化できるかどうかなどを入力にして、その局面から勝てる見込みを返します。学習したモデルは小さなファイルに書き出せるので、ブラウザ版の「強いAI」にもそのまま入れています。

先読みAIの強さは、続きを遊ぶ素直なAIの打ち方で大きく変わります。素直なAIがあるキャラクターの得意な打ち方を知らないと、続きを何回遊んでもそのキャラクターで勝つ局が出てきません。その場合、先読みAIもその打ち方を選べません。1人用のLv6では、素直なAIの打ち方の型を1つ替えただけで、先読みAIのクリア率が29%から79%に上がりました。

ローカルのJev型AIを、140時間学習させ続けた

ローカルのJev型AIの仕組みと学習の1周

判定AIは、JevというAIと同じ型のAIを手元で作ったものです。Jevは、文章と選択肢を渡すと、文章を書かずに選択肢ごとの確率だけを返すAIです。ゲームの1手を選ぶ用途に向いているので、同じ型のAIを手元のMacBook Proで動かしました。

中身は、mmBERTという3億2千万パラメータの言語モデルに、選択肢を判定する層を付けたモデルです。局面は、HP、手札、式神、妖の次の行動、このターンに受けそうなダメージなどを約260語の文章に書いて渡します。選べる手も文章の中に並べておき、モデルはそれぞれの手の良さを一度に返します。

教材には、先読みAIの評価を使いました。先読みAIに局を遊ばせ、途中の場面ごとに候補の手を1つずつ打ってみて、その続きを最後まで16回ずつ遊ばせます。どの手がどれだけ勝ちにつながったかを記録したものが、判定AIの教材です。

最初の版は失敗でした。判定AIを素直なAIと対戦させると、勝率は22.5%で、素直なAIに負け越しました。このゲーム向けに学習していないJevにも、同じ局面を読ませてみました。先読みで手の良し悪しがはっきり分かれた場面で、先読みがいちばん良いとした手をJevが選んだ割合は47%でした。素直なAIの46%とほとんど変わりません。局面の文章を読めるだけでは、このゲームの手は選べないということです。

そこで、学習を止めずに回し続ける仕組みを作りました。1周の中身は次の4段です。

  1. 先読みAIに新しい局を遊ばせ、場面ごとに候補の手を採点して教材に足す
  2. 足した教材で、判定AIの学習を続ける
  3. 新しい判定AIを素直なAIと480局対戦させる
  4. それまででいちばん強い判定AIより勝率が高ければ、新しい判定AIに入れ替える

この仕組みを9月22日から28日まで、約140時間止めずに回しました。教材にした場面は約20万、採点のために続きを最後まで遊んだ回数は延べ770万回を超えます。判定AIは69回学習し直し、そのうち14回、前の版より強くなって入れ替わりました。素直なAIとの勝率は、最初の版が22.5%、最後の版が61.6%です。

人間の打ち筋を20倍の重みで混ぜる

学習の途中から、自分でブラウザ版を遊んだ記録も教材に混ぜました。24局ぶん、1,914手です。先読みAIの手よりも人間の手を20倍重く数えて学習させています。

同じ教材と同じ局で、人間の手を混ぜた版と混ぜない版を比べました。1人用で梨花を使った時のクリア率は、40局中22局(55%)から30局(75%)に上がっています。自分の記録には、序盤は式神を並べて守り、後半に攻撃の装備をそろえてから進化する、という梨花の勝ち筋が入っていました。梨花の勝ち方はこれ1つではありません。先読みAIが自分では見つけにくい筋を、人間の記録から覚えたのだと思います。

判定AIと先読みAIを混ぜると、いちばん強くなった

判定AIと先読みAIを混ぜた時の勝率

最後に、判定AIと先読みAIを組み合わせました。先読みAIが候補の手を16回ずつ遊んで出した平均に、判定AIの見立ても足して、手を選びます。

比べる相手は、ブラウザ版の強いAIと同じ先読みAIです。6組の決闘で、同じ配りの局を席を入れ替えて2回ずつ遊ばせ、480局で勝率を測りました。

  • 判定AIだけで打つ: 31.5%
  • 先読みの回数を16回から32回に倍にする: 49.6%
  • 先読み16回に判定AIの見立てを混ぜる: 61.2%

先読みの回数を倍にしても、勝率は五分のままでした。判定AIを混ぜた方は、別の配りの480局で測り直しても56.7%で、2回とも相手に勝ち越しています。

判定AIだけでは弱く、先読みの回数を増やしても強くなりませんでした。それでも、2つを混ぜると強くなりました。判定AIは、先読みの回数を増やすだけでは手に入らない情報を持っています。それが何なのかは、まだ確かめ切れていません。

キャラクター同士の釣り合いを測る

決闘は育てた陰陽師どうしで勝負

決闘は、育てた陰陽師どうしの1対1の勝負です。4人から2人を選ぶ組み合わせは6組あります。どの組でも勝率が五分に近くなっているかを、AIどうしを戦わせて確かめました。

測る時に気をつけたことは2つです。1つ目は、両方の席に同じ強さの先読みAIを座らせることです。AIの強さに差があると、強いAIを持った側が勝つだけで、キャラクターの強さを比べられません。2つ目は、同じカードの配りで席を入れ替えて、もう1局遊ばせることです。こうすると、先手と後手のどちらが得か、配りが良かったか悪かったかで、勝率がずれません。

ただ、AIどうしの勝率をそのまま信じると、間違えることがあります。

9月の調整中、AIどうしの対局では、1人だけ勝率がはっきり低いキャラクターがいました。数字だけ見れば、そのキャラクターのカードを強くするところです。でも、自分でそのキャラクターを使ってAIと戦うと、4戦4勝でした。対局の記録を見比べると、AIがそのキャラクターの読み合いを使いこなせていなかったことが分かりました。カードを直す必要はなかったので、数字はそのままにしています。

それからは、AIどうしで勝率に偏りが出たら、まず自分で遊んで確かめています。AIの数字は、人間が遊んで確かめる場所を決めるための材料です。

読み勝った側が、ちゃんと勝ちやすいか

決闘の基本は、2人が同時にカードを1枚伏せて出すことです。相手の1枚を読めた方が有利になってほしいので、ここは特に気をつけて調整しました。

これを測るために、片方のAIにだけ相手が伏せたカードを見せて戦わせました。見た側が「読みが当たった状態」、見られた側が「読みが外れた状態」です。目安は「読みが外れたら3割、普通なら五分、読みが当たったら7割」としました。

調整の途中(9月下旬の版)に測った時は、読み負け37%・普通48%・読み勝ち59%と、目安より幅が狭く出ました。数字を変えても幅はほとんど動きませんでした。

原因は、決闘の前の6回の戦闘にありました。AIどうしの対局では、3局に1局が、決闘の前に片方が妖に倒されて決着しています。そこでは読み合いが起きないので、全体の数字が薄まっていました。決闘まで進んだ局だけで数えると、読み負け38%・普通54%・読み勝ち72%で、ほぼ目安どおりでした。全体の数字だけを見ていたら、カードを必要以上に直してしまうところでした。

1人用と協力の10段階

1人用と協力では、Lv1〜10の難しさを、3種類のAIに遊ばせて並べました。

1人用のクリア率

1人用で、でたらめAIのクリア率はLv1でも18%、Lv5から上はほぼ0%です。適当に打っても勝てません。素直なAIはLv1で95%、Lv4で81%と、考えて打てば易しいLvはクリアできます。先読みAIはLv1〜Lv4でほぼ100%、Lv7で43%、Lv10で7%でした。上のLvは、強いAIでもなかなか勝てません。協力も同じ形で、先読みAIのクリア率はLv1の97%から、Lv10の15%まで下がっていきます。

易しいLvは先読みAIだとどれも100%近くになり、差が見えません。そこで、素直なAIのクリア率も合わせて見て、Lvの順番と間隔を決めました。

最後は人間が決める

数字だけでは決められないこともあります。

調整の途中で、あるキャラクターの進化後の能力を「使ったカードを全部手札に戻せる」に変える案を試しました。AIどうしで遊ばせると、そのキャラクターの決闘の勝率は34%から55%に上がりました。数字だけ見れば良い案です。

でも、この案はすぐにやめました。防御のカードまで毎ターン手札に戻せると、毎ターン防御を出し続けられて、決闘が終わらなくなるからです。AIどうしの対局では、AIが毎ターン防御を出す打ち方をしなかったので、この問題が勝率に出てきませんでした。人間が遊べば、すぐに試したくなる打ち方です。

今は、ルールを変える前に「この変更でいちばんずるい打ち方を毎ターン続けたら何が起きるか」を先に考えています。AIのおかげで、人の手では遊びきれない数の局を確かめられました。それでも、遊んで面白いかどうかを最後に決めるのは人間です。

ゲムマ2026秋で頒布します

紙のカードで遊ぶ時、読み合いの相手は目の前の人です。AIが覚えられない相手の癖も、人どうしなら読みの材料になります。ぜひ4人の陰陽師を使い比べてみてください。

ブラウザ版の試遊では、晴明と道満の2人を使えます。強いAIと戦うこともできます。

https://hakusura-onmyoji.pages.dev/play/

倒した妖を式神や装備にして、キャラクターを育てていく1〜2人用のカードゲームです。

1〜2人/10〜20分/8歳〜/1,500円(ゲムマ特別価格)

10/17(土)・18(日)、ブースH068でお待ちしています!

取り置き予約はこちらのフォームから!

https://docs.google.com/forms/d/e/1FAIpQLSe2CXl5HvMq94Kusms5GQjJ1PBE43FMad1PovcnGfESnYYuIg/viewform