意外にも利用者の方やゲーム制作の関係者から自作クイズゲームで導入している
入場時のタイムアタック制と超級以降の出題時に秒数で表示される制限時間の導入方法について質問がありましたので・・・
応えれる範囲でここで応えちゃいます。
(本当は簡易的に作ってるために極秘にしたいものなんですけどね・・・)
一部会社関係先配布などの関係上、
ゲームデータの編集データを公開することはできませんので
ほぼ文字記載のみとなりますが、
簡素的でも分かって頂けたら幸いです。
これを応用することで敵討伐のタイムミッションなんてのも簡単にできちゃいます!
(そして討伐数は条件分岐で変数から参照すれば・・・!)
元々は敵討伐のタイムアタックのRPGを作ろうとしてたのですが、
自分自身、RPGを作る時間とシナリオを考える手間さで挫折して
クイズゲームを制作し、そのタイムアタック制を応用しただけのものだったりします。
(オリュンポス十二神などの神話からシナリオを考えたりすると在り来りと思って辞めたのも事実です・・・)
実は・・・すべてプラグインなんて使ってません!!
(ぇ~)
まず、上級以上で発生するタイムアタックは
時間切れになるとタイムアップ表示が発生してミッション失敗となる仕様となっています。
これは最初にまずミッション入場口となる箇所に制限時間を設定します。
当クイズゲームでは上級は25分に設定し、
10階層(問題計10問連続正解)到達でクリアとなっており、
制限時間となっている残り時間が0秒となった場合、
階数の道中や問題表示中、出題中の正解時、不正解の場合は指定位置に移動後に
「TIME UP!」の表示及び音声を発生してミッション失敗となる仕様となっています。
特別上級では1~5分のランダムで制限時間が発生する仕様で
これは単純に最初の入場時は変数ID1~5など指定個数から発生する各制限時間を設定し、
二度目の入場から変数IDとタイムを代入した方法を用いてます。
(※下記の表示は上級となります。)
これ↓が入場してミッションが開始された状態となります。
※デバッグ(不具合確認)処理を行っているため、リアルタイムは相違しております。
これは各ミッションエリアとなっている箇所に
どこでもいいのでイベントを作成し、並列処理で行い、
並列処理を設定したイベントデータ内に条件分岐でタイム:0秒以下の時を設定します。
これにより、移動中の際の他、出題時中に解答後、移動後のタイムアップなど
表示することができます。
こんな感じ↓になります。
※デバッグ(不具合確認)処理を行っているため、リアルタイムは相違しております。
自作ゲームで特殊能力として導入している
タイムアップ後にその場で復活または指定された階層で復活する機能は少し特殊な方法を採っており、
これもプラグインはいらず、方法としては手間を惜しまなければ簡単ではあります。
ただ、これについては秘密としてます。
(コモンイベントとスクリプトが関係・・・あ、何でもないです(´・ω・`;) )
当クイズゲームでの超級以降(超級・神破壊級・十二神王級)で
出題時に秒数が発生してタイムアップ表示を行う方法は
出題するイベント内の問題内容を記載(文章の表示)前に
指定する制限時間を加えます。
実は難易度:上級・特別上級で実装している
入場時のタイムアタック表示より簡単に作れます!
(実際のところ、タイムアップ後の復活機能は超級以降の実装の方が手間だったり・・・)
問題出題前はこのように↓時間表示はありません。
(※画像は難易度:神破壊級1~5階層ある内の3階層目になります。)
※デバッグ(不具合確認)処理を行っているため、リアルタイムは相違しております。
出題時に時間表示はこんな感じ↓に・・・(※出題時に残り時間を秒数で表示)
(※画像は残り時間が9~10秒のランダムで出題する高難易度:神破壊級のものとなっております。)
※デバッグ(不具合確認)処理を行っているため、リアルタイムは相違しております。
これも単純に問題の選択肢となる項目で
条件分岐にタイム0秒以上の場合でそれ以外の時の条件を作り、
それ以外の時の条件にタイム0秒以下の場合を作成します。
タイム0秒以下で設定したものはそれ以外の設定は必要ありません。
もし、問題の出題内容が正解となる場合は
タイム0秒以上の条件分岐に正解音または正解表示をし、
タイム0秒以下の条件分岐に正解音または正解表示をした後にタイムアップ表示またはゲームオーバー表示を行うよう設定します。
不正解の場合、
タイム0秒以上の条件分岐に不正解音または不正解表示をし、
タイム0秒以下の条件分岐に不正解音または不正解表示後、タイムアップ表示またはゲームオーバー表示等を行うよう設定します。
ちなみに出題時の選択中はまだ0秒になっても動作はしません。
(※出題内容はランダムではありますがこれは一度、出題内容を記憶することができるようにしております。)
出題内容を選択後に残り時間以内(ギリギリ0秒正解も含む)に正解であれば、
次の階へ進むことができ、
0秒以下(0秒未満)となった場合に正解または不正解となった場合は
正解音または不正解音を発生した後にタイムアップ表示を行います。
この設定は出題時に行うため、
イベント設定は「トリガー:決定ボタン」で行うことができます。
(まぁ、選択時なのでそのままなんですけどね・・・)
単純にタイムが0秒になると正解・不正解でもこう↓なります。
(※タイムアップ後に特殊能力で復活能力のないキャラに変更してあります。)
一番RPGで使うのは敵戦闘中の時間表示かとは思われますが、
これは敵設定の敵及び敵グループを作成して
コモンイベントにてトリガー:並列処理を行い、
そこ(コモンイベント)に残り時間の表示を行うかイベントごとに行うかは任意で
条件分岐でタイム0秒以上の時と0秒以下の時を作成すれば
戦闘時のタイムアタック処理ができちゃいます。
(これはプラグインを使わない単純な方法ですけどね・・・(´・ω・`) )
うまく使えば、色々な時間処理ができちゃいます!
(条件分岐から変数を用いて時間を割り出したり、
変数の操作でタイムを代入して色々と操作する方法も・・・
さらに戦闘回数・勝利回数・逃走回数を使えば・・・!)
・・・まぁ、こんな感じで実は
プラグインを用いずに地味で簡単な方法で設定を行ってたりします。
(説明すると単純・・・でも、実際のツクール編集では分かりにくいですよね・・・(´・ω・`) )
当クイズゲームでは、
スクリプトを使ったりは主に任務でレベルごとにアイテムを獲得する方法などで
意外と作り方はほとんど単純だったりします。
(単純・・・というか、RPGツクールシリーズで
こういった説明、書いてあってほしいところですよね)
地味にペラペラなツクールシリーズの仕様書・・・
で、ゲーム制作としては「そこの説明より!!」と思うところが多々ありますよね。
(「あ・・・あれ?これ、初心者には向かないんじゃ・・・?」なんて思いますね・・・)
質問が多く寄せられるということを考えると
もう少し初心者向けに分かり易くすればいいのに・・・なんて思います。
(これ・・・機能観て、判断や計算できれば苦はないかもですけどね・・・(´・ω・`) )
自分にとっては・・・
まだまだ分からないことが多々ある事とRPGを挫折した身なので
他に製作している方々が凄いなぁと感じます。
編集中データは販売データであるために公開できなくて
説明が分かり辛かったかもしれませんが、
これで何となくでも分かって頂けたら幸いに存じます。