この記事の概要
この記事では、「気楽に遊べるミニ将棋盤ゲーム 将棋RPG」の振り返り記事を残す。
このゲームは公開当初から想像以上の反響をいただいた。この「将棋」というゲームの訴求力のすごさを考察したり、将棋RPGと検索しても競合強くて検索トップ取れない!という命名問題を書いたりしている。最後にクリア率をまとめて序盤の攻略情報も残した。
・将棋RPG
https://hothukurou.com/game/Shogi/index.html
将棋の駒を集めるゲームってみんな考えない?
このゲームのアイデアはとてもシンプル。将棋の駒を集めて最強の布陣を作ることだ。このシンプルな目的がウケたのだと思う。
おそらく、ゲーム制作を志した人ならば一度は思いつくアイデアだろうと思っている。自分もゲーム制作をはじめたばかりのヒヨッコだった頃に「将棋っぽいゲーム作ったけど、このシステム応用して、駒集めRPGっぽくできそうだな」と思ったものである。将棋っぽいプログラムはゲーム制作者なら一度は作ったことあるだろうから、まあみんな同じことを考えただろう。
ただ、将棋っぽいプログラムから「そこそこ満足に遊べる将棋のプログラム」を作ろうと思ったらとたんに敷居が高くなる。操作方法も現代的なドラッグ操作で打てるようにして、駒がアニメーションで動くようにするのはそこそこ描画処理に慣れていないといけないし、将棋のプログラムは一人で遊ぶことが多いので敵AIを作ろうと思ったら全探索プログラムの作成をしなければいけない。
例えば3手先を全探索するプログラムを考えたら結構な探索量になるので、処理を最適化する方法を学ぶ必要がある。ここまでくると本格的にアルゴリズムのお勉強になる。
で、ここまで組み切る前に勢いで1000行を超える膨大にとっ散らかったコードで書いてしまうと、もう二度とみたくないであろうプログラムが完成し、当然ならばこれ以上の更新はされなくなる。上記のコードは適切に分割してモジュール化するなどの整理ができていなければこんなことにはならなかったのだが、そのためには知識と経験の両方を用いたコーディング設計力が必要になる。
と、このような理由で将棋をRPGにしたゲームは今まであまり完成しなかったのではないかと推測する。昔自分は同じような挫折をしたから、「光るアイデアはあるが実装力が足りていない」パターンは結構あるのではないかと思う。
現在のスキルであれば適切な実装により保守管理しやすいプログラムが完成するので、やっぱり長い間プログラミングを続けていると設計の経験値が溜まっていくのだなと思う。ただ、社会人になると時間がなかったり、そもそも頭が固くなって将棋RPGというゲームアイデア自体が浮かばなくなるものなので、たまにはゲーム制作をはじめたばかりの何者でもなかった時のアイデアを思い出したりすると宝石のようなアイデアを発見できるのかもしれない。
ちなみに本作は副業の一つで将棋のゲームプログラミングを教えていた時に思いついた。当時ゲーム制作をはじめたころの自分を思い出したのかもしれない。たしか2時間くらいでちゃんと全探索できるAIモジュールが実装できたので、これを使って探索量が少ない5×5の将棋ゲームを作ればいいじゃないと思ったのが本作を制作した動機である。
AIモジュールの速度検証
実際に公開した当初は、3手先を全通り確認して最善手を返すプログラムであった。持ち駒なしルールの5×5盤面ならば探索数はそこまで多くないだろうと思っていたのだが、一度に動ける量が多い飛車角女王などの駒が入ってくると探索数が多すぎて、極端に手数の多い盤面では探索中に画面が止まるフリーズが発生してしまった。
本来はこの探索中に、「明らかに探索せずとも不要な手を探索しない」αβ法のような枝刈り処理を入れるのだが、公開当初は「ラグないからいいや」とこのまま公開していた。実際、女王が複数個ある最終ステージ以外では体感で気にならなかったのだ。
ただ、最強の駒である女王を敷き詰めた隠しステージを公開しようと思った段階で、この盤面がめちゃくちゃ遅くなることに気が付いた。具体的に言えば一手あたり0.7[s]思考時間がかかっている。この時間画面がフリーズするのでちょっとストレス源になっていた。これは改善が必要である。
女王は縦横斜めをぶつかるまで移動できる最強の駒である。これによって探索数が多くなってしまったことがラグの原因であった。
ここでようやくαβ法による枝刈りを実装することにした。ちゃんと書くと「ネガマックス法で全探索していたものを、ネガアルファ法で枝刈りを行う」処理を書いたところ、平均0.07[s]まで処理量を減らすことができた。10倍近く高速化できたことになる。gitで差分を見たところ、既存のAIモジュールの5行だけ書き換えるだけでここまで高速化できたので面倒くさがらずに早くやっておけばよかったなと思った。
ちなみに隠しステージは「女王だけで敷き詰めると、こちらも女王を集めて挑まなければならず、さすがに面白味がない」と思いなおして女王をいくつか金将に入れ替えて公開した。最強の上端で布陣を揃えるよりも多少上端よりも余裕がある構成の方が自由度があって面白いからである。
当初はこの隠しステージを黙ってバージョンアップと共に更新していたのだが、更新後20分で速攻でバレてコメント欄で指摘されてしまった。みんなそんなにすぐ気が付くものなのかとビックリした。
タイトル競合多すぎ問題
「気楽に遊べるミニ将棋盤ゲーム将棋RPG」という名前、おそらく検索するときは将棋RPGと打って検索するだろう。将棋もRPGも検索ボリュームが大きい単語であるから将棋RPGは中々の検索流入数が見込める一方で、「これは同じタイトル複数ありそうだな」と事前に競合調査くらいはしていた。
結果、強いタイトルはあったものの、それはだいぶ前にサービス終了していたこともあり、このタイトルは将棋RPGで検索してもトップとれるでしょうと安心してこのまま公開してしまった。
が、将棋RPGで検索しても24/04/14現在、このゲームはトップに表示されていない。数年前以上前にサービス終了したゲームであったとしても、法人が出したゲームはなぜか未だにアクセス上位のままである。これは思わぬ誤算だった。次回はちゃんと検索でトップ取れるタイトルを狙いたいものである。
「気楽に遊べるミニ将棋盤ゲーム将棋RPG」で検索すればトップとれるのだが、さすがにこれだと長すぎる・・・。
クリア率の集計
ここからはこのゲームのクリア率を定量的に確認していく。
また、実際に周囲の人にプレイしてもらったときに「どこで詰まっていたか」を目視確認し、今後の改善に生かしていく。
ではまず各数値の発表である。
集計期間:4/9 9:00~4/12 21:00くらい
クリア率の定義:タイトル画面の「ゲーム開始」「つづきから」ボタンを押した回数と「クリア画面到達」した回数を計測し、その割合からクリア率を求める。
クリア率:20.39%
クリア率のうち、コンティニュー後のクリア率:52.78%
本来、クリア率の定義は「ユーザー一人ごとに何度コンティニューしたとしてもクリアした割合」で計算するのが正しいのだが、今回はクリア率の定義で書いた通り「ボタンを押した回数」でのみ計測している。つまり「ゲーム開始を押してあきらめた後で、後日続きからクリアした場合」は2回ゲームを開始して1回クリアしたことになってしまう。そのためクリア率はいつもよりも低めの数字である。
上記の事情を考慮したとしても思ったよりもクリア率は高くない。
将棋経験者にプレイしてもらった限りでは、桂馬と香車さえ手に入ればラストステージ含めてクリアできるので簡単なゲームに思えるようなのだが、あまり遊んだことのない人だとかなり難易度が高かったようだ。「このゲームに興味はあるけど、クリアできなかった人」のプレイを見てみると、以下の特徴があった。
まずは、ステージ1で詰まるパターンだ。これは「自分の王が一番上の段に到達すると勝ち!」という文章が読めなかったことが原因である。このステージは王様を最上段に移動する以外の勝ち方はなく、実は「上の段に到達すれば勝ち!」というルールを周知させるために用意したステージである。
まあここで詰まったらしゃあないとは思っている。もうちょっと勝利条件をわかりやすく強調表示する手もあるが、労力に見合わない気もするのでこのままでいいかなと思っている。
次の難関として、どうもステージ2以降で最初の歩以外を手に入れることに苦労するらしい。
例えば3-1にある銅将の入手は初心者にとって鬼門のようである。
一応攻略方法を動画で残しておくが、少し歩でフェイントを入れれば横移動ができない銅将は簡単にかわすことができる。
また、2-2の桂馬を捕獲できずに苦労することもあるようだ。
桂馬の頭に王将を置けたら楽勝で勝てるのだが、初心者だと気が付きにくいのかもしれない。
実際に悩んでいる人の前で実演して見せると「あ、確かにそうやね!」とビックリしていたので、将棋に慣れていない人にコマの動きを理解させるためには良いステージなのかもしれない。
ちなみに最序盤の2-2は一番苦戦するだろうなと思っていた。桂馬が3枚置いてあるステージである。
もちろんちゃんとやるとクリアできる。
序盤の攻略方法は以上である。ここを突破できれば香車も簡単に入手できると思うので、ぜひ攻略して将棋RPGをクリアしてほしい。
まとめ
以上で気楽に遊べるミニ将棋盤ゲーム将棋RPGの振り返りを終える。
将棋初心者向けの簡単な難易度に設定したのだが、思ったよりもちょうどよい塩梅にできたようで一安心である。それにしても反響がとても大きかった本作、将棋とRPGの組み合わせによる集客力の強さにびっくりした次第である。
・将棋RPG