ユーザのプレイスタイルに応じてパラメータが限界突破するシステムの実装

メルサイア
記事: 127
登録日時: 2016年2月22日(月) 10:35
お住まい: 大阪府
連絡を取る:

ユーザのプレイスタイルに応じてパラメータが限界突破するシステムの実装

投稿記事by メルサイア » 2016年10月22日(土) 10:55

一般的なRPGでは、キャラクターを強くするのに、LV上げや装備、もしくはパッシブスキルによる強化が一般的ですが、
キャラの素体のパラメータをあげるものではないので、キャラ毎に最大LV・最強装備・最強パッシブスキルが決まってしまい、
ユーザの「好みのキャラを好きな能力だけ強くしたい」という要望に応えられません。

ドラクエなどのRPGでは、ドーピングアイテム(ドラクエの「ちからの種」など)によるパラメータ強化が盛んに行われていますが、
アイテムで強化というのはなんだか味気ないですし、ツクる側もチート対策などをしなければならず、面白みに欠けると思います。

そこで、上記の成長要素に加えて、ユーザ(プレイヤー)がドーピングアイテム集めをしなくても、
『プレイしていたら自然と自分の好きな能力が上げられる』というシステムがあれば、
ユーザも自分のプレイスタイルでの成長を楽しめますし、
うまくやれば、戦闘を作業にしない方法も見つかると思います。


実装例として、2案あげたいと思います。

■A案: 「敵にダメージを与えたら攻撃力が、敵からダメージを受けたら防御力が、一定の確率で上がっていくシステム」
→ あるツクラーさんのアイディアを元に、必要最小限の機能を整理しました。

(実装例)
1. 全てのスキルの発動し、ダメージを受けた直後に、スキルタイプを取得する
2. スキルタイプが「HPダメージ」だったら、スキル使用者のバトラーと、対象者のバトラーを取得する
 (i) スキル使用者が 「味方」 で、かつ対象者が 「敵」  だったら、P%の確率で、そのアクターIDの攻撃力+X
 (ii) スキル使用者が 「敵」  で、かつ対象者が 「味方」 だったら、P%の確率で、そのアクターIDの防御力+X

 ※簡単化するため、スキルタイプは「HPダメージ」だけで、通常攻撃や魔法などの区別はしていません。
  成長するパラメータも、攻撃力と防御力だけに特化しています。
 ※XやPの数値は、プラグインのパラメータ化して、制御文字\V[n]などを使って動的に変更できると、なおいいと思います。
  例えばX=0.1など小数点を考慮できれば、P=100%でもいいのですが、
  ツクール上の攻撃力は小数点以下は丸められる仕様(?)だと思うので、厳しいと思いました。
  無理やりやると結構大変なので(別途変数をアクターID毎に取ってセーブデータに残しておく……これだけのために?)、
  確率で+1する設計にしてみました。


■B案: 「スキル発動時に、プレイスタイルに関連する変数に渡す取得し、コモンイベントで設定する」
→ プラグイン内ですることを最小限にしたバージョンです。

1. 全てのスキルの発動後に、最後に使用したスキル情報(スキルタイプ、スキル使用者、受けた/与えたダメージなど)を、
  プラグインのパラメータに指定した変数番号の、ゲーム内変数\V[n]にそれぞれ代入する
2. プラグインのパラメータに指定した特定のコモンイベント番号の、コモンイベントKを呼び出す。

 ※アクターの何をどう上げるかは、コモンイベントK内で、\V[n]を参照し、ツクラーが自由に調整することができます。
  ツクラーさんの実装は大変になりますが、これが出来るだけでも、非常に拡張性が高く、応用性が広がると思います。

■その他の応用例
・A案の改良例
 → 攻撃力や防御力だけでなく、最大HPや最大MP、素早さや魔法力や魔法防御力、運などにも応用できる
 → 確率で各種パラメータや運が増減するような、ユーザがどうなるか予測の付かない成長システムが作れる
・B案の改良例
 → 特定スキルやスキルタイプを使っていると、新しいスキルを閃くなど、戦闘スタイルを考慮した技の取得などにも応用できる
 → 戦闘時のセリフや、自動戦闘時のアクターやCPUの思考を、最後にプレイヤーが使用したスキルを考慮できる
   (コモンイベント内で、特定条件で戦闘行動の強制などを使うと出来ます)

■実装の困難さについて
「ここまで要件定義できるなら、自分でやればいいじゃない」と思われるかもしれませんが、
一度、自分でやっていたのですが、私にはあまりにも難しくて……プラグイン化は断念しました。

参考までに、コモンイベントは途中まで作成しました。以下にあげておきます。
https://www.dropbox.com/s/le2o9sbogta0c ... .html?dl=0
何かの参考になりましたら幸いです。

余談かもですが、アクターのパラメータ上限を1000以上に限界突破する場合、以下の処理が必要になります。
https://www.dropbox.com/s/v3ebtn7wczuhf ... 88.js?dl=0

A案・B案にかぎらず、どんな方法でもいいので、協力いただけると助かります。
ツクールの戦闘システムをよりおもしろくするために、ご助力をどうかよろしくお願いします。

メルサイア
記事: 127
登録日時: 2016年2月22日(月) 10:35
お住まい: 大阪府
連絡を取る:

Re: ユーザのプレイスタイルに応じてパラメータが限界突破するシステムの実装

投稿記事by メルサイア » 2016年10月22日(土) 11:21

先程のソースコード、HTMLコピーだとコピペがしにくいので、テキスト版も作りました。(置換とインデント処理がしんどかった…)
https://www.dropbox.com/s/xv9sv8aysf2j5 ... 88.js?dl=0
著作権は放棄しますので、ご自由にお使いください。

“MV:プラグイン素材のリクエスト” へ戻る