デモシーンの作成
2Dゲーム研究開発の際には特に盛りこみませんでしたが(一応エンディング位ですか…)、今回の3D移植には「デモシーン」を付けてみたいと考え、1stステージから実装を試みています。
ゲーム会社が作るデモというのは、大抵自社製のスクリプト、もしくはサードパーティのオーサリングソフト等を用いて、これを実施すると思うのですが、趣味で細々とやっている人間がそんな凄い事できる訳がないので、多少面倒ではあるものの、プログラミング上でステージのイベントタイミングを監視して、フレーム管理をして、任意のタイミングでオブジェクトを任意に表示、稼働、消滅…ということを行っています。
実装としては至極単純で、
1.ステージの監視タスクを生成。
2.条件を確認。
3.条件が満されたら、デモを開始。
4.フレーム時間をカウンタ形式で計測。
5.任意のフレーム毎になにかしらの処理を実行。
6.フレームの時間経過が満了、もしくはデモの終了条件を満したらデモを終了。
というようなことをツラツラと記述して実現しています。
デモシーンに入ると、上下からカーテンロールを下げ、「現在デモ中ですよ」ということを明示するようにしています。(よくある表現ですね)
また、シーンが長いものには、スタートボタンの長押しでデモがスキップするようにしています。
この際のポイントとしては、途中まで進めていたものに対して割り込み中断が発生するので、それまでにデモ用に生成していたオブジェクトの破棄と、デモシーンが完了した際に配置される情報等をデモシーン完了後の状態にするといった作業が必要になるので、このような情報は、一度デモを完了させた際の座標を控えておき、後から実装する…といった作業を行っています。
デモシーンはスクリーンショットのみでは流石にお伝えにくいと思うので、そろそろ動画とかも載せてみたいと思い、今回は録画して実験的に公開してみることにしました。
再生の際にはコーデックが必要になる場合もありますので、ご自分の責任範囲内で、再生をお願いします。
掲載する動画のステータスは以下のようになります。
【動画ステータス】
映像:RIFF AVI1.0 640x480 24Bit Windows Media Video 9 29.97fps
音声:ACMVorbis(mode3+) 44.10kHz 16Bit 2ch 128.00kb/s
再生時間:00:04:11秒
ファイルサイズ:33,301,226Bytes
■サンプル動画です (アップロード終了)
ゲーム会社が作るデモというのは、大抵自社製のスクリプト、もしくはサードパーティのオーサリングソフト等を用いて、これを実施すると思うのですが、趣味で細々とやっている人間がそんな凄い事できる訳がないので、多少面倒ではあるものの、プログラミング上でステージのイベントタイミングを監視して、フレーム管理をして、任意のタイミングでオブジェクトを任意に表示、稼働、消滅…ということを行っています。
実装としては至極単純で、
1.ステージの監視タスクを生成。
2.条件を確認。
3.条件が満されたら、デモを開始。
4.フレーム時間をカウンタ形式で計測。
5.任意のフレーム毎になにかしらの処理を実行。
6.フレームの時間経過が満了、もしくはデモの終了条件を満したらデモを終了。
というようなことをツラツラと記述して実現しています。
デモシーンに入ると、上下からカーテンロールを下げ、「現在デモ中ですよ」ということを明示するようにしています。(よくある表現ですね)
また、シーンが長いものには、スタートボタンの長押しでデモがスキップするようにしています。
この際のポイントとしては、途中まで進めていたものに対して割り込み中断が発生するので、それまでにデモ用に生成していたオブジェクトの破棄と、デモシーンが完了した際に配置される情報等をデモシーン完了後の状態にするといった作業が必要になるので、このような情報は、一度デモを完了させた際の座標を控えておき、後から実装する…といった作業を行っています。
デモシーンはスクリーンショットのみでは流石にお伝えにくいと思うので、そろそろ動画とかも載せてみたいと思い、今回は録画して実験的に公開してみることにしました。
再生の際にはコーデックが必要になる場合もありますので、ご自分の責任範囲内で、再生をお願いします。
掲載する動画のステータスは以下のようになります。
【動画ステータス】
映像:RIFF AVI1.0 640x480 24Bit Windows Media Video 9 29.97fps
音声:ACMVorbis(mode3+) 44.10kHz 16Bit 2ch 128.00kb/s
再生時間:00:04:11秒
ファイルサイズ:33,301,226Bytes
![]() | ![]() |
コメント
コメントの投稿
« 昔のゲームの想い出 [0047] 「ハイパーオリンピック」 [コナミ] [1983] [アーケード] l Home l 昔のゲームの想い出 [0046] 「ティップタップ」 [セガ] [1983] [アーケード] »