SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
リズムゲームを面白くする音に関する演出
〜『ありすのステージ』製作時に得られた知見〜
ふみ@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(ボーカロイド発声データ)から口パクデータ生成
• 基本は母音+んに変換して口のブレンドシェイプデータに。
• 「ちゃ」では笑顔の口になるようにもしてる
VSQXデータの変換
BGMとの同期-フェイシャル(2/3)
• 表情アニメーション(BlendShape)はAnimationClip内で設定
• スクリプトからは確率や条件付けが必要な表情や、Clip内で指定され
ていないテクスチャ差し替えやまばたきを制御
• 競合問題は、AnimationClip内のBlendShapeのパラメータが0の時の
み、スクリプトから上書きするようにしている。口パクも同じ制御。
BGMとの同期-キャラダンス・ライト演出(3/3)
キャラダンス・ライト演出の補足説明
• 動的に変更させてないので、AnimationClipのみで実装
• カメラのジャンプカットのタイミングでアニメーションの時間を同期
• 処理落ちとかすると音とアニメーションがずれていくのを補正
• ジャンプカット以外の時に補正かけるとバレやすい
反応のレイヤーを面白くする
• タップしたときに、気持ちいいエフェクトを表示して音が鳴れば大丈夫。
• 気持ちいいエフェクト :
鳴る音に尺や見た目を合わせる 派手めにする
• 音(SE)の鳴らし方
異なった入力には、異なったSEを鳴らす。
長押しも、長押ししてるって音やエフェクトで分からせたほうが良い。
目立つSEにする。鳴ってるか鳴らないか分かりづらいのはやめたほうが良さげ。
曲に合わせて鳴るようにする(ずれてると気分が悪い)
音の鳴らし方
入力が来てすぐ鳴らせば大丈夫…と思いきや気をつけてないと色々な要因で遅れる
素材が原因な箇所
• wavの先頭に無音部分が入っていた
• 圧縮形式がmp3だった(先頭に27ms位の無音が挿入される)
• アタックが弱いSEで、遅れて聞こえる
端末依存の箇所
• タップ検知が遅い
• 鳴らそうとしてから実際に鳴るまでが遅い(レイテンシの問題)
レイテンシ
• 設定で改善することも
UnityではDSP Buffer Sizeを小さく、System Sample Rateを大きくする
ありステでは以下の設定にしている。
DSP Buffer 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 Buffer SizeのConfigを用意
ここでの設定値は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/

Contenu connexe

Tendances

ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
Sho Iwamoto
 
かわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライドかわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライド
tuna cook
 
スペースハルク
スペースハルクスペースハルク
スペースハルク
OCHI Shuji
 

Tendances (15)

KLabインターンシップ成果報告会
KLabインターンシップ成果報告会KLabインターンシップ成果報告会
KLabインターンシップ成果報告会
 
インディーゲームのためのプレスリリースの考え方
インディーゲームのためのプレスリリースの考え方インディーゲームのためのプレスリリースの考え方
インディーゲームのためのプレスリリースの考え方
 
Unity初心者LT
Unity初心者LTUnity初心者LT
Unity初心者LT
 
ボドがたり
ボドがたりボドがたり
ボドがたり
 
面白いゲームを作る方法
面白いゲームを作る方法面白いゲームを作る方法
面白いゲームを作る方法
 
オンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティオンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティ
 
うえぽんでこれーしょん!製作報告
うえぽんでこれーしょん!製作報告うえぽんでこれーしょん!製作報告
うえぽんでこれーしょん!製作報告
 
Milkcocoa + gmaps.jsで、バーチャルサバゲを作ってみた
Milkcocoa + gmaps.jsで、バーチャルサバゲを作ってみたMilkcocoa + gmaps.jsで、バーチャルサバゲを作ってみた
Milkcocoa + gmaps.jsで、バーチャルサバゲを作ってみた
 
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
 
かわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライドかわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライド
 
超業火2本立て!スタンドアロンはいいぞスペシャル
超業火2本立て!スタンドアロンはいいぞスペシャル超業火2本立て!スタンドアロンはいいぞスペシャル
超業火2本立て!スタンドアロンはいいぞスペシャル
 
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
キャラが8人同時にしゃべるんだけど...とPに言われたときの戦い方
 
スペースハルク
スペースハルクスペースハルク
スペースハルク
 
芋虫ゲーム
芋虫ゲーム芋虫ゲーム
芋虫ゲーム
 
くまのプーさんの狂気
くまのプーさんの狂気くまのプーさんの狂気
くまのプーさんの狂気
 

Dernier

Dernier (12)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

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