超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』 | GameBusiness.jp

超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』

PCで遊べるアクションゲーム『ぬるぺた クイーンバグの襲来』のプロデュースとゲーム化を手掛けたTOKYOTOONさん、そして開発を手掛けたエムシーエフさんに、メールでインタビューいたしました。

ゲーム開発 ビジュアル
超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』
  • 超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』
  • 超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』
  • 超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』
  • 超汎用2Dアニメーションツールが、超汎用自社エンジンとコラボレーション!『ぬるぺた クイーンバグの襲来』
『実は、あのゲームは自社エンジンを使ったんですが、2Dアニメーション部分には、SpriteStudio使ったんですよー』

そんな、ユーザーの事後報告から始まるSpriteStudio採用事例。今回はPCで遊べるアクションゲーム『ぬるぺた クイーンバグの襲来』のプロデュースとゲーム化を手掛けたTOKYOTOONさん、そして開発を手掛けたエムシーエフさんに、メールでインタビューいたしました。

■インタビュイー


●TOKYOTOON 木村裕之氏(以下、木村)
株式会社TOKYOTOON代表取締役。「ぬるぺた」のプロデューサー。

●エムシーエフ 真壁浩氏(以下、まかべ)
有限会社エムシーエフ代表取締役プログラマ。「ぬるぺた」ではメインシステム担当。

『ぬるぺた』とは一体?


――まず、『ぬるぺた』というコンテンツについてご説明いただけますか。

木村『ぬるぺた』は、ショートアニメと2Dアクションゲームを全世界同時発売したメディアミックスプロジェクトです。アニメの制作をシンエイ動画さんが、ゲームの開発をTOKYOTOONが担当しています。現在、Steamでゲームもアニメも配信中です。

『ぬるぺた クイーンバグの襲来』は、現在全世界のインディゲームで人気ジャンルの2Dアクションゲームとなっていますが、アニメと同じく「ぬる」と「ぺた」が登場し、アドベンチャーパートやイベントCG等もある形式でキャラクターやストーリーも楽しめるゲームとなっています。

女の子らしからぬ得物を振り回す、姉の“ぺた”ちゃんが活躍する探索型アクション。
妹の“ぬる”ちゃんはナビゲータを担当。

エムシーエフ まかべ氏

超汎用フレームワーク「MCFAppFrame」


――『ぬるぺた クイーンバグの襲来』は、自社エンジン・フレームワークを使用して開発されたと伺いました。

まかべ弊社(有限会社エムシーエフ)で2010年頃から作り続けているフレームワークで、最初はWindowsとiOSを同一のコードで動かすためのものでした。それを拡充していき、現在ではWindows/iOS/Android/Switch/PS4/Xbox Oneをサポートしています。開発言語はC/C++です。

最下層に、各プラットホームごとの描画やサウンドなどのAPI群「SiLibrary」(プログラマ飯塚が担当)、その上にアプリケーションを構築するためのフレームワーク「MCFAppFrame」(プログラマまかべが担当)、フレームワークの上にそれぞれのアプリケーションコードがある、という構成です。

主にゲームを開発するためのフレームワークですが、スマホアプリやビジネスアプリの開発にも使っております。そのため、3D立体視や、脳波計などの特殊なデバイスもサポートしています。採用事例は、弊社が開発メインになった案件全てなのですが、最近で言うとアークシステムワークス様「イカすぜ!小林さん」、karinto様「乙女剣武蔵」、ヒューマンアカデミー様「GameEnglish」、そしてTOKYOTOON様「ぬるぺた」となります。

多くのOSSを組み込み済みなので、各OSS機能をすぐに使うことができます。SpriteStudioもそのひとつで組み込んでおります。

――SpriteStudioも「超汎用」をうたっていますが、MCFAppFrameも「超汎用」なんですね。

SpriteStudio6 SDKを組み込むTips!


――では、SpriteStudioをMCFAppFrameに組み込む流れについてご説明いただけますか。

まかべ組み込みは、プログラマ後藤が担当しました。ベーマガという昔の雑誌をご存じの方なら「GORRY」先生と言った方が、通りが良いかもしれません。組み込みに使用したドライバはSS6ssbpLib v1.6.0になります。

サンプルプログラムとして用意されているOpenGLでの命令群を、MCFAppFrameやSiLibraryの命令群に置き換える形で実装しました。また、そのままですとSpriteStudioのデータをそのまま渡す形になるので、アーカイブしたファイルを渡して処理をするクラスでラッピングしています。SS6ssbpLibはソースコードが完全に公開されていることもあり、いくつかゲーム用に機能拡張をしています。

本来OpenGLで書かれていた描画クラスを、自社フレームワーク・ライブラリに合わせて変更。

MCFAppFrameに合わせてマスク有無での処理分岐も書き換えられているのが分かる。

「ぬるぺた」では、攻撃やダメージのコリジョンを処理するために、特定の名前(Atk00,Dmg00など)のパーツを組み込んでいるのですが、これらがSS6ssbpLibで処理される際にゲーム側の関数をコールバックするような仕組みです。

当たり判定パーツの特定フレームに効果音を指定。右下の“ユーザーデータの編集”部分に注目したい。

また、SpriteStudioのデータにはフレームやパーツごとにユーザーデータを書き込めるので、文字列のユーザーデータがあった場合、スクリプト命令として処理するようにしています。これによって、アニメーション中の特定タイミングで効果音やエフェクトを出したり、その効果の条件分岐をSpriteStudioデータ内で決められます。

失敗したなあと思うのは、SS6ssbpLibの組み込みの際、最初はもう少し古いv1.4.0を使用し、サンプルSS6PlayerPlatform.cppを書き換える形で実装したのですが、v1.6.0に更新する際このSS6PlayerPlatform.cppも更新されていたため、SS6ssbpLibの更新が単純なソースファイルの差し替えでできなかったことでしょうか。このあたり、もう少し楽になるようにSS6ssbpLibが差し替えられるように要望したいです。

――ご面倒をおかけしました…。でも、SDKを公開しておいて良かったと思えるエピソード、SpriteStudio開発チーム一同、嬉しく思います。ところで、パフォーマンスチューニングのエピソードもあれば、ぜひ。

SpriteStudio専用シェーダとバッチング


まかべ『ぬるぺた クイーンバグの襲来』発売日版では、SiLibraryで用意している比較的汎用に使える命令セットで描画していたため、処理や表示するSpriteStudioのデータが多くなると重くなる問題がありました。

これは開発末期にはわかっていた問題だったのですが、「ぬるぺた」はゲーム中の表示物をほぼSpriteStudioで処理しているため、下手に手を入れるとゲーム全体に影響があり、確認時間が取れず対応することができませんでした。リリースから1ヶ月後のバージョンアップ版では、SpriteStudioの各種描画に合わせて専用のシェーダを用意し、パーツ描画の頂点データバッファをまとめる処理を工夫することで高速化を図っています。

――ありがとうございました、自作ゲームエンジンの組み込みにチャレンジする開発者の皆さんにとって、参考になるお話でした!最後に、TOKYOTOON木村さんからコメントをどうぞ!

ゲーム版『ぬるぺた クイーンバグの襲来』だけでなくアニメ版『ぬるぺた』のお得なバンドル版をSteamで発売していますので、ぜひ『ぬるぺた』の世界を楽しんでいただけると幸いです!

●Steam『ぬるぺた クイーンバグの襲来』販売ページ
https://store.steampowered.com/bundle/13297/Null__Peta_Deluxe_Edition/

●OPTPiX SpriteStudioの詳細はこちら!
https://www.webtech.co.jp/spritestudio/

●開発メンバーを募集中
株式会社ウェブテクノロジでは、『クリエイターを笑顔に』をモットーに、開発メンバーを募集しています。お気軽にご応募ください。
https://www.webtech.co.jp/company/recruit.html
《烏丸》

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら