mieki256's diary



2016/12/13(火) [n年前の日記]

#2 [prog][ruby][gosu] SE再生についての余談

余談ですが。

たとえレトロ風の2Dゲーム制作であっても、SE再生後、「そのSEが再生中かどうかを判別する機能」や「再生中のSEを停止する機能」は、ゲーム制作ライブラリに必須だよな、と。

例えばの話。

プレイヤーキャラが必殺技を撃って、「はどーけん!」とか「しょーりゅーけん!」とか「たつまきせんぷうきゃく!」とか叫ぶとするじゃないですか。

必殺技を撃って「はどーけん!」が再生されてる途中で、敵がパンチを繰り出してプレイヤーキャラに当たったとします。プレイヤーキャラは「うわっ!」と叫びながら吹っ飛びますわな。

この時、SE関係はどういう処理になるか。「はどーけん!」が『再生中かどうかを判別』して、もし再生中なら「はどーけん」の『再生を停止』しないといけない。そこでようやく「うわっ!」の再生要求を続けて送れる状態になるわけです。

これがもし、「特定の音声が再生中かどうかを判別」する機能も無ければ、「音声を停止」する機能も無かったらどんな事態になるか。

「はどーけん!」という声と一緒に「うわっ!」という声も聞こえてしまうわけですよ。お前一体何人居るんだよ! それともいっこく堂かよ! いや待て、彼でもそんな喋り方は無理だよ! …まあ、こんな作りは許されないですよね。

昔話ですけど、メガドライブの「ベアナックル3」が、そんな感じの酷い実装で…。プレイヤーキャラがダメージ受けて吹っ飛んでるのに「いじょーとーさん!」と必殺技の音声だけが孤独に威勢良く流れ続けて。 *1 もうね。萎えまくりですよ。激萎えですよ。せっかくのベルトスクロールアクションの爽快感がゼロ。サウンド周りの実装が糞なせいで全編通して何もかもが台無し。ベアナックル2は名作扱いされてるのに、ベアナックル3は若干どこか無かったこと扱いになってるのは、あのサウンド周りの糞な実装が大きいのだろうなあ…と個人的には思うわけで。

ということで。SE再生中かどうかの判別と、SE再生の停止。この2つはいくらなんでも最低限実装されてないとマズいわけで。この2つすら実装されてないゲーム制作ライブラリは、なんちゃってゲーム制作ライブラリです。お前はゲーム制作ライブラリを名乗れねえよ、ゲーム制作を舐めてんじゃねえぞ、と。

なので、ゲーム制作ライブラリを評価する際、まずはこの2つがあるかどうかをチェックすれば、ちゃんと考えながら作られているライブラリか、それとも見た目だけそれっぽくした実用にならないインチキライブラリか、ひとまずすぐに分かるのかもなあ、てな気分になってきました。

まあ、余談でした。
*1: 自分の中ではそんな印象が残ってるのだけど、偽記憶だろうか…。さすがにダメージ受けた時は音声を停止してたかなあ…。攻撃が敵に当たっても時々無音になってたことはハッキリと覚えてるんですけど…。

以上です。

過去ログ表示

Prev - 2016/12 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project