スポンサーサイト

--.--.--

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

明日から使えるツクール技!MIDIを指定したTick位置から再生する!

2014.11.30

ツクラーの皆さん、エターナラーの皆さん、
ゲームには大事な3つの「楽しい」があることはご存知ですか?
うんうんツクラーの皆さんはご存じのようだね。
むっ、エターナラー君達は知らないというのか!
君たちはその年まで一体何を~~中略~~の若いころはこんな奴等はいなかった…。
というわけで教えてあげましょう。
それは、「見て楽しい」「やって楽しい」「聴いて楽しい」の3つです。

「見て楽しい」とはプレイヤーの視覚に訴える楽しさです。
各種グラフィック、マップやシステムインターフェースの見た目が該当します。
そりゃあオリジナリティ溢れる素材やクオリティの高い素材を使ってたり、
美しい面白いマップを多数配置しているゲームが楽しいのは言うまでもないことです。
エターナラー君達にはこれが著しく欠けています。
RTPの外観チップで家の屋根を適切に組むことすらできません。

「やって楽しい」とはプレイヤーの脳に訴える楽しさです。
大勢の敵を一掃することによる爽快感、
敗色濃い難敵に全身全霊をもって挑み勝利することによる達成感、
テンポよくサクサク進められる躍動感(?)などが該当します。
こういった快感を得られるゲームが楽しいのは言うまでもないことです。
エターナラー君達にはこれが著しく欠けています。
「\s[20]………仕方ねえ、\|\|付き合ってやるよ。」なんて文章を作っちゃいます。
ウェイト以前に制御文字を閉じれてません。全文のろのろ表示です。

そして「聴いて楽しい」とはプレイヤーの聴覚に訴える楽しさです。
物語を彩るBGM、要所で映える効果音が該当します。
仲間の死を看取るシーンでは涙を誘う悲壮の音楽が流れたり、
最終決戦で血が滾り心が燃える音楽が流れたりする
ゲームが楽しいのは言うまでもないことです。
エターナラー君達にはこれが著しく欠けています。
闇の暗殺者が崖上にジャンプで駆け上がるシーンにジャンプ2を使用します。
ボインッですよ。ボインッなんですよ。

この3つの楽しいをどれだけ自作ゲームに取り入れられるかが、
面白いゲームになるかどうかの大きなカギとなるでしょう。
ツクラーの皆さんはこれを再確認して紅白に臨んでくださいね。
エターナラー君達はもう帰っていいよ。

さて今回はこのうち「聴いて楽しい」に関するネタです。
当然ツクールでも効果音の演奏やBGMの演奏などができるわけですが…
BGMの演奏について一つ不満点があります。
それは、「指定した位置からBGMを再生できないということ」です。
要するにBGMを演奏する際は必ず最初から演奏するということになるわけです。

これが一体どういうことなのか、エターナラー君達には分からんでしょうね。
例えばフィールドを歩いている際に戦闘が発生した時に、
フィールドでかかっていたBGMはいったん中断されますが、
戦闘後にフィールドに戻ったらまたBGMは最初から演奏されるわけなんです。
1ループするのに2~3分かかるような
壮大で美しいBGMをフィールド曲に設定しても、
最後まで聴けないということも往々にしてあるということなんです。

これはいけません、サビが凄く良いBGMを設定したとしても、
サビに行く前に中断されてまた最初から演奏されてしまえば、
プレイヤーももやもやした気持ちでプレイすることになるでしょう。
何よりそのBGMの全てを堪能させることができない!!
ロマサガの詩人やらジュークボックス、サウンドテストやらで
音楽を鳴らして神曲の全てを聴かせるということももちろん可能ですが…、
そうではなく、普通にプレイさせて全てを聴かせたいという欲求もあるでしょう!

というわけでそんな迷えるツクラーのためにサンプルをツクりました。
ゲーム内容よりもコモンイベントがメインです。
よってエターナラーは対象外です。

前回再生していたMIDI位置まで戻る



