この記事では2023/01/31に公開したマルバツゲーム進化論について振り返る。
https://hothukurou.com/game/Marubatsu/index.html
製作秘話や、CPUの思考アルゴリズムの話や以外な弱点、最後に各ステージごとのクリア率を見ていく。このゲームは公開一週間前に大改修をした作品なので公開直前までかなりドタバタしたのだが、そのドタバタぶりが伝わってくれたら嬉しい。
可愛い女の子とデスゲームするのは面白い
「ヤンデレ彼女みたいなゲーム、もっと作ろうよ」
ある日、discordでゲーム制作者のウェレイさんと雑談しているときにこんな話が出た。
ヤンデレ彼女、正式名称「ヤンデレ彼女のおうちに呼ばれたら」は2021年2月に公開したゲームである。このゲームは彼女とラブラブおうちデートで大富豪ゲームを遊ぶ幸せな序盤と、彼女に血液を抜かれつつ理不尽な大富豪ゲームを遊ぶ後半の急展開の落差を楽しむ新感覚ホラーゲームだ。
これが結構好評だった。ウェレイさんもこのゲームはかなりベタ褒めしてくれていたのだ。
このゲームは序盤は普通の大富豪ゲームなのだが、後半は「数字が全て料理名になっていて、彼女の好き嫌いで強さが決まる」という今まで誰も試したことなかったゲーム性に変貌する。
「好き嫌いなんてわかるわけないだろ!」と思う方もいると思うのだが、命がかかった状況で真剣に考えてみると、意外と料理の強さがわかったりする。例えば、彼女は中華料理が食べられず、とろみを嫌うという情報が何度かの失敗の果てにわかってくる。そして、この好みの一貫性を理解することがそのまま彼女という人間への理解につながっていく。そういうちょっとひねったホラー恋愛ゲームなのだ。
この料理で強さ決める手法を他のゲームでも展開したいなという話を私は以前から周囲に漏らしていた。早い話が、二匹目のどじょうが欲しかったのだ。ユーザーとしても少し違うけど同じような面白さを求めるのは自然な需要である。
私は毎月1本ゲームを公開するようにしている。だが、当然ながらゲームアイデアはそうポンポン思いつく訳ではない。一応アイデアシートを作っているので、そこからネタ出しをしているのだが、たまに思いつかない月があったりする。
そんな時、ウェレイさんから「ゴブレットゴブラーズあるじゃん?あれの強さを10段階くらいまで増やして料理にしたらどう?」というアイデアをいただいた。
ゴブレットゴブラーズとは、「変則三目並べ」の一種であり、ボードゲームカフェなどでよく見かける戦略性の高い人気あるゲームである。
以下にamazonリンクを貼っておくが、遊んだことのない方でもyoutubeなどで一度見たことはあるのではないだろうか。
・ゴブレットゴブラーズ
ゴブレットゴブラーズでは、大中小の3種類のコマがあり、小さいコマを大きいコマがかぶせることができる。また、一度置いたコマを動かせたり、コマを動かすと被せられたコマが復活するなど、見た目以上にギミックが仕込まれていて面白いのだ。
これのコマ種類を10種類まで増やして料理に変えたらどうかという提案であった。
正直、面白くなるかは未知数である。こういう時はさっさと遊べるプロトタイプを制作して遊んでみた方がいい。ということでまずは2~3日で作ってみることにした。
「10種類もコマを作るのだから、ルールはシンプルで直感的にしよう。被せるアイデアは直感的にならないのでやめて、コマは破壊するようにしよう。コマを動かすルールも複雑そうだからやらない。その方が実装も容易だ。」
という要素引き算をしたので、早速実装をはじめる。まあ、ゴブレットゴブラーズとは異なる方向に持っていきたかったという事情もある。ともかく、まずは「コマに強さがある」という最低限のルールだけ残すことにした。
まずは普通のマルバツゲームを作った。
マルバツゲームなんて、大学のC言語授業以来作った記憶がない。
普通マルバツゲームを作るときは、マスをクリックしたらそのマスにコマが置かれるというUIが一般的だ。
ただ、今回は色々な種類のコマを選んで設置するルールなので「〇をフリック操作で動かしてマスに設置する」というUIになった。
遊び相手が欲しかったので、この段階でAIも作っていく。とりあえず「自分が1列揃う場所があるならコマを置く。勝てないなら敵のリーチを発見してふさぎに行く。」という簡単なAIを構築した。リーチの発見処理が意外と悩んだので興味ある人は作ってみると頭の体操になるので考えてみるといいだろう。
正直普通のこのマルバツゲームだけでも演出要素足した分で面白くなっていたので、「これはいけるんじゃないかな」とこの時点で思っていた。
次にコマに強さを設定した。
「弱いコマを強いコマが上書きできる」というシンプルなルールで、だいぶ面白くなった。
実際にdiscordで何名かに遊んでもらったが、好評だった。実際コマに強さがあるだけで面白い。
強いコマを置いた時の爆発エフェクトが緩衝材のプチプチをつぶしている感覚で気持ちよかったのかもしれない。ともかく、この時点では「あ、こりゃあいけるな」と思っていた。
この時まで面白さの勘は間違っていなかった。ここから、ちょっと雲行きが怪しくなってくる。
ここでどんどんルールを追加していって、色々なマルバツゲームのルールで遊べるようにすることにした。この部分も現在のマルバツゲーム進化論と近い発想である。
「色々なルールでマルバツゲームを遊んで、最終的には料理名に変わったコマでマルバツゲームをする」という展開だと自然に料理マルバツゲームに行き着きそうである。ということで、マルバツゲームの新ルールをいくつも考えて2週間くらいで実装していった。
「置いたnターン後に消えるルール」「時間経過で強さが減っていくルール」、「相手と自分でコマ種類が異なる変則マッチ」など、さまざまな変化球ルールを実装していった。
ただ、第三者にテストプレイは頼んでいなかった。もうちょっと整えてからテストプレイした方が良いと思っていたからだ。
面白くないかも・・・?
1月もそろそろ終わる1/24、ウェレイさんに一通り動くようになったものをテストプレイしてもらった。
その結果が「面白くないかも・・・?」という結論だった。「nターン後に消えるコマ」という追加ルールが思ったよりも面白くなかったのだ。せっかく揃えられるターンにコマが消えてしまうという事象がストレスになっており、パズル要素があるものの面白味に欠けていたのだ。
思い返せば思い当たる節も多かった。
進捗が思ったよりも進んでいないときがその兆候だ。休日に「今日は一気に実装進めるぞ!」と思ってもPCの前に向かうも全然進捗が進まないときがある。自分の場合、そういう時はたいてい「何かが足りない気がする」とどこか引っ掛かっている時だ。おそらく自分の中で制作ゲームをシミュレーションする脳内回路が独立して動いていて、それが疑問アラームを示しているのかもしれない。
ともかく面白くなかったことが本格的に実感できた。ここから1月中に公開するためにどうしようか考えだす。当時の焦りツイートがこちら。
まあ、月1本ゲーム公開は自主的な目標なので無視してもよいのだが、ずるずるとゲーム制作を間延びさせるのもよいことではないので、ここからどうやって面白さを上げていくかをウェレイさんと相談することにした。
そこそこ長くアイデア出しをしていたのだが、最終的に「ヤンデレ彼女の大富豪みたいに、特殊役を入れたらいいんじゃない?」というウェレイさんのアイデアを聞いてこれは行ける!と思った。自分の脳内のゲームシミュレーション回路もイケそう!と言っていたから間違いないはず。
この方針を決めたのが1/24の24:00。その後寝るまでの3時間で早速「周りの能力を1に下げる能力」と「置いたマスの上下左右を爆発させる能力」という特殊能力を作成した。また、ウェレイさんの指摘をもとに、今までは手札に5個のコマが表示されていたのだが、これを3つに減らすことにした。人は選択肢が多すぎると悩んでしまい、それがモチベーション低下につながってしまうからだ。
無事実装できたので、翌日も普通に仕事があったので寝た。自分で遊んだ限りだと刺激が増えて面白くなったのだが、果たして客観的な評価はいかに・・・!
翌日、この改良版でテストプレイしてもらったところ、面白そうという評価をもらえたので一安心した。そしてこれはイケる!とそのままこの特殊能力追加の方針をどんどん追加実装していった。手札3つにしたことも思考の手間が減ってよい方向に転がっていったようだ。
その後は、どの数字にどの特殊能力をつけるかを大まかに決めて、それを実装して遊んでいった。面白くない能力を削除したり、新能力を追加したりして細かい修正を加えていき、最終的に1~8全てに特殊能力をつけたものを色々な人にテストプレイしてもらったところ、かなり面白いという評判だったので「これはイケるぞ!」と思い始めた。こうなったら話は簡単で、後はゲームにシナリオやルール説明画面追加などの、節々の要素追加していくだけの作業となる。
最終的なルールはかなり複雑になるので、チュートリアル画面は全部で13枚にもなったし、その作成は意外と時間がかかってしまった。ただ、「ルールが多くても、シンプルなルール構成から少しずつルールを追加して遊んでいく仕組みにすれば問題なく遊べるし面白い」という手法はだいぶ前にノウハウとして持っていたので、これが今回大いに役立った形となる。この時点で1/27。特殊能力追加してゲームデザインを大幅に見直す大更新を行い続けた濃厚な数日を過ごしてきたのだが、そろそろ締め切りが近くなってきた・・・!
敵の思考ルーチンを作る
ちなみに、ルール変更によって「その場の雰囲気で次の手を決めるAI」をちゃんと作り直す必要が出てきた。現状でもそこそこの判断で動くAIにはなっていたのだが、ちゃんとルールに即して考えるAIを作った方が面白いはずと考えたからだ。
実現方法は簡単で、「n手先まで全パターンをシミュレーションして、最もよさそうな手を選ぶ」という全解析を行う。今回の構成だと場における場所は9マスで、手札は3個あるのだから、n手先の解析パターンの最悪値は (9×3)^nで求めることができ、例えば3手先n=3では19683パターンとずいぶん現実的なパターン数で求めることができる。以前手札が5枚だった時は(9×5)^3=91125と、jsで解析するには少々重さが気になる手数になっていただけに、手札3枚の効力は解析の上でも都合がよかった。
ということで、3手先を読むAIを作成して動かしたところ、これがなかなかに強いAIができた。
あまりに強いCPUができたので、これだと一部の人しかクリアできなさそうだなと思い、難易度を簡単と難しいに分けることにした。難しいは3手読みだが、簡単だと1手読みしかしないので、めちゃくちゃ簡単に勝てるはずである。それでも難しいという声はちらほら聞いたけど。
ちなみにAIがきちんと次の手を打つためには、「盤面がどれほど有利であるか」を数値化する必要がでてくる。この評価値を求める関数のことを評価関数と呼ぶのだが、この評価では「自分のリーチは加点するけど、敵のリーチは大幅減点して評価する」ようにしている。これがあるので、1手先の盤面しか評価しないAIでもそこそこの強さになっているのかもしれない。
ちなみに自分が1列揃ったときは評価値最大となり、逆に敵が1列揃った時は評価値を最小にしているので、基本的に詰みは見逃さないようになっている。だが、どうやっても勝てない時は諦めてしまうため、おかしなところにコマを置いてしまう点は人間らしくない仕草になってしまった。
また、AIのパターン解析はランダム要素に弱いという欠点もある。実は今回実装したAIは8のリドローで来る手札を1,2,3の固定値が来るものとして解析している。実際には1,2,3以外の手札も来るはずなので、リドロー直後は解析に失敗しやすい傾向がある。また、次に来る手札を全く考慮しないで解析するので、そのあたりにもAIの弱点がある。
ここを考慮すると難易度難しいでも攻略できるようになるだろう。
シナリオについて
「病弱な女の子とキャッキャウフフしていたら、いつの間にかデスゲームに巻き込まれてしまった」という展開は当初から考えていたことだが、実際に文章化したのは1/29(日)である。基本的にシナリオ先行でゲームを考えるとゲーム自体がつまらなくなりがちという問題があったため、ギリギリまでシナリオ文章は考えないようにしていた。まあ、二年前に考えていたヤンデレ彼女も面白くなっていたし、「可愛いなと思っていた女の子とデスゲーム」はどう転んでもウケるだろうと思っていたので1日でパパっと書き上げた。
中高生は基本的に自分の社会的な居場所を求めて苦しむものだと思っているので、そういう中高生にとって「可愛い女の子の世話をできるという居場所」は潜在的に憧れるものがあると思っているし、そういう感情をどんどん刺激していきたい。だってこのゲームを遊んでくれるのは少年少女か、はたまた元々少年少女だった大人たちなのだから。
ちなみに、映画の脚本術について書かれている「SAVE THE CAT」でも映画館に足を運ぶ若い世代に向けて作品を作った方が広い客層を獲得できると書かれていたので、少年少女が主人公になりやすい理由はこのあたりにあるのかもしれない。
ともかく、片思いしている女の子とのデスゲームで戦うという展開は燃える展開になるだろうという見込みでシナリオを書きあげた。青春とバトルはとても相性がいい。人は常に人間関係に苦しんでいると思うのだが、それを戦いで決着つけているのを見ると、潔くて気持ちがいいと思うのかもしれない。現実にはとてもできないけどね!
ちなみに悪いケースとして、シナリオばっか追及してゲーム性が怪しくなってしまった作品も紹介したい。「目が覚めたら旅館で、知らない彼女と温泉旅行していた」という最高の出だしから始まるゲームなのだが、肝心のゲームパートである「ナポレオンライク」のカードゲームがいまいちウケなかったので、今後はこういうことがないようにまずはゲーム性をしっかり担保するようなゲーム制作をしていきたいところである。
(一応後半戦は苦し紛れに追加しためちゃくちゃ面白い探索パートがあるので、そっちは評判が良かった。ただ、これはその前のナポレオンライクのカードゲームの改良ができなかったことの裏返しでもある。)
イラストについて
イラストはmid journeyというAI画像生成を使っている。月額30ドルのStandard planを加入し続けているのだが、世界観を決めたりするときにワードを書くと具体的なビジュアルを生成してくれるのでだいぶ助かっている。世界観を具体化する上でもAI画像生成は非常に有益である。
ただ、AIで人物の立ち絵を作る際には重大な問題がある。それは「顔差分を作るのが困難」という問題だ。他のAI画像生成ツールだと何か対応策がありそうだが、少なくともmid journeyでは顔差分を作るために膨大な試行錯誤が必要となる。
何とかならないかなあとぼやいていたら、梅ちはおさん という方が顔差分を有償でやってくれるというお話をいただいた。やったあ!渡りに船だ!とお願いしてAI生成した少女立ち絵の顔差分を描いてもらったところ、非常にクオリティの高い顔差分を制作してくれた。実際女の子のニヤリとした暗黒スマイル、最高だった。
イラストレータとしても「リテイクが多くなるであろう女の子のイラストが具体化している状態」だとリテイク数も工数も減って気楽に受けられるみたいだったので、今後もどんどん顔差分をお願いしていく予定だ。AI画像生成はメインビジュアルの具体化にはとても有益だが、どうしても小回りが利かない問題がある。
人にお願いできる点についてはどんどん有償でお願いしてクオリティを上げていきたい。ただ、自分は人にクリエイティブな分野を頼むことがとても苦手なので、どう解決していくかは今後の課題となる。
1/31無事に公開
1/28(土),1/29(日)と休日はシナリオ実装などであわただしく過ぎていき、1/30には一通り遊べる状態が完成して、宣伝用のプレスリリース文も販促用のプレイ動画も出来上がっていた。
そのまま公開してもよかったのだが、一応1日寝かせてから公開しようと置いておくことにした。この1日は「いかに多くの人に遊んでもらえるか」という販促を考える一日にした。こういう一日があるのとないのとでは、公開後の広がり方が変わってくる。(はず)
ちなみにこの一日でどんな要素を追加したかといえば「負けた時にツイートボタンを表示する機能」と「現在のクリア率をタイトルに表示する機能」の二つだ。前者はSNS拡散をしやすくできるはずだし、後者はクリア率を見てリプレイ性を高める効果を狙っている。
で、この記事を書いた後には「ツイートに直近のマスデータをアスキーアートで表示する機能」を入れることにした。これもウェレイさんのアイデアなので、本当に頭が上がらない。
自分のゲームプレイ結果をツイートできると、拡散量が更に増えることは先月制作したカケラの塔というパズルRPGゲームで確認済みである。詳しくは以下記事を見てほしいのだが、おそらくゲームのプレイ情報をツイートできると、それをみたユーザーの興味関心の上り方が上がるのではないかと期待している。
裏の世界を攻略するためのヒント(24/06/16加筆)
このマルバツゲーム進化論、頭の良い人ならば表面は多少悩みながらもスイスイと進んでいくと思うのだが、これが裏の世界になると彼女の課した理不尽なルール憤り、とたんに投げ出してしまう人が少なからずいた。
このような「理不尽により思考放棄して無気力になる」という現象は彼女の狙い通りであり、デスゲームの展開を実際に体験するためには必要な要素として設定していたのだが、さすがにそのまま投げ出されて再起不能になるのも困るので以下のようなヒント画像を追加した。
嘘喰いやカイジなどの命を賭けたデスゲームシナリオの面白さは「理不尽に負けて思考放棄する参加者の中で、主人公だけがルールの穴を見つけて突破する楽しさ」である。
作者として包み隠さず書いてしまうと「ルールに意図的に穴を作ったのから、ちゃんと見つけて突破してほしい」のである。ただ、それに気が付かない人も多かったのでこのヒント画像を追加したのだ。
裏の世界のゲームのルールをちゃんと読むと「命を犠牲にわざと弱いコマを強いコマにぶつけて仕切り直し可能」というめちゃくちゃプレイヤーに有利な条件が判明する。これを使えば、例えば手札的に詰んだ時でも弱いコマをぶつけて新しいコマを引き直すことができる。
これを駆使すれば表よりも再現性高くクリアできるはずである。そもそも裏の世界では1ゲーム内でお手付き・敗北があると-10,-20,-30と減少量が増加するのだが、次のゲームになると減少量が-10に戻るから、実は思った以上に負けても命は尽きない。裏の世界では5回勝利することが必要になるのだが、1回勝つ度に命が+20回復するので、結構命には余裕がある。
命をリソースに手札を引き直す強力なドローソースをプレイヤーだけが使えるのが裏の世界の特徴である。
彼女はこの仕様がバレないように一見不利に見える条件でプレイヤーを無気力にさせて「水槽の中のネズミ」にさせようとしている。水槽の中のネズミは、はじめは脱出しようと足掻くのだが、どうやっても脱出不可能だとわかると、それを学習して何もしなくなる。無気力になってしまうのだ。
これは人間にも言える。現状に絶望して動かなくなり、学習性無気力というやつだ。説明文の下を見ると明らかに彼女はプレイヤーを無気力の沼に沈めようとしていることがわかる。
実際主人公は高校生活で何者にもなれず不満を吐いていたことから、日常から存分に学習性無気力を獲得していることがわかる。何かをするわけでもなく、部活にも通わず、勉強しても無駄と学習しているから夏休みの宿題を放りだしている状態だ。この状態ならば彼女の無気力化作戦に引っ掛かる公算は高そうである。
この主人公、つまりプレイヤーがゲームに勝つためには絶望的状況でも諦めずにルールの穴を突いて攻略する文字通りのデスゲームの主人公的ムーブが必要となる。
そして、実際にこの主人公ムーブを実行できた優秀な人の割合が2024年6月時点での簡単クリア率:11.1%、難しい:3.7%ということなのだろう。スゴイ!
プレイ解析 どこまでクリアできたかな
さて、ここからはこのゲームのクリア率を実際に見ていこうと思う。
ちなみに23/02/05 21:00ごろのクリア率はこんな感じ。クリア率の計算は「クリアしたユーザー数/全ユーザー数」で計算している。全ユーザー数はタイトルを初めて見た人数で計算しているため、自動巡回BOTやタイトルだけ見て遊んでいない人も勘定に入っており、実際にプレイした人数を母数とするとクリア率はこれよりも増えているはずである。
今回は「難易度:簡単のステージ1をクリアした人数」を母数とした時の簡単・難しいでのクリア率も見ていく。この方法だとタイトルに表示されているクリア率よりも高い値が記録されるはず。
まずは各ステージでのクリア人数から見ていこう。
・集計時期:2023/01/31~2023/02/02
難易度:簡単のステージクリア人数推移
クリア率:25.92%
難易度:難しいのステージクリア人数推移
クリア率:10.57%
面白いことに、難易度:簡単・難しいともにステージ10までに離脱した人数が多いことがわかる。
飽きたから離れたというよりは、難易度が高すぎたから離れた可能性が高い。どうもこのゲームは難しすぎるようだ。面白いんだけどね。
一応本ゲームはオートセーブなので、後日続きから遊ぶこともできる。また、そもそも難易度設計はリプレイ性を確保できていれば多少難しくても問題ないと考えてる。ゲームサイト運営としては、アクセス数を上げることが目的の一つになるので、むしろ簡単すぎてリプレイされない方が問題である。そのリプレイ率なのだが、再訪問率から計算して20~30%程度はあったので、思ったよりもプレイされているという印象だ。(こういうデータって比較対象がないと何とも言えないですね!こういう統計とってるマーケの方、こそっとお話ししましょう!)
また、難易度簡単において、闇の世界であるステージ18で少し脱落者が多いのか、棒グラフがガクっと下がっている。これは闇のステージから一気にゲーム性が変わることが原因だろう。逆に骨太のつわものが揃うであろう難易度難しいにおいては闇の世界に到達しても離脱割合はそう変わっていない。ここに来るのは相当の強者だからだろう。
まとめ
以上で、マルバツゲーム進化論の振り返り記事を終える。
改めて振り返ると、ウェレイさんという良き相談相手がいたことが今回の成功の要因だった。
ゲーム制作を長く続けていて思うのだが、エンジニアがゲームを作る最大のメリットはプロトタイプを短時間で量産できることなのではないかと思う。ゲームを作る前に面白いかどうかを頭の中でシミュレーションできる思考力もかなり大事だと思うのだが、この能力はある程度の指針にこそなれど、精度はそこまで高くできないものと考えている。
やはり、実際に作ってみて遊ぶ。そして作り直していくサイクルを劇的に早めることが面白いゲームを作るうえで大事なのではないかと思っている。面白さという評価の難しい目標値を上げるものを作っているのだから、実際に遊んで確かめてみる工程がどうしても必要になる。
良きテストプレイ相手、良き相談相手、そして短時間で効率的にゲームを作れるプロトタイプ設計力は今後も培っていきたいところだ。特に気軽に相談できてテストプレイできるクローズドな環境はかなり重要なので、しっかり意識して維持していきたいところである。そんな環境こそ、ゲーム制作者が一番欲している環境なのだから。
https://hothukurou.com/game/Marubatsu/index.html
ちなみに、次回作として変則マルバツゲームである「落下式マルバツゲーム進化論」というゲームをリリースしたので、ぜひ遊んでみてほしい。こちらは前回以上にクリア率が低いので、槍ごたえのあるゲームで遊びたい方におススメだ。
・落下式マルバツゲーム進化論