狠狠撸

狠狠撸Share a Scribd company logo
リズムゲームを面白くする音に関する演出
?『ありすのステージ』製作時に得られた知見?
ふみ@fumilin
清水史人 @fumilin/ふみ
Unity歴6年ほど。クライアント側が多い。
リズムゲームが好きで、同人で2本ほど作った。
主なタイトル
?将棋ウォーズ(HEROZ株式会社)
?どうぶつしょうぎウォーズ(HEROZ株式会社)
?ポケモンコマスター(HEROZ株式会社)
?キャラバンストーリーズ(株式会社Aiming)
?ありすのステージ(同人)
株式会社Aiming / ソフトウェアエンジニア
ゲームの魅力について
@geekdrums著 ゲームデザインの魔導書「ワンダールクス」より
http://gdgrimoire.tumblr.com/ワンダールクス
アイドル系のリズムゲームについて当てはめてみる
面白さ モチベーション
ノーツの取り方を試行錯誤
ステージ演出のわくわくさ
選んだキャラがステージ上で活躍する
リズムに乗りながら曲を聞く
曲に合わせて入力をする
入力に対する音やエフェクト
コンボが続く
スコアが増える
結果が気になる
その回のプレイに対する評価
報酬がもらえる
選択したキャラが成長する イベントを走る 友人などとスコアを競う
出来なかった曲を出来るようにする
? リズムゲームは面白さの中で反応(Feedback)のレイヤーが占める割合が高い。
? 情報のレイヤーが良いと、わくわく感も得られて素敵。
情報のレイヤーを面白くする
? 固定の演出ではなく、インタラクション性がある演出に
総合的に見て少しでも入ってれば飽きずにわくわくしてくれる(といいな)
一見対応が難しそうに見えるけど…例えば
?キャラの並び順によってダンスが変わる
?要所要所で成功/失敗演出などが入る
?確率発動のスキルのカットイン的な物
?プレイの結果によって表情やエフェクトが変わる
インタラクション性のある演出
? ありステで取り入れているもの
? カメラワークが毎回変化する
? この場面ではこの角度から見せたいなどあれば別途指定
? サビ前でウィンクする目がランダム
? ステージ終了時、スコアによって表情が変わる
? タップなどの入力に合わせてカメラワークが切り替わるように思うことがある
カメラワークの実装-変更点(1/3)
? ユニティちゃんライブステージ!の実装がベース
? 主な改造点
? カメラの切り替えタイミングを外部から渡すようにした
? カメラ切り替え時に条件を満たしていたらシームレスに移動するようにした
? 30度ルールや20%ルールに該当しそうな場合など、ジャンプカットに適さない場合
? その他指定された時
? 注視点をキャラ以外にも設定出来るように
? 指定されたポイントにのみ移動
? 指定された範囲に移動しないように避ける機能
? 被写界深度エフェクトのかかり具合を調整
http://unity-chan.com/download/releaseNote.php?id=CandyRockStar
カメラワークの実装-指定してる図(2/3)
カメラワークの実装-説明付き(3/3)
BGMとの同期-口パク(1/3)
? VSQX(ボーカロイド発声データ)から口パクデータ生成
? 基本は母音+んに変換して口のブレンドシェイプデータに。
? 「ちゃ」では笑颜の口になるようにもしてる
痴厂蚕齿データの変换
BGMとの同期-フェイシャル(2/3)
? 表情アニメーション(BlendShape)はAnimationClip内で設定
? スクリプトからは確率や条件付けが必要な表情や、Clip内で指定され
ていないテクスチャ差し替えやまばたきを制御
? 競合問題は、AnimationClip内のBlendShapeのパラメータが0の時の
み、スクリプトから上書きするようにしている。口パクも同じ制御。
叠骋惭との同期-キャラダンス?ライト演出(3/3)
キャラダンス?ライト演出の補足説明
? 動的に変更させてないので、AnimationClipのみで実装
? カメラのジャンプカットのタイミングでアニメーションの時間を同期
? 処理落ちとかすると音とアニメーションがずれていくのを補正
? ジャンプカット以外の時に補正かけるとバレやすい
反応のレイヤーを面白くする
? タップしたときに、気持ちいいエフェクトを表示して音が鳴れば大丈夫。
? 気持ちいいエフェクト :
鳴る音に尺や見た目を合わせる 派手めにする
? 音(SE)の鳴らし方
異なった入力には、異なったSEを鳴らす。
長押しも、長押ししてるって音やエフェクトで分からせたほうが良い。
目立つSEにする。鳴ってるか鳴らないか分かりづらいのはやめたほうが良さげ。
曲に合わせて鳴るようにする(ずれてると気分が悪い)
音の鳴らし方
入力が来てすぐ鳴らせば大丈夫…と思いきや気をつけてないと色々な要因で遅れる
素材が原因な箇所
? wavの先頭に無音部分が入っていた
? 圧縮形式がmp3だった(先頭に27ms位の無音が挿入される)
? アタックが弱いSEで、遅れて聞こえる
端末依存の箇所
? タップ検知が遅い
? 鳴らそうとしてから実際に鳴るまでが遅い(レイテンシの問題)
レイテンシ
? 設定で改善することも
UnityではDSP Bu?er Sizeを小さく、System Sample Rateを大きくする
ありステでは以下の設定にしている。
DSP Bu?er Size:iOS/AndroidはBestLatency(256) WindowsはDefault(1024)
System Sample Rate:44100
? 他の改善方法
ネイティブプラグイン案件。ただどちらにせよAndroidは沼
詳しくは↓の記事(Androidの10ms問題)が細かく書かれてて良いかも。
https://postd.cc/the-android-audio-path-latency-explainer/
PC用にはDSP Bu?er SizeのCon?gを用意
ここでの設定値は32/64/128/256/512/1024の6種にしている
(2048以降は遅延がひどくまともに遊べなかったので除外)
https://docs.unity3d.com/ja/current/ScriptReference/AudioSettings.Reset.html
レイテンシ対策
譜面を早く流す
? 譜面を早く流すと、目押しゲーになってしまうが、リズムに合わせて叩いて、音がずれる
より、ずれを補正して叩いた結果リズムに合った音が鳴る方が、達成感とかあるらしい。
? iOSをBluetoothイヤホン接続でプレイすると、上の現象が分かりやすい。
タップ音鳴らさない
? 苦肉の策。そういう仕様のゲームにしてしまう手も。
何もしない
? リズムに合わせて叩かせたいときはこれしかない感じ。ありステはiOSメインなので基本
これ。(オプションで譜面位置変更できるけどね…!)
ありすのステージを例に
遅れて聞こえるとどんな感じか
遅れてるとどう聞こえる?
1~3フレーム
50msはちょっともたついて聞こえるかな。
33msくらいまでなら許せる!かも。
実際はプレイしながらなので
もう少し許せる範囲は広まる(はず)
なんでも曲に合わせて鸣らせばいいの?
遅れて鸣らしたほうが気持ち良いこともある
多分唯一の例外 同時押し
? プレイヤーは、同時押しをしたことによるフィードバックとして、音や演出が同時
に再生されることを期待している。
? しかし、フレームの境目で同時押しをした場合、1フレームずれてしまう。
? 判定がBADなど悪いときなら仕方ないかーで終わるけど、完璧なタイミングでずれ
て鳴ると違和感を感じてしまう。
同時押しの鳴らし方
? 同時押しノーツの入力が来た時、音をすぐに鳴らさず、両方の入力が確認できたら
鳴らす。
? ずっと待っていても違和感を感じるので、ありステでは2フレーム(33ms)の猶予を
設けている。
? 音量は単発の3db(√2倍)大きく。完全に同じ音が同時に鳴ったときは6db(2倍)大
きく鳴りはするけど、通常の音が2個鳴ったときの音量増加分で違和感ないので、
音割れ対策的にも。
? エフェクトや判定は即座に行っている(同時でなくても違和感なかったり、処理的
に不都合が生じたりなどで)
まとめ
? 情報のレイヤーで、リズムに合ったインタラクション性持たせると楽しくなるよ。
? 入力に対して、エフェクトやSEで即座に最大限褒めてあげよう。
? 場合によっては、ちょっと遅れて褒めてあげよう 同時押し
今回取り上げてたゲームの情報
? ありすのステージ (アイドリズムの二次創作の同人ゲーム)
? Unity 5.4.4f1にてリリース
? 音の再生はUnity標準機能を使用
? Windows/MacOS/iOS/(Android)
? 動画で流れてた曲 - Nouveau Monde(iTunesStore)
https://itunes.apple.com/jp/album/nouveau-monde-single/1274875558
http://fumi.li/arisute/

More Related Content

リズムゲームを面白くする音に関する演出 ?『ありすのステージ』製作時に得られた知見?