ゲーム制作日記<5>  スキルひらめきシステム


みなさん、こんにちは。
ネコタです。


さて、今回はゲーム ” ロマンシング・サガ ” シリーズでおなじみのあのシステム、
スキルひらめきシステムのご紹介です。

といっても、本家とは似て非なるものですけどね。



スキルひらめきシステムというのは、戦闘中にとあるスキルを使用した時、一定の確率で新しいスキルをひらめき、そのスキルを覚えるというもの。


ピンと来ない方のため、画像で説明しましょう。

まず、これが戦闘画面です。

tc4-1.png


例えば、ここで魔法を選択して、
魔法のメニューを開きます。


tc4-2.png


そして、魔法01を使用してみましょう。


tc4-6.png


魔法01を使用後・・・


tc4-3.png


スキルをひらめきました
するとすかさず・・・


tc4-5.png


魔法02を発動します。



この後、同様に魔法を選択してみましょう。


tc4-11.png


tc4-4.png


魔法メニューに ” 魔法02 ” が加わりましたね。



このようにして、新しいスキルを覚えていくことができる。
それが、スキルひらめきシステムです。



結構複雑そうなこのシステムですが、実は、基本的なところは意外と簡単だったりします。



では、さっそく中身を見てみましょう。

まずは、実際に使用したスキル ” 魔法01 ” の中身です。


データベース ” 魔法01 ”
tc4-7.png


今回、スキル ” 魔法01 ” には ” コモンイベント ” しか設定していませんが、ダメージを設定していれば、きちんとダメージが入ります


で、例のごとくコモンイベントの中身を見ていきたいのですが、その前に下準備が2つ必要です。


まず、乱数の設定をします。

コモンイベント ” 閃き乱数格納 ”
tc4-9.png

中身は、「変数 ” ランダム変数 ” を0~1000の範囲でランダムに代入します」というもの。

この処理により、スキルを覚える確率が変わってくることになります。

コモンイベントでわざわざ作っておく理由は、たくさんのスキルを作る場合、この操作を何度も書いていく必要があるからです。

また、確率の微調整の度にすべての箇所をいじるのは非常に面倒です。

そのため、微調整する際もここで一括処理できるようにしています。


次に、データベースのスキルです。

tc4-10.png

スキルを閃かないコピーを用意しておきます。



これで、準備が整いました



それでは、スキルひらめきシステムの核となるコモンイベントの中身をみてみましょう。

コモンイベント ” ひらめき ”
tc4-8.png


まず、 ” 条件分岐 ” ” 指定アクターがスキル魔法02を覚えている ” という条件を与えます。

その際、 ” 条件を満たさないときの分岐 ” にチェックを入れるのを忘れずに。


tc4-12.png


そのアクターがスキルを覚えている場合には、もうひらめく必要はないので、そのままスルーさせるために覚えている場合の分岐はにします。


分岐 ” それ以外のとき ” から、コマンドを書いていきます。


まず、先ほど準備しておいたコモンイベント ” 閃き乱数格納 ” を入れます。

これにより、抽選を行うわけです。


次に、 ” 条件分岐 ” で変数 ” 閃き1 ” ” 30 ” 未満を指定しています。

そして、変数 ” 閃き1 ”” 30 ” を代入します。


この処理は、変数 ” 閃き1 ” の範囲を30からスタートさせたいための処理です。
(以降はスキルを何度使用しても、この処理は実行されなくなります)

この定数はいくつでも構いませんが、今回の場合は、乱数0~1000に対して0~30だった場合はスキルをひらめかせる予定なので、この数字です。確率的には31/1001(約3.09%)です。

ちなみに、なぜこんな半端な数字にしたかというと、単なる勘違いです(笑)
(3%にしようと思ったんですが、それなら乱数を0~999に、閃き1の範囲を0~29にすべきでした)



