皆様お元気でしょうか、最近私は、してみたかったけれど出来なかったことにチャレンジしています。
少々疲れてしまう部分も存在しますが、それよりもずっと楽しい空間が広がっていてチャレンジすることも大切だと感じています。私は元気です。
前回までで主要キャラクターの紹介が終了したので今回は
【私とデータと格闘のゲームと】におけるターン制バトルのシステム制作のお話です。
このタイトルを見て次のように思った方もいるのかもしれません。
「そもそも使ってるソフトにバトルのシステム入ってるじゃん!!!」
…その通りです。しかし当時の私にはどうしても実装したかった演出が存在しました。
上の図はゲーム画面を超簡易的に表したものです。
イラストとテキストが同時に表示されるような演出を行いたいと考えていました。
しかしながら当時の私は既存のバトルシステムで
思うように動かすことが出来ませんでした。
そこで思いついたこと
「そうだ、1からシステムを全部作ってしまえばいいんだ!!(!?)
そうすれば表示タイミングも自分で調整することが出来るじゃないか」
ということで、ターン制バトルのシステムを1から作ってみることに。
厳密にいえば本当にプログラムから、0から作っているわけではありません。
ソフト内のスイッチや変数などを使ってシステムを作っています。
それでも実際に作ってみると考えることは非常にたくさん存在します。
実際にどうやって動いているのか、簡易的ですがご紹介しようと思います。
様々な理由ですべて紹介は出来ないので技を選択してから発動するまでの流れを見ていこうと思います。
1.技の選択はアイテムの選択処理で判別しています。
(技がアイテム欄に存在するのはこのためです。)
アイテム(技)にはIDが割り振られており、その番号でどの技を発動させるのか決めています。
2.その後、装備品の効果が発動されるように処理を行います。
3.技を実行します。この時、別のイベントへ移行しています。
そして1つの技を実行するわけなのですが、そのときに行っている処理がこちら
1つの技にこれだけの処理が存在します。しかも手作り。
細かすぎるので詳細な説明は省略しますがイベント内に注釈を入れなければどうなっているのか非常に分かりにくい作りになっています。
もちろん全ての技ごとに別々の設定をしていきます。
これがシステム内のターン制バトルの技選択のざっくりとした流れの一部です。
この位置から、さらに詳細なイベントでは
・ダメージ算出式
・状態変化が何ターン続くのか、テキストはどうなっているのか
この位置から、もっと大枠の部分では
・プレイヤーと相手のどちらが先に動くのか
・どうすれば試合が次の段階へ移行するのか
などをスイッチと変数で動かしています。
今になって思うのはもっと上手い事できたのではないかということです。
既存のシステムが存在するので、そのシステムを利用できればもう少し楽できたはず。
ただ、1から作ったので演出をある程度思い通りに作ることができました。
そこがおもしろかった点です。
今回は以上となります。システムを1から作るのって難しい!!