【解説記事】テストプレイを行うプログラム開発の話【2018春大阪】

「ここが聞きたい!」またはご意見ご質問はコメント欄またはTwitterhttps://twitter.com/Akatsuki_No9)へ.

去る4月1日,ゲームマーケット2018 大阪へB26:暁ゲーム工房で参戦しました.

今回はデビュー作「Creative Tavern」で使用されたテストプレイ用人工無脳くんの開発秘話の解説記事です.

技術者じゃない人向けのガバガバ解説をします.

開発秘話はこちら↓

 

 

テストプレイの目的

テストプレイは
①プレイヤーごとの勝率を均等にする
②まずい戦略を発見する
が目的です.まずい,というのはそれだけやってれば勝てる(支配戦略)とかいつも同じ展開のことですね.

楽しむとか先行プレイ会とは無縁クソゲー地獄です.そもそも駄目なゲームを何とかしようというのが目的ですので,きっちり駄目なゲームを駄目なまま進めて,どこが駄目だったか,どうすれば良くなるかを言語化する地味な仕事です.

クソゲー大好きな人は貴重.

ゲームバランスの細分化

ゲームバランス,と一口に言っても実態は様々です.

  1. 手札や開始地点といった初期ボーナス
  2. 1ターンの間にできること
  3. カード1枚タイル1枚の強さ
  4. ゲーム全体の時間
  5. 他プレイヤーの待ち時間
  6. プレイヤーが確認できる情報量(=考えられる量と待ち時間のバランス)
  7. etc...

そう,「バランスが悪い」だけでは具体的なことに言及していないのです.何の参考にもなりません.

人工無脳くんのお仕事

第一に,必ずしもテストプレイの自動化は必要というわけではありません

テストプレイを自動化するために面白さを犠牲にしては本末転倒です.では,本題.

 

「Creative Tavern」では優秀なエンジニアの力で①プレイヤーごとの勝率を均等にするを実現するためにテストプレイ用プログラムを開発しました.

正確には勝率が均等になるような初期ボーナスの最適化(上記1)を任せました.

「Creative Tavern」では他の要素(上記2~)は人の目で判断しました.

もちろん,うまくやれば他の要素のいくつかも最適化できるでしょう.

ポイントはどの要素だったら総当たり的に探索できるか?です.総当たり的な探索は簡単にプログラム化できる(人工無脳で十分)ので.(なおマシンパワー

「総当たり的に」というのは,「一つ一つパターンを数えられるか」という意味です.

例えば「カードの効果をどうするか?」は無制限にアイディアを出せるため自動化には向きません.そうではなくて「相手に◯ダメージを与える」という効果の◯にはどれくらいの数値を与えればいいか?は自動化できそうですよね.

「Creative Tavern」では「最初に与えるカード◯枚,タイル△枚」を総当たりしました.

前提条件

注意するべきは,総当たり的にバランス調整するのは最後の工程にすることです.

なぜならカードの効果やターンの処理が変われば(上記1)も変わるからです.(もちろん,逆も成り立ちます)

せっかく良いバランスだったのに,新しいカードを追加したせいでバランスが壊れたというのはよくある悲劇です.

ゲームの開発順序について

他全ての状態を固定して,最後の最後に総当たりです.先生との約束だよ!

では,どの順序でゲームの要素を決めていくべきか?僕の考えを少しだけ.
()は「Creative Tavern」の場合です.

  1. プレイヤーに何を体験させたいか?(先攻後攻の差を言い訳にさせない)
  2. そのために必要なシステムは何か?(VPO!VPO!)
  3. 何をすれば勝ちか?(勝利点を集める)
  4. どうやって勝利条件を達成するか?(手元の資源と交換する)
  5. 勝利条件を達成するための手段は何か?(5つのアクション)
  6. 想定プレイ時間に従って,4と5を好きなだけ繰り返す(1回だけ)
  7. 5で出した各手段の選択肢を考える
    (開拓:タイルを引いて,どこに置くか?etc...)
  8. 人力のテストプレイを通して4.5の面白さを追求する
    (移動でぶつかったら?何でも食べるお客さんを作って手札を処理しよう!)
  9. ゲーム開始時の状態を決める(一番手は食材1枚etc...)
  10. なんか良い感じの世界観を持ってくる(食材あつめてお客さんにどーん!)

繰り返しになりますが8.9は互いに依存しています.片方を変えれば他方も変わります.
総当たりできそうな方を後回しにすると良いでしょう.(「Creative Tavern」では9を自動化しました)

なお,10はいつ決めても構いません.が,1と10が対立したら1を優先させること!
eg.「1. 探索済みを明示する vs 10. 勇者はツボを投げない」はどちらが採用されましたか?

デジタル化できるゲーム,できないゲーム

例えば人狼はデジタル化できるでしょうか?カタンは?
激論勇者(激論勇者 | ALL DICE | ゲームマーケット)は?

ゲーム進行に「その場の空気」が含まれているゲームはデジタル化が難しいでしょう.

 

逆にスコットランドヤードはデジタル化できますね?
mine mine!(mine mine! (マイン マイン) | 42GAMES | ゲームマーケット)は?

ゲーム進行とアナログな会話が無関係なゲームはデジタル化できるでしょう.

面白さのコアな部分がどこにあるか?は問題ではありません.

SPECIAL MOOOVE!(SPECIAL MOOOVE! | OYATSU GAMES | ゲームマーケット)は必殺技を叫ぶことに面白さがありますが,十分デジタル化できます.

Good Night Ghost ~おやすみオバケ~(Good Night Ghost ~おやすみオバケ~ - PhantomCircus - BOOTH)もそうですね.

 

ゲーム進行に「会話」や「ボディランゲージ」などが含まれているシステムは,プログラムによるバランス調整が不可能です.

免責事項

「Creative Tavern」の制作では人工無脳くんが活躍しましたが,戦略の最適化は彼らの仕事ではありません.

プログラム的には僕たちが見つけた「こう来たら,こう!」を機械的に繰り返しているだけです.

もし,彼らに与えた戦略に間違いがあったり,もっと良い作戦があったら,彼らの見つけた初期ボーナスは役立たずになってしまいます.

そのときには説明書3ページ目上部「ガチ勢向け追加ルール」を読んでみてください.

f:id:Akatsuki-No-9:20180619003613p:plain