ホラーゲームなんかでよくある、最初のアレのお話です。
タイトル画面前の注意書きとは
ゲームのタイトル画面が始まる前に、商業ゲームならば各種企業のクレジットやロゴが出てきて待たされてしまうものです。
ウディタやツクールで制作されたフリーゲーム・同人ゲームは、そういう大人の事情と縁遠いのもうれしいポイント。
なのですが、ホラーゲームなどでは、さすがに事前に注意書きが必要かもしれません。
こんな表示があるから、プレイヤーも心構えをしたりワクワクもできるのですね。
過激な表現をするなら、やはり一言おことわりをしておくと作る側も安心というものです。
注意書きの追加方法
基本システムだと、タイトル画面イベントのこのあたりにコモンイベントを置きましょう。
コモンの中身は超シンプルには、下図の通り。
注意書きで動作をモッサリさせないために
親切機能として注意書きを入れているわけですので、プレイヤーさんを待たせてイライラさせては本末転倒。
次のような対策をしておけば、ひと安心です。
キー入力ですばやくスキップできるようにする
ウェイトをスキップ可能なウェイトに置き換えてしまいましょう。
「180フレーム待つ」を、「1フレームごとにキー入力をチェックする180回の回数ループ」に置き換えるのです。
【元のウェイト】
■ウェイト:180 フレーム
【スキップ可能なウェイト】
■回数付きループ [ 180 ]回
|■キー入力:CSelf10 4方向 決定(10) キャンセル(11) サブキー(12)
|■条件分岐(変数): 【1】 CSelf10 が 0 以外
|-◇分岐: 【1】 [ CSelf10 が 0 以外 ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■ウェイト:1 フレーム
|■
◇ループここまで◇◇
キー入力を待たない(「キーが押されるまで待つ」にチェックを付けない)のがワンポイントです。
ソフトリセット時には再表示されないようにする
ウディタはF12でズバッとタイトル画面に戻れていいですよね。でもふつうにタイトルに戻ると注意書きまで再表示されて、ゲーム再開までモタついてしまいます。
実はウディタは、システム変数で起動してからソフトリセット処理があったかどうかを自動でチェックしてくれています。
そのシステム変数(120番)に合わせて条件分岐をかければよいのですね。
今回は「ソフトリセットされてタイトルに戻ったら注意書きを表示しない」ようにするので、注意書きコモンの先頭に次のコードを書き足せばOK。
■条件分岐(変数): 【1】 Sys120:リセット履歴 0=ナシ/1=F12/2=コマンド が 0 以外
-◇分岐: 【1】 [ Sys120:リセット履歴 0=ナシ/1=F12/2=コマンド が 0 以外 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
初回起動時のみ表示させるようにする
一度ゲームを起動して表示させたら、もう終わり! というケース。
二回目以降の起動でも表示しないようにするには、セーブデータの有無を見るのがよいでしょう。
発展編なのでざっくり書いてしまいますと、次の感じ。
注意書きコモンの「最後」でやること
・注意書きを見終えたら専用のセーブデータを作る
・セーブ時の番号指定で「文字列変数」を使う
・対象の文字列変数の名前のデータができる(文字列変数の中身が「check」なら、check.savというデータができる)
注意書きコモンの「最初」でやること
・文字列変数操作で、saveデータフォルダのリストを取得
・リストに、コモンの最後で作ったセーブデータ名が含まれているかチェック(条件分岐)
・含まれていたら、一度注意書きを見たということなので、イベントを中断(注意書きを表示せず終わる)
ウディコンでもときどき、こうした自由な名前のセーブデータの生成と、それがあるかどうかのチェックを使いこなしたアイディア作が投稿されておりますね。