D&B Part1『脱出』制作ノート
D&B(ダンジョンズ&ボヨヨンズ)Part1『脱出』は他の作品と同様にプログラミングの練習目的で作ったゲーム 単純な迷路脱出ゲーム →今すぐプレイ
コンセプト
プログラミングの練習が主目的なので公開しなくても良いのだけど、この作品は公開するという方向で考えていた気がする。
ただ、当初はもっとオリジナリティのあるルールに変更しなければ公開する価値は無いだろうと考えていたが、何度も動作検証をしているうちにシンプルなタイムアタックのゲーム性で公開したいと思うようになっていった。
当初は自由に敵の数を変更したりマップの広さやマップの複雑さを自分で指定できたりとかなり自由度の高い仕組みとなっていた。しかし、ゲーム性の中心をタイムアタックにしようと思った段階で自由にマップの広さを変えられたらタイムアタックにならないのでマップの広さはフロアーごとに固定し、複数のフロアーを用意してそれぞれに異なる広さや敵の数を設定するという仕組みとなった。
いつの段階だったかははっきりしないが、タイムアタックをゲーム性の中心にもってきた段階で、タイムスコアを集計してランキングを表示すればタイムアタックは盛り上がるのではないかと考えた。記録の残らないタイム表示ではスクリーンショットを撮って共有するといった方法でしか競う事が出来ないので、ランキングを表示する仕組みが必要な事は明白だった。
スコアを集計表示するためには各プレイヤーの結果を送信する必要が出てくる。
また、結果を蓄積した上で、集計し、上位ランキングをソートして表示する必要がある。
これらはユーザーのブラウザで動作するJavascriptだけでは実装不可能なのでサーバーサイドの仕組みが必要となる。今回はまともなサーバー構築は一切行わず、Googleスプレッドシートにデータを蓄積し、Googleスプレッドシートの関数で集計し、その結果を受診するというシンプルな仕組みを構築している。詳しくはD&B Part1『脱出』技術的なメモに記す。
D&B Part1と、一作目から二作目を作るかのようなタイトルにしたのには一応理由があって、シンプルなタイムアタックで公開すると決める前にあった各種アイデアを実現した続編を作る前提で、今はとりあえずシンプルなタイムアタックの迷路脱出ゲームにすると自分に言い聞かせる必要があったからである。
いろいろとやりたかったアイデアはあって、ダンジョンを潜っていくところから始めて、宝物を見つけて脱出するところまで全てを作ろうとも考えていた。
ただ、そうしたRPG的というかローグ的な内容はシンプルな面白さとは相容れないし、そこに着手すると時間がどれだけかかるかもわからなかった。
プログラミングの練習が主目的であり、既に十分初めての試みを行っていたので、いつか着手したいという含みを残す形としてPart1とした。
キャラクター
主人公『紅鴉(べにがらす)』についても特にキャラクター性を付けなくてもゲームとしては問題なかったのだけど、Part2へと繋げるお披露目という意味もありキャラクター性を持たせることにした。
紅鴉に東京下町言葉を喋らせようと思ったのはカッコイイ女性というぼんやりとしたイメージの中で威勢の良い女性をイメージしているうちにだんだん下町言葉で威勢よく喋るイメージが膨らんでいき、そこで慌てて東京下町言葉を色々調べたりしてあれらのセリフは完成した。
謎生物ボヨヨンはなんとなく某タイムパトロールアニメのキャラを落書きしているうちに、これ緑にしたらスライムみたいだなぁと思って、そのままドット絵で描いてみたら出来上がったという感じ。
最終的には声優のJiRさまのお声が入って、紅鴉が威勢よく喋っているのを聴くとキャラクター性を持たせてよかったなと思った。
ビジュアル面
前二作が生成AIイラストを多用していたのに対して今作は生成AIイラストを一切使っていない。
当初は生成AIイラストを一部使っていたのだけど、キャラクターを前後左右に向かせて描画させる事が生成AIではとても難しく、特に左右を明確に認識させるのは難しかった。
また、前作の『Smile Reversi』で服装に苦労したように、服装の固定化は生成AIイラストの大きな課題となっており、そこに苦労するくらいなら手描きの方が手っ取り早いと思って手描きドット絵で作成を行った。
手描きドット絵といってもiPad ProにApple Pencilを使って描くので昔とは生産性が全然違う。
Pixquareというドット絵作成アプリも使い勝手は悪くなかった。また、easy poseという3DCGで人物にポーズを取らせることが出来るアプリは便利だった。これでポーズを作り、それを見ながらドット絵を手描きするというのは快適で従来のドット絵制作の印象とは全く違うものになっていた。
しかし、ビジュアルにこだわるなら単に前後左右の向きの画像を用意するだけではなく、手足を移動に合わせてアニメーションさせるといった事をするべきなのだが、そういうところに手を出すと当然時間がかかる。
限られた時間の中で一つ一つ結果を出す、どこまで手を加えるかを決めて終わらせるというのはとても重要で、どこに時間を使うか、使わないかを明確化していかないと時間はどんどん過ぎてしまう。
結果として出来上がったドット絵は決して褒められるようなものではなかったし見栄えが良いとは思えなかった。前作と比べてパットしない印象を与えていることは否めない。
まぁくっきりとして見やすくはある。
ゲームバランス
タイムアタックがゲームの基本コンセプトになった時点でわたし自身が何度も何度もプレイを繰り返して各マップの広さや難易度、敵の数や位置の調整を行った。
繰り返してプレイしても同じ展開にならず、毎回状況判断を必要するというところにはこだわった。
具体的には迷路は毎回ランダムで生成される。
敵(ボヨヨン)は最終的な調整で5種類の思考パターンをランダムで設定するようにした。
敵の動きをよく見ないと予測できないようになっており、合わせて迷路の形状を考えなければならないので状況判断力が必要になる。
とはいえ、身内でテストをしていた段階では簡単すぎるという感想もあり、もっと難しくすべきではないかとも思ったのだが、タイムアタックを楽しむためにはある程度簡単でないとクリアできなくてタイムアタックにならないと思い、難易度はそのままにした。
実際に一般公開してみるとクリアできない人が続出で、身内の意見に耳を傾けなくて良かったと思った。
公開直前にフロアーごとのタイムランキングを実装したが、クリアー時にしか送信されないため、途中でゲームオーバーになると前半で良いタイムを出したとしても記録に残らない仕様だった。
思った以上にクリアー出来ない人が多いため、公開直後にゲームオーバー時にもスコアを送信する仕様に改修を行った。
ゲームオーバー時は総合タイムのランキングを表示する機能は無いので気が付かない人も多いと思われるが、タイムは送信しているのでフロアーランキングにランクインすることもある。
BGMと音声
今までの過去作品ではBGMは実装したことがなかったが、今作では生成AI(Stable Audio)を用いて生成したBGMを実装している。
音声は今回もJiRさまにお願いした。わたしの考えたなんてこと無いセリフも音声が入ると実感が湧いてキャラがたったように思えるのは不思議なものである。
リリース後
前作の『Smile Reversi』は公開までにとても疲れたのだけど、今作はどうかというと、やはり疲れた。
今作の場合は内部的なデータ送受信処理や60分の1秒で書き換えるスクロールといった部分でかなり手間をかけている。しかしパッと見には地味でシンプルな迷路ゲームであり、公開した後の反響もほとんどない感じであった。
まぁ苦労したゲームバランスについては極一部で高評価もされてはいた。
前二作が「リバーシ(オセロ)」「百人一首」という伝統的なゲームをテーマにしていて説明がほぼ不要なのに対して、ゲームのルールを理解する必要があるという点もユーザーにとっての障壁にはなっていたようで、こんなのを作りましたと紹介しても気軽に遊んでくれる人は少なかった印象。
データの送受信実装は自分にとって初めての試みで特別な出来事ではあったが、遊ぶ側の人にとっては極当たり前の機能でしか無かった。まぁ10ミリ秒単位で記録を残すようにした仕様の調整はタイムアタックをするうえで意味はあったのだけど。
個人的にはデータを記録するようにした為にGoogleドライブを開くたびにデータの更新があったか無かったがはっきりわかってしまい、「誰も遊んでないなぁ」という事実を実感する事となった。
まとめ
今作ではデータの送受信、手描きドット絵、生成AIによるBGMなど、初の試みを多く行った。
ゲーム性という点ではシンプルでわかりやすくを重視し、尚且つ何度も繰り返してプレイする際に飽きさせない仕組みを作る事にこだわってみた。
スクロールを滑らかにするという点を工夫することもプログラミングの経験として良かったと思う。
さて、では最後に声優のJiRさまからのメッセージが届いているので掲載しよう。
JiRさまのお言葉
D&B Part1『脱出』公開おめでとうございます✨
今作の魅力はなんといってもプレイヤー同士でタイムを競うランキング、プレイする度に変わるランダムなマップやボヨヨンたちの動き、かっこいい紅鴉とかわいいボヨヨンたちのドット絵!
シンプルですが、何度もプレイしたくなること間違いなしです!私も「悔しい、もう一度…!」と何度となくプレイさせていただいております。
声を担当させていただきました紅鴉も下町言葉でたくさん喋りますので、ボヨヨンたちに捕まらないように最速脱出を目指してみてください!
コメント
コメントを投稿