アクセス
since 2009
Twitter
pixiv

Author:月紳士

→pixivについて

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スクリプト制作日記:転職システム用クラス拡張

転職システム用クラス拡張、って名前にしてみました。

転職に関するカスタマイズの構想はずっとあったのですが
悩んでいたのは転職条件の設定方法。

はじめは
「レベル10にならないとこのクラスになれない」とか
「このアイテムをもっていないと転職できない」というようなことを
スクリプト内で設定するようなものを考えていたのですが

選択肢機能拡張のほうで「転職所」が作れましたので
転職条件の設定に関しては自由度・カスタマイズ性共に高い
そっちを使うっていう方向性でいいかなと

このスクリプトではそこら辺は抜きにした
非常にシンプルなものとなりました。

とはいえ、このスクリプトは
転職のゲーム性を十分ひき上げる拡張になっていると思います。
 
 
能力値が アクター能力値 + クラス能力値 となっており、
それぞれ設定した割合で調整された後に合計する仕様ですが、
その合計が100%となるようにしている点に意味があります。

参照アクターは任意に設定できますが、
勇者=ラルフ のように、
初期でそのクラスの主アクターが設定されていれば
別途、勇者クラス用のアクターは準備の必要がありません。
(カスタマイズ項目参照)

この時に、能力値は アクター能力値 + クラス能力値 であり
これは クラス能力値=参照アクター能力値=ラルフ能力値 ですから
結果、ラルフ能力値 + ラルフ能力値 そしてその割合は計100%
つまりラルフが勇者の時、ゲーム中での能力値は
データベースで設定したラルフの能力値そのままになります。

この設定方法は
・ゲームバランスを取りやすい
・後から導入しやすい
という利点があります。

もちろん、割合で設定するので
能力値のクラス依存度、アクター依存度を
全体のバランスを崩すことなく、簡単に調整できる利点もあります。

基本、追加でクラス・アクター設定することなく導入できるはずですが
アクターの初期クラスに設定されていない
上位クラス的ものや隠しクラスがある場合は
それ用の参照アクターは準備しましょう。
初期クラスアクターより強い能力値にするのがポイントです。


もう一点、 
習得済みレベルまでのクラス能力値を保障するか
という項目について。

カスタマイズ項目で説明していますが
この場でもう少し説明します。

過去のクラスで最高のクラス能力値が採用、
つまり一度レベルアップで上がったクラス能力値は
下がることなく、転職後もそのまま残る、ということです。

転職後にレベル1に戻る仕様のため、
アクター能力値は1レベルのものに戻りますが
クラス能力値は転職前のまま残る為、
転職後のリスクが少なくすみます。(とはいえ弱体化はする)

上位クラスの能力値は極端なものにすると面白いかもしれません。
例えば、攻撃力は強いが、防御力は極端に弱い上位クラスは、
過去に高い防御力のクラスの経験があり、その能力値が残れば
現職の弱点を補うことになるので、穴のないクラスとなります。

能力値はどれも最低クラスだけれど、
ほとんどの武器防具を装備可能、というような初期クラスは、
すべてのクラスを経験した後はとても便利な職業になるでしょう。
いわいるFFのたまねぎ剣士的なものです。


すでにゲーム製作がすすんでいる場合でも、
導入しやすい拡張になっているんじゃないかと思います。

テーマ : RPGツクール
ジャンル : ゲーム

コメントの投稿

管理者にだけ表示を許可する

No title

初めまして、BLADEといいます。
転職システム用クラス拡張をDLさせていただきました。ありがとうございます。
今回利用にあたっていくつか不明な点があったので質問させていただきます。

>過去のクラスで最高のクラス能力値が採用~
ここでいう「最高のクラス能力値」というのは、例えば過去の職歴が

戦士Lv20
ATK90
DEF90
SPI10
AGI30

僧侶Lv15
ATK50
DEF50
SPI50
AGI60

魔術師Lv12
ATK10
DEF30
SPI70
AGI40

という具合だった場合、「戦士」の職歴からATKとDEFの値が、「僧侶」の職歴からAGIの値が、「魔術師」の職歴からSPIの値がそれぞれ転職後も残るクラス能力値になる、ということでしょうか?


あと、アクター能力値と、保障された過去のクラス能力値と、転職した先の新しいクラス能力値の関係性がややこしいというか、自分の中でこんがらがってしまっているのですが、つまるところ転職してレベル1になったアクターの各能力値はそれぞれ

A(Lv=1)*(割合) + (B+C(Lv=1))*(割合)

A(Lv) = アクター能力値(レベルLvで増減する変数)
B = 過去の最大クラス能力値(定数)
C(Lv) = 現在のクラス能力値(レベルLvで増減する変数)

という塩梅になるのでしょうか?これが成長するとA(Lv)とC(Lv)が変化して、また転職すると今度はBとC(Lv)とを比較して大きい方が新たなBとなって新しいステータスに加算される…という感じで解釈しているのですがはてさて…。もし全然頓珍漢な見方をしていたらすみません。

Re: No title

概ねご理解していただいた通りなのですが

> B = 過去の最大クラス能力値(定数)
> C(Lv) = 現在のクラス能力値(レベルLvで増減する変数)

このあたり、少し難しく考え過ぎておられるようです。
アクターはクラス毎の最高レベルを記録しています。
レベルの値からそのレベルの能力値が算出できます。
すべてのクラスの能力値の中で最高のものを適用する
という処理をレベルアップ時に行い更新しています。
(ただしレベル1のクラスは未習熟扱いということで
 算出処理からは省いています)

わかりやすいかと思い、
過去の最高という説明をしましたが
実際は現在のクラスも含めての「習熟したクラスの中での最高値」です。
現在のクラス能力値が高いか、
過去のクラス能力値が高いか、
というような意味の比較はしていません。

わかりにくいようなら書き直します。

No title

回答ありがとうございます。
クラス能力値の件、理解できました。
ただ一つ気になったのですが、

>ただしレベル1のクラスは未習熟扱いということで算出処理からは省いています

これは例えば、戦士(レベル2以上)から僧侶に転職して、レベル1のまま魔術師に転職してしまうと、例え一時的に就いていたとしても僧侶は未習熟扱いになってしまうということでよろしいでしょうか?

Re: No title

書かせていただいたとおりです。

細かい動作を確認されたいのなら、
スクリプトソースを見ていただくか、
実際にアクターや数値をいれて動作を確認されてはどうでしょうか。

No title

回答ありがとうございます。
今後、同スクリプトを導入していくことになると思うので、その時に動作を確認していきたいと思います。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。