次の条件分岐 ” 閃き合計 < 10000 ” ですが、これは複数のひらめきスキルを設定するときに上限を設けたかったから作っています。必要なければ条件付けは不要です。

条件分岐の中身は、変数 ” 閃き1 ”” 1 ” を加算します。


実は、最初の条件分岐の前にこんな操作をしていました。

tc4-13.png


変数 ” 閃き合計 ” にひらめくスキルの数だけ作った変数 ” 閃き ”を加算していきます。

この合計値が10000になるまでは、変数 ” 閃き ” ” 1 ” を加算することができます。

10000になったら、それ以上は加算されません
(任意の上限操作により、スキルを必ず覚えるということをなくすことができます

さて、ここまでがスキルを覚えるための条件付けの準備になります。


次の条件分岐 ” ランダム変数 < 閃き1 ” を指定します。

変数 ” 閃き1 ” は先ほど述べた処理により、スキルを発動するたびに1ずつ加算されていく仕組みになりますので、この条件設定によりスキルを発動するたびにひらめきやすくなっていくことになります。

あとは、ピクチャやアニメーション、文章を表示して ” ひらめき ” の演出を設定します。

演出が終わったらピクチャは邪魔なので消去します。


そして、スキルを指定アクターに覚えさせたら、強制行動で ” 魔法02 ” を発動させます。

この時、発動させるスキルは、コピーした ” 魔法02 ” です。

覚えさせた ” 魔法02 ” にもコモンイベント ” ひらめき ” を設定すると、連鎖的にどんどんひらめいてしまうためです。
(そういうシステムもありかもしれませんが)


そして、変数 ” 閃き1 ” ” 0 ” にしておきます。
変数 ” 閃き合計 ” にスペースを作って、他のスキルをより覚えやすくするためです。


これで、スキルを覚えさせる処理は終わりなので、 ” ラベルジャンプ ” により ” 閃き終了 ” に飛ばします。
(これは、ひらめきスキルを複数作る場合の処理になります)


tc4-14.png


今回作成している参考画像では、条件分岐 ” ○○が△△を覚えている ” をコピペして内容を書き換え、複数のひらめきスキルを覚える処理を行っているため、最後にラベル ” 閃き終了 ” を入れています。

そして、変数 ” 閃き合計 ” の値を ” 0 ” にリセットしておきます。
(でないと、最初の操作で何回も数値が加算されてしまうため)


これで、イベントの中身は終了です。


詳しく書いてきましたが、今回のシステムを一言で要約すると、

範囲0~1000(千分率)の確率でスキルを覚えるシステム

ということになります。



このシステムの欠点ですが、ゲームの趣向にいくつか制限がかかります。

まず、アクターを指定してスキルを覚えさせ、強制行動をとらせています。

なので、コモンイベント1つにつき、1人のアクターが対象となります。

複数人でこれを行う場合には、コモンイベントも複数用意しなければなりません。


また、スキルに直接紐づけて制御する方法なので、そのアクター専用のスキルであるということに注意しなければいけません。



応用すれば、通常攻撃でも閃かせることができたりします。

ただし、デフォルトだとスキル ” 攻撃 ” に紐づけてしまうため、プラグインなどで武器毎にスキルを指定できるようにしなければなりません。

加えて、その武器は指定アクター専用の武器となってしまいます。


以上の問題が解決できるなら導入できるシステムだと思います。



ではでは、今日はこの辺で。
ネコタでした。
スポンサーサイト

コメント

Secret

プロフィール

猫民のんたん

Author:猫民のんたん

ネコタ:ゲーム作りが趣味の薬剤師。本職とゲーム作りの2足の草鞋を履きこなそうと日々奮闘。

毎週曜日と曜日or曜日に更新予定。


ミノン:ゲーム作り初心者で1児の母。前職はSE/PG。子育てをしながらゲーム作りを行おうと、日々奮闘中。

毎週曜日にブログ更新予定♪

最新記事
最新コメント
月別アーカイブ
カテゴリ
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR