2013/12/13(金) [n年前の日記]
#4 [dxruby][game] DXRubyで画面を揺らすソレ(偽りあり)
今日もDXRubyで何か書いて
と思ったんですけど、もう時間がなくてソースを書けませんで。とりあえず文章だけで説明をば。
今回は、画面を揺らすソレについて。ボスキャラの爆発時に画面フラッシュが云々、と書いてしまったので…。であれば当然、画面も揺らさなきゃいかんだろ、と思えてきたので、一応念のために書き残しておきます。
重いモノが地面に落ちた時、巨大ロボットがズーンズーンと歩いてる時、ボスキャラの爆発時など。そんな時は、画面を揺らすと迫力がちょっとだけ増してグーですよ。お試しあれ。
揺らし方にも色々あります。縦にだけ揺らしたり、横にだけ揺らしたり。上下左右に等しい量で揺らしたり、ランダムな量で揺らしたり。拡大縮小が使えるハード/ライブラリなら、前後に揺らすのもアリですよね。
ランダムに揺らすのがベスト、と言うわけでもありませんで。例えば、某ゲームでは、開発当初、思いつく揺らし方は全部書いて一通り試してみましたが、結局、上下のみ、かつ、上下とも同じ量で綺麗に揺らしたものが一番迫力があった(「チョー揺れてる! コレチョー揺れてるよー!」感が分かりやすかった)ので、その処理だけを残して他は捨てちゃいました。ゲームやシーンに応じて、しっくり来る揺らし方を選びましょう。ケースバイケースです。「この揺らし方じゃないとダメ!」なんて法律はありませんよ。
やはりこのあたり、アニメの映像がとても参考になりますので、そういうシーンを見かけたら、(たまには)コマ送りしてみてください。色々な発見があると思います。
注意点が二つほど。
画面を揺らすためには、背景・BGマップの上下左右に余裕が必要です。画面の大きさギリギリでBGマップ等を作っちゃうと、揺らしたときに見えてはいけないものがチラチラ見えて興醒めですので、上下左右に「これなら映っちゃってもOK」と思える領域を用意しておきましょう。
シビアなプレイヤー操作を要求される場面で画面を揺らしてしまうと、敵弾を避けられない、足場の位置が分からない等、たちまちクソゲーになっちゃいますので、影響が無さそうなところで使いましょう。
そんな感じですかねえ…。
昔は、この小技に気付いてないゲームプログラマーさんが時々居て、せっかくの見せどころなのに迫力が全然無い、寂しい画面をたまに見かけたのですけど。今はさすがに、その手の2Dゲームライブラリにも最初から機能として入ってたりするようで。「誰もが知ってて当然」の小技になってるのではないかなと想像しています。
_ActionScript入門Wiki - Flixel - 画面を揺らす
まあ、DXRuby には、そんな機能は入ってないんですけどね…。もっとも、前述のとおり、色んな揺らし方があって、ゲームやシーンによって選ぶべき揺らし方が変わってくるでしょうから、そこは各プログラマーさんが実装する時に、楽しめる・遊べる部分じゃないのかな、と思うのでした。
と思ったんですけど、もう時間がなくてソースを書けませんで。とりあえず文章だけで説明をば。
今回は、画面を揺らすソレについて。ボスキャラの爆発時に画面フラッシュが云々、と書いてしまったので…。であれば当然、画面も揺らさなきゃいかんだろ、と思えてきたので、一応念のために書き残しておきます。
重いモノが地面に落ちた時、巨大ロボットがズーンズーンと歩いてる時、ボスキャラの爆発時など。そんな時は、画面を揺らすと迫力がちょっとだけ増してグーですよ。お試しあれ。
揺らし方にも色々あります。縦にだけ揺らしたり、横にだけ揺らしたり。上下左右に等しい量で揺らしたり、ランダムな量で揺らしたり。拡大縮小が使えるハード/ライブラリなら、前後に揺らすのもアリですよね。
ランダムに揺らすのがベスト、と言うわけでもありませんで。例えば、某ゲームでは、開発当初、思いつく揺らし方は全部書いて一通り試してみましたが、結局、上下のみ、かつ、上下とも同じ量で綺麗に揺らしたものが一番迫力があった(「チョー揺れてる! コレチョー揺れてるよー!」感が分かりやすかった)ので、その処理だけを残して他は捨てちゃいました。ゲームやシーンに応じて、しっくり来る揺らし方を選びましょう。ケースバイケースです。「この揺らし方じゃないとダメ!」なんて法律はありませんよ。
やはりこのあたり、アニメの映像がとても参考になりますので、そういうシーンを見かけたら、(たまには)コマ送りしてみてください。色々な発見があると思います。
注意点が二つほど。
画面を揺らすためには、背景・BGマップの上下左右に余裕が必要です。画面の大きさギリギリでBGマップ等を作っちゃうと、揺らしたときに見えてはいけないものがチラチラ見えて興醒めですので、上下左右に「これなら映っちゃってもOK」と思える領域を用意しておきましょう。
シビアなプレイヤー操作を要求される場面で画面を揺らしてしまうと、敵弾を避けられない、足場の位置が分からない等、たちまちクソゲーになっちゃいますので、影響が無さそうなところで使いましょう。
そんな感じですかねえ…。
昔は、この小技に気付いてないゲームプログラマーさんが時々居て、せっかくの見せどころなのに迫力が全然無い、寂しい画面をたまに見かけたのですけど。今はさすがに、その手の2Dゲームライブラリにも最初から機能として入ってたりするようで。「誰もが知ってて当然」の小技になってるのではないかなと想像しています。
_ActionScript入門Wiki - Flixel - 画面を揺らす
まあ、DXRuby には、そんな機能は入ってないんですけどね…。もっとも、前述のとおり、色んな揺らし方があって、ゲームやシーンによって選ぶべき揺らし方が変わってくるでしょうから、そこは各プログラマーさんが実装する時に、楽しめる・遊べる部分じゃないのかな、と思うのでした。
[ ツッコむ ]
以上です。