ゲーム制作日記<26> アバターシステム
みなさん、こんばんは。
ネコタです。
今回も恒例の『 コモンイベントで作るちょっとしたシステム 』 のご紹介。
今回、紹介するシステムは、アバターシステムです。
映画「アバター」をご存知でしょうか。
未開の地を開拓するために、先住民の肉体をアバター(化身)として人間の精神を送り込む装置を利用し、主人公は彼らとコミュニケーションを図ります。
そして、彼らの集落で出会った女性と仲良くなって・・・
な感じのお話です。
詳しくは、DVDを借りて観てください(笑)
で、今回のシステムは、まさにそんなイメージ。
プレイヤーがアバターの体を借りて、あちこちに行けるようになるというシステムです。
SFチックなRPG向けのシステムですね。
ちなみに、デフォルトの仕様は、
・アバターにキャラを入れ替えて探索できる。
・道具はすべて持っていける。
・経験値・アイテムを持って帰ることができる。
こんな感じ。
それでは、実際にどんな挙動になるか見てみましょう。
このスイッチを倒すと、アバターに切り替わることができます。
これが、今現在のパーティですね。
レベルは1です。
それでは、アバタースイッチを起動してみましょう!
カチッとな!
パーティが、黒子さんに入れ替わりました。
ちょっと分かりづらいですが、アバターと入れ替わって動けるようになっています。
それでは、宝箱スイッチを解いて、黒子さんで探検に出かけましょう。
扉を抜けると、そこは・・・
おや?
あれは、ウザ男くんではありませんか。
押しつけがましく、経験値をくれました。
根は良いやつなんですが、ウザいですね。
おかげさまで、この通り。
レベルが上がりました。
やったね☆
それでは、スイッチを踏んで扉を解放し、帰るとしましょうか。
無事に帰還しましたので、Shiftキーを押して、元に戻りましょう。
それでは、メニューを開いてみましょうか。
お、しっかりレベルが上がっていますね。
このように、経験値は均等に割り振られています。
ちなみに、すぐにもう一度アバターシステムを起動してみると?
黒子さんは、一度パーティに経験値を渡しているので、初期状態に戻ってしまいます。
もう一周して経験値をもらって来れば、再度、パーティに経験値が割り振られます。
以上が、アバターシステムの挙動になります。
私のゲームでは、不思議なダンジョンっぽいものをミニゲームとして入れて、アバターシステムで探検しようかな~、なんて考えています。
ただ、単なるおまけ要素なので、実装しないかもしれませんけど(^^;
余裕があれば、ですね。
それでは、実装手順を紹介します。
まずは、必要なモノの確認から。
【必須】
・変数 × 12
・スイッチ × 2+アクターの数
【推奨】
・コモンイベント: プレイヤー情報取得
・コモンイベント: パーティ人数カウント
・コモンイベント: パーティ変更
・コモンイベント: スイッチ・レバー(横)
推奨コモンイベントの内容は、下のような感じです。
コモンイベント : プレイヤー情報取得
コモンイベント : スイッチ(横レバー)
コモンイベント : パーティ人数カウント
コモンイベント : パーティ変更
(☆マークからが続きです)
いずれも汎用するものばかりだと思うので、あると便利です。
ちなみに、パーティ変更の際にスイッチを利用しているのは、仲間になっていないキャラクターが参加・離脱処理されないようにするためです。
・パーティに入っているキャラが離脱→スイッチON
・スイッチONなら→パーティに再参加
・そもそもパーティにいない→スイッチがOFFのまま
・スイッチがOFF→パーティに参加しない
こんな処理になっています。
それでは、準備が整ったところで、イベントの中身を見ていきましょう。今回のシステムはほとんどが、最初のレバースイッチの中に入っています。
レバー : 1ページ目
(☆マークからが続きです)
内容はやたら長いですが、やっていることはそんなに多くありません。
まず、スイッチの挙動処理を行い、その後にプレイヤー、黒子の位置情報を取得します。
変数:黒子位置の処理は、システム処理に直接関わってきませんが、大切な処理です。忘れずに位置情報を取得しておきましょう。
必要な情報を取得し終わったら、イベント:黒子(中身はないイベントです)とプレイヤー位置を交換する処理を行います。
これがやたら長いですが、要するに、
・イベント:黒子の向きと同じ向きになるように、プレイヤーを場所移動させる処理
・プレイヤーの向きと同じ向きになるように、イベント:黒子を場所移動させる処理
この2つを同時に行っています。
そして、ちょうど☆マークのところからですが、移動すると同時にイベント:黒子の画像をプレイヤーの画像に変更し、さらに、プレイヤーの画像を黒子に変更します。
この処理により、パーティ変更した際に一瞬画像がプレイヤーと黒子で入れ替わるという、見かけ上の不具合を消すことができます。
そして、コモンイベント:パーティ変更により現在のパーティを黒子に入れ替えて、スイッチ:アバター操作をONにして入れ替わり処理を終了させます。
レバー : 2ページ目
(☆マークからが続きです)
レバーの2ページ目では、入れ替わったプレイヤーと黒子をもとに戻す処理を行います。
手順は、1ページ目のやり方と同じです。必要な情報を取得し、向きが合うように場所移動処理を行います。
そして、注釈のところに仕様を書き込みます。
今回の仕様は、経験値を持って帰る処理があるので、その計算処理を入れています。
処理手順としては、まず変数:黒子経験値に現在持っている経験値を格納します。
そして、パーティの人数をコモンイベント:パーティ人数カウントにより取得し、変数:黒子経験値を人数で割り算します。
これで、一人あたりの獲得経験値が計算できたので、この値をパーティ全員に取得させます。
最後に、アバターシステムのスイッチを切って終わりです。
ところで、アバターシステム自体の処理はこれで終わりですが。
プレイヤー身代わり用イベント(黒子)の処理を忘れてはいけません。
扉 : 2ページ目
スタートイベント : 3ページ目
この処理は何かというと……
プレイヤーがお外に出かけてしまうと、
イベントの位置が初期化されてしまうんですね。
そうすると、プレイヤーが帰ってきたときに、プレイヤーの身代わりとなってスイッチの前に置かれたイベントが、あらぬ場所に移されてしまいます。
それでは困るので、あらかじめ位置情報を変数に入れて記憶させておき、戻ってきたときに場所を移す処理を行っています。
上記の内容を見て頂ければ分かるように、最初に取得していた変数:黒子位置はここで利用しています。
以上、アバターシステムでした。
さて、私のゲームで使うシステムは粗方できたので、今月からはストーリー進行をメインにやっていこうと思います。
というわけで、今回をもってシステム開発はとりあえず終了します。
次回からは、ゲーム内容の紹介を中心にしていこうかと思います。
ただ、必要に応じてシステム拡張を行うかもしれないので、その時にまた紹介するかもしれません。
あと、妻のプラグイン開発を進めていきたいので、集中してもらうためにも子育てをもっと手伝おうと思っています。
なので、ストーリーはなかなか進まないかも(^^;
できるだけ頑張っていこうとは思っていますので、
今後も応援よろしくお願いします!
ではでは、今日はこの辺で。
ネコタでした。
↓お役に立ちましたら、クリックをお願いします↓
にほんブログ村
にほんブログ村
にほんブログ村
スポンサーサイト