BLOG
弊社英語ブログのうち、いくつかを日本語翻訳しています。英語ブログはこちら
GameMaker Studioと連携させてみよう
GameMaker Studioは、その使いやすさから、インディー開発者の間で人気のある2Dゲーム向けエンジンです。。
GameSynth最新バージョンでは、音演出を効率的に行うための「効果音バリエーションの自動作成&ゲームエクスポート」と、絵の動きにシンクロした音を生み出せる「アニメーションカーブのインポート」という2つの点で、GameMaker Studioと連携できるようになりました。
効果音バリエーションのエクスポート
GameSynthでは、効果音単体での作成はもちろん、「音に指定した量のランダムさをもたせ」「それらを複数の効果音バリエーションファイルで書き出し」「ゲームにエクスポート」の3つのフローを行えます。
GameMaker Studioの例で見てみましょう。
上の動画は、Hero’s Trailというチュートリアルゲームの中で、素振りの風切り音を実装した例です。
00:02~00:09でランダム幅を設け、
00:14~00:27で「YoYo Games - GameMaker Studio 2」エクスポーターを選択して、各種設定を行っています
下図左側のように、「GameMaker Studio プロジェクト (.yyp)」を指定した上で、サウンド形式と各種プロパティを調整できます。これらは、GameMaker Studioのサウンドエディタの設定を反映しており、サウンドファイルに加え、必要な情報を含む.yy ファイルを生成する仕組みとなっています。サウンドグループの名前は、ゲームプロジェクトファイルから自動的に取得されます。
GameSynth の他のエクスポーターと同様に、生成するサウンドバリエーションの数を設定できます。また、エクスポート直後にゲームプロジェクトを開く場合は、別途settings(設定)ウィンドウでGameMaker Studio実行ファイルへのパスを設定しておくといいでしょう。
エクスポートが終了すると、サウンドファイルはGameMaker Studioアセットパスの "GameSynth" フォルダに追加されます。同じ名前でファイルを再度エクスポートするとサウンドが更新されるため、実装を壊すことなくサウンドデザインを簡単に調整できます。
アニメーションカーブのインポート
ゲーム内でキャラクターやオブジェクトを動かしているアニメーションカーブをGameSynthにインポートすることで、
- アニメーションと完全にシンクロした効果音を作成できる
- ゲーム側で映像の動きやタイミングが変わっても、そのカーブを読み込めば、新しいシンクロ音を自動的に作り出せる
- 新たに録音や加工をし直す必要がなく、ポストプロセシング編集による音の劣化も起こらない
上のカーブは、ゲーム内の魔法弾のX座標のカーブです。(ブログ最後の動画で動きを確認できます)
これらのカーブは、プロジェクトの"animcurves"サブフォルダーの下に.yyファイルとして保存され、GameSynth に直接インポートできます。これを行うには、下の動画のようにパッチ情報パネルからオートメーションカーブメニューアイコンをクリックし、「Import curve」を選択します。.yy ファイルを選択すると、そのファイルに含まれるすべてのカーブをプレビューし、必要に応じて前処理できます。カーブを読み込んだ後も、GameMaker Studioで起こっている アニメーションの時間に合わせて、長さを調整することができます。
GameSynthのModularモデルでは、カーブの加工ができる複数のモジュールが搭載されています。下の動画のように、モジュール上流でMapper、Derivative、Smooth、Drifterといったコントロールを挟んで、Animation Curveの信号を整えています。
たとえば、Derivative(微分)モジュールでは、座標カーブから速度(もしくは加速度)を検出しています。これは、サウンドの動きを強調するのに役立ちます。また、
Mapperモジュールは、パラメーター値ごとにカーブを再マップしています。
最終的に、Animation Curveからの信号を複数のモジュールに繋げることで、Noise Bands、Electricity、Blipといったジェネレーターの各種パラメーターをコントロールしています。
GameSynthで作成した音を、ゲームに導入すると下の動画のようになります。
GameSynthとGameMakerを組み合わせてどのように活用されているか、ぜひ弊社までお知らせください!サウンドが素晴らしいゲームを作れるよう、さらに多くの機能を追加していく予定です。