基本的に毎日更新しています。
漫画や新曲解説など 重要性の高い記事が埋もれやすいので、ページ右のブログ内検索 または タグ検索を利用することをおすすめします。

ゲーム版「ポケットモンスター デジタル」制作記

 このブログで度々話題に挙げる二次創作「ポケットモンスター デジタル」は、ずっと🎞️アニメ準拠で、サトシを主人公において話を進めてきた。しかし去年の10月あたりから🎮ゲーム準拠の設定にも力を入れ始めている。もちろんアニメ風設定を反故にするわけではない。サトシがアニメで主人公を卒業する以上、彼の冒険を引き継ぐのはファンに委ねられるということだろうから。

 ゲーム制作に利用するのは、長らく持っていながら大した活用ができていなかった「RPGツクール VX Ace」。これを買ったときは既にMVが発売されており、今はMZなるものまで発売されているが、あえてAceを使っているのは、僕が見知っているツクール制ポケモン二次創作ゲームが、VXやVX Ace(タイトルが似ているが似て非なるもの)で開発されているから(MVが発売される前に完成されていた)。exeのアイコンは直線的な勇者の3Dより🐲ドラゴンヘッドや🦄ユニコーン駒のほうがよっぽど格好いいでしょ。

 システムはなるべく本家に近づけつつ、オリジナル要素も取り入れている。コマンドやスクリプトをフル活用すれば、全く同じにすることもできるのだが、膨大な時間を費やすことになるし、自分が手掛けるのだから、自分の望むようにしたいというところもある。まず、グラフィックについては、主要キャラ・ポケモンのフィールド用ドット絵、ポケモンの戦闘イラスト、ゲーム中で流れる音楽は自作する。ここ一ヶ月新しい絵を投稿していないのは、ポケデジに利用するイラストを描くことに専念しているから。ちなみに戦闘イラストはまだ10分の1も終わっていない。そのせいでブラックの進行が滞っているのは誰にも内緒だぞ。

🔼一部抜粋:オリポケのティルクス(「チープディナー」出演済み)と🟧🟪SV初登場のマスカーニャ。ゲーム内ではこれを縮小したpngを使用する

 ここからは長いので続きから。(ほぼ備忘録、改行なしの不整頓文章)

 

 ステータスは、種族値と本家での実数値を参照したが、技は本家と同じ効果にできないものがある。今後不適合を発見したらポケモンごと(200匹+α)のステータスを直さなければいけない…戦闘は、プレイヤー側は主人公+ポケモン3匹の4アクター一斉で行う。PPは技ごとではなく一般的なRPGでいうMPとして存在し、PPを使い切るとどの技も使えなくなる。技とは別に通常攻撃のコマンドが存在し、こちらはPPとは無関係で、タイプ相性が全く考慮されないかわりに威力が低い。〇〇スキンは通常攻撃の属性に対して発動する予定だが、攻撃力を上げなければ実質効果なしになってしまうし普通に技を出したほうが早い。主人公は回復や能力上昇などの補助に回って味方ポケモンの戦闘をサポートする(バトルフロンティアでは一部を除いてプレイヤー側と敵側が対等な条件で戦闘するため、フロンティアでのバトル中は主人公は行動を封じられ、戦闘中に使用するアイテムは一旦すべて没収される)。手持ちポケモンの数は主人公だけでなく、サクロ地方のトレーナー全員が3匹までであり、チャンピオン戦も例外ではない。回復不可の連戦イベントという形で相手が4~6匹持ちを擬似再現する。これは、ツクールのデフォルト仕様で4人しか戦闘に出られない(スクリプトで増やすことはもちろん可能)からと言ってしまえばそれまでだが、ストーリー的には、サクロ地方元チャンピオンのケルビンがシロナと相談してサクロ地方の戦闘ルールを定めたということにしておく。シ「ポケモンバトル熟練者は3対3のバトルを好む者が多い。今やそれがポケモンバトルの一般常識にもなりつつあるわ。最新技術により発展するサクロ地方ならば、最先端の流行を取り入れてこそサクロ地方たりえるのではないかしら…駆け出しトレーナーも3対3を身に染ませて損はないしね」覚えられる技はUSUM以降を参照し、アレンジするところもある。数は4つに絞らず、いくらでも覚えられるが、これは設定としてはサクロ地方全体に蔓延するグラントパワーによってポケモンが他の地方よりも強いパワーを発揮することができると説明されるが、メタ的な理由としては、4つに絞るようなコマンドを組むことが非常に困難なことと、他者のツクール制ポケモン二次創作ゲームが技数を絞っていなかったからという2つの理由がある。どうぐをポケモンに持たせることはできず、戦闘中にポケモン自らが使用することによって代用する。全滅については一応再現できた。主人公以外の手持ちポケモンが全員戦闘不能になった(条件は「手持ちポケモンのHPが0である」であり厳密には違う)ターンの終わりに「戦えるポケモンがいない」→「主人公は賞金としてx円支払った」→「目の前が真っ暗になった」とメッセージが出る。払う賞金、落とす金額はストーリーの節目ごとに加算される変数が基本の額に乗算される(たしかDP以降の仕様)。再開場所は最後に回復したポケモンセンター、一度も利用していない場合は自宅。ポケセンで回復したときにプレイヤーの位置座標を変数に代入し、全滅後の場所移動のときにこの変数を参照して指定のポケセンへ移動する。それぞれのポケセンを初めて利用したときにスイッチをONにして、そらとぶタクシーで移動場所に登録されるようにしておこう。わざマシン・ひでんマシンはポケモンごとに覚えるか覚えないかをコモンイベント内で細かく条件分岐する(1イベントに限界行数がないか不安)。赤緑~HGSS・BDSP・SVに合わせて使い捨てだが、すべて買えるため一度きりになるということはない。ポケモンの捕獲について。草むらやダンジョン等でのエンカウントでは、捕獲チャンスが起こらないものと起こるものがあり、前者がマップ設定によるエンカウントで、後者がイベントにより発生するエンカウント。イベントというのは、そのイベントが配置されたマスの上に立つと乱数を発生し、一定の確率でエンカウント処理が行われる内容。その戦闘ではポケモンの体力を0にすると捕獲するかどうかのメッセージが表示され、ボールを選択して投げる。現時点ではモンスターボール、スーパーボール、ハイパーボール、マスターボールの4種類しか用意していないが、増やす可能性もある。僕自身は捕獲に失敗するのがすごく嫌なのだが、ここではあくまでも本家をなぞって4回捕獲処理を行うことにする。計算方法は流石に同じにはできず独自の計算式を使っているけど、本来は3とかの伝説系も判定ガバガバでいいかな…捕獲失敗が嫌な原因はそのときに出るメッセージが大きな要因。赤緑からSVに至るまで伝統的に守られている言葉だが、特に理由はなくともすごく不快さを感じるタイプである。そのため、ここでの捕獲失敗時メッセージは、条件分岐を利用すれば本家と同じにできるのだが、あえて「ポケモンが ボールから 出てしまった!」の1つだけにする。一回の戦闘につきチャンスは一度だけであり、失敗するとポケモンは逃げてしまう(敵が逃げると経験値が入らないが、体力ゼロ=倒したと同義なので、なんとか工夫して経験値を獲得できるようにした。画面の表示上では簡単そうに見えるが実はかなり苦戦した)。伝説系というのは、サクロの準伝説・伝説もそうだが、マボロシの場所、ウルトラホール、ダイマックスアドベンチャーハマナスパークなどにあたる歴代の伝説ポケモンと会える施設を検討中で、それらの捕捉率が極端に低いと捕まえるために何回も出入りする必要があり面倒になるので、マスターボールをたくさん入手できるようにするか、ハイパーボールを使えば70%ほどで捕獲できるようにするくらい楽でもよさそう。手持ち以外のポケモンを保管する場所はポケモンライブラリといい、ポケモンボックスとは別のシステムである。現状、ポケモンに付随するパラメータのデータは1種類のみでそれしか保存することができず(姿違いやリージョンフォームは別として扱うことはできる)、複数体捕獲することや個体差を再現することができない。捕獲したポケモンがボックス内の特定の場所に居座る(並びが整頓されている)ことからポケモンライブラリと改称した。進化については、これも特定のレベルや条件を満たしたときに自動的にイベントを入れることができないため、条件を満たしたポケモンを「進化相談所」という施設に連れていき、そこで進化に必要なエネルギーをもらって進化する形になる。レベル以外にアイテムや時間帯など別の条件がある場合もそれが必要となる(各種いしを進化時に消費する、時間が必要なのはエフィブラやルカリオなど)。BASICは文字列を変数に代入できたのだが、ツクールの機能ではそれがなく、進化したときにニックネームを引き継げるようにすることがどうしてもできなかった。進化すると名前が種族名にリセットされてしまうが、そこは姓名判断師を利用してもらうという形で妥協。個体値が再現できないのみならず、努力値も未実装。きょうせいギプスやパワー〇〇など努力値に関係するアイテムは不在になる。ではインドメタシンタウリンなどのドリンクはどうするかというと、1つの能力が上がるが、同時に別の1能力が下がるという一長一短アイテムになるボンドリンクみたいになる。具体的な値はまだ未確定で、2~5のどこかになる。ポケモンを1種類で1匹しか保管することができないので、上下した能力をリセットするドリンクアイテムも作成するつもりだが、これは面倒になるかもしれない。上下した能力値をリセットするには、どのステータスが元の状態からいくつ違うのかを記録する必要がある。つまり、データがあるポケモン数×6個分の変数が必要だ。しかし本家ではそれ以上に大量の数字がプログラムを巡っていると考えればどうということはないのか。時間については、指定のマップを出入りするたびに変数が加算されていって、特定の値までたどり着いたら、朝、昼、夕、夜、と変化させることができる。任意の時間調整は、ポケセンで休憩することによって行う。朝昼夕夜のどれにあたる状態なのかも変数で管理し、この時間帯にしか起こらないイベント、捕まえられない、進化できないポケモンを指定することもできるだろう。タウンマップを見たときに、最初からジェット団アジトとか堂々と表示されるとネタバレになるので、展開を知られたくない部分は最初?????で隠しておいて、ストーリーの進行で情報が見れるようになる仕組みにするつもり。…って逆に分かりやすくなっちゃう?先程も書いたが、サクロ地方にはバトルフロンティアがある。これはプラチナ版シンオウ地方HGSSジョウト地方にあったものと同じ。バトルタワー・バトルステージ・バトルキャッスル・バトルルーレット・バトルファクトリーの5つ。戦闘システムが違う以上本家と同じようにはできない…あらかじめ敵のグループは設定しておく必要があるため、ランダムではないかと思わせるほどの膨大な戦闘グループを用意する。バトル施設のコマンドを組むのは1年以上後のことになると思うが、レベル51以上のポケモンのレベルを挑戦中に50に引き下げるコマンドは忘れる前に組んでおいた。タワーはほぼ同じにできる。ステージは、戦う相手のタイプ選択は…面倒だけど出来るか?タイプ名を冠したアイテムをタイプ選択のときだけ持っていて、それを選択することで指定のタイプを持つポケモンと戦うということはできるかもしれない。キャッスルは、CPを使うコマンドが独自の内容になりそうだがだいたい可能。ルーレットは戦闘前ではなく、戦闘中に起こる上に完全ランダムでプレイヤーの任意のタイミングで止めることができなさそう。そうしないと相手にルーレット効果をかけることができない。それに、一回の戦闘に一回しか抽選が起こらないのはつまらないから毎ターン終わりに何度でも抽選が起こるのでもいいんじゃないかという暴挙まで考えている。ファクトリーはレンタル用に各ポケモンのデータをもう1セット用意する必要があるかもしれない。7連勝しないとBPがもらえない(しかも少ない!)というのは自分自身もやってみて非常に不便だと感じたので、5連勝区切りにしようと思う。3連勝も考えたが、入退出がこまめに挟まれると逆にテンポが悪くストレスがたまりそう。15戦目と30戦目でフロンティアブレーンと戦うという方向性。カトレアはイッシュ四天王で忙しいだろう。コクランはずっとカトレアお嬢様に付き添っているタイプなのか、雇われ執事なのかは不明だが、前者だった場合キャッスルバトラーにはできず、後者の場合は別の令嬢がバトルの様子を見下ろしていることになる。キャッスルバトラーの配役は彼の立場がどうなのかの考察結果による。ケイトだけキクノに置き換えようかとも考えたが、他が来てくれてるのに一人だけいないというのは浮いてしまうかも。他地方のメインキャラやジムリーダー、チャンピオンが連戦中に出てくる演出も面白いかもしれない。現在は、ポケモンの戦闘グラフィックやマップの組成を優先している。ポケモンごとのステータスや技を作り上げておかないと、道中で必須になるモブトレーナーとの戦闘シーンが作れないからだ。一個人の制作する派生が、巨大なチームの制作する本家を超えられるのか、これがゲーム版ポケデジの制作における1つの目標である。