各キャラクターに話しかけると音楽が流れます。
別のキャラクターに話しかけると、今まで流れてた音楽は中断されるわけですが、
もう一度そのキャラクターに話しかけると中断地点から音楽が演奏されます。
一体どうやっているのか気になって仕方がないでしょう。
詳細はコモンイベントを確認して頂くとして、要点だけまとめます。



まずは再生したいBGMを演奏します。
ただ演奏するのではありません。
超高速で再生する必要があります。
さぁここで問題が一つ、ツクラーの皆さんはご存知でしょうが
ツクールのエディタからではMIDIは最大150%の速度でしか再生できません。
じゃあ一体どうすれば…。
はい、みんな大好きTkoolBridgeを使用します。



赤枠で囲った部分のパラメータのうち、左側が音量、右側が再生速度を表します。
今回は音量を0にし、再生速度を10000にしています。
10000というと、通常の100倍です。超高速です。
間違ってこれを通常の音量で再生するとすごいことになりますので注意です。

次に超高速で演奏したBGMを指定したタイミングで
元のスピードに戻す必要があります。
しかしツクールエディタでそんなことができるのか?
TkoolBridgeの凄い機能を使うのか?
いいえ普通にエディタで可能です。
「MIDIの演奏位置(Tick)」を使用します。
「変数の操作」の機能で、現在演奏中のMIDIの演奏位置を取得することができます。



MIDIを超高速で演奏した後に、
指定したTick位置が来るのを繰り返し処理で待ちます。
音量0で超高速で演奏をしていてもTick位置はとれるので心配ありません。
ただし普通に演奏するよりもTick位置が進むスピードが格段に上がっているので、
ある程度幅をとらないといけないことは留意してください。
指定したTick位置の範囲に近づいたら演奏を通常速度で再生をかけなおせばOKです。
再生速度や音量が変わっていても、同じBGMを再度演奏する場合は
現在のTick位置からBGMが演奏できるのも知っておくと良いですね。

このコモンイベントを使えば、
例えば前述したフィールドBGMが戦闘で中断される問題も、
戦闘開始時に現在のTick位置を取得/保存しておき、
戦闘が終了したら当該コモンイベントを使用してもとの位置から演奏しなおすことで
万事解決ということです。
これでプレイヤーに神曲の全てを堪能させることができるわけですね。

ただしサンプルゲーム中でも言及していますが、課題点はあります。
指定したTick位置まで出来るだけ早く進ませるために
超高速で演奏をしているわけですが、それでもTick位置が離れていると
多少は時間がかかってしまうという点です。
もっと高速にすることで対応はできますが、
高速にすればするほどTick位置が進む幅も大きくなってしまうので、
演奏を元に戻すTick位置の幅も更に広げるなど必要が出てくる等の問題も出てきます。

もう一つ、なぜかピアノ演奏されちゃったり、
超高速で演奏した後にもとの再生速度に戻してから通常音量で再生するはずが
何故か超高速のまま通常音量で再生されてミミガーになる場合があります。
原因がイマイチよく分かりません。
この問題について深く知っているぜって人がいたらぜひ情報くださいね。

上記のとおり課題はありますが、ある程度は使えるものだと思います。
みなさんも自分が設定した、ひいては自分が作成したBGMを
最後まで聴かせたいと御思いであれば、
うまくコモンを改良するなどしてご利用ください。
私も「妄想伝説SaGa」でこのシステムを実装しています。
やっぱり音楽は最後まで聴かせたいですよね。

ちなみに効果音もTkoolBridgeを使えば
エディタで設定できない再生速度や指定することができますよ。
再生速度を150%以上にしてエディタで聴いても変わってませんが、
実際にゲームで鳴らしてみると確かに変更されています。
効果音はwavファイルなので再生速度を増減すると音程も増減するので、
面白い活用方法もあるんじゃないですかね。
壁1や壁2を低いテンポで鳴らしたらいい足音に使えそうです。
色々試してみてください。

ガシャンを音量1000%にしてプレイヤーの鼓膜を破壊してやるぜとか考えた
邪悪なツクラーもいるかもしれませんが無理ですよ。
残念でした。
ちょっと残念。

●参考リンク
TkoolBridge
関連記事

Comment

コメントの投稿

:

:

:

:

:

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

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