【64】ミドルウェアを賢く選ぶ
時代は変わりました。ゲーム開発において、商用かオープンソースかを問わず、ミドルウェアを使うのはあたりまえのことになりました。しかし、あなたのゲームにふさわしいミドルウェアを選択するには慎重さが必要です。ここに、ミドルウェアを評価するときの、いくつかの重要な基準を示します。
プラットフォーム。そのソフトウェアは、あなたが取り組んでいるプラットフォームのために設計されていますか? あなたが取り組んでいるプラットフォームで動かないソフトウェアは使いたくないはずです。しかし、特に新しいプラットフォームと取り組む場合や、オープンソースを使う場合に、このような状況にあることに気付く場合があるでしょう。移植の難しさを過小評価しないで下さい。ミドルウェア提供者によるサポートをあてにし過ぎるのも同じです。もし、提供者によるプラットフォームへの移植を待つのならば、その遅れに対処できるようなスケジュールを組みましょう。そして、移植して欲しい機能の優先順位を理解し、可能な限り早く開発に入れるようにしましょう。
機能。そのソフトウェアは、あなたの需要を充たしますか? そのソフトウェアは、あなたが必要としている全ての処理に対応していますか? ミドルウェアの評価に入る前に、あなたのゲームデザインの準備をなるべく完成系に近づけましょう。これにより、あなたが必要とするミドルウェアを間違いなく選択する助けになります。そうならないほうがいいのですが、後で必要な機能が見つかり、ミドルウェアの機能を拡張したり、別のミドルウェアに置き換えたりしなければならいないときにも役立ちます。
性能。そのコードは充分に効率的ですか? そのミドルウェアが正常に動作していたとしても、期待したより遅いかも知れません。もしくは、必要とするデータ量を捌ききれないかも知れません。これが、ミドルウェアの試験が非常に重要であることの理由のひとつです。もし、必要なフレームレートや、取り扱わなければならないオブジェクト数がわかっているなら、それをテストしましょう。期待していたパフォーマンスを得られない場合、それを喜んで最適化したいと思いますか? この仕事量を過小評価してはいけません。簡単なフレームワークを作って、ミドルウェアの性能をテストできるようにしましょう。大変そうに思えるかも知れません。しかし、ゲーム開発の途中でミドルウェアを入れ替えるのは、もっと大変です。
統合性。そのミドルウェアは、あなたのゲームと制作パイプラインに簡単に統合できますか? 全てのミドルウェアは同じではありません。あるライブラリは、他のものよりとても柔軟だったりします。非常に高機能な技術の場合、あなたが持っているものに適合させるのがとても大変な仕事になる場合もあります。ツールの場合も同じです。異なる制作ワークフロー向けに設計されているミドルウェアを使っている場合や、異なるスキルセットのメンバー向け(例えば、とてもテクニカルなアーティスト向けなど)に設計されている場合は、統合するのはチャレンジになるかも知れません。経験者の知見はとても参考になるので、そのミドルウェアを以前に使ったことがあり、同じようなスタイルのゲームを実際に開発したことがあるチームを見つけておくとよいでしょう。
ソースコード。そのミドルウェアはソースコードを提供していますか? ミドルウェア会社によっては、ソースコード提供には別料金を要求してきます。そうでは無い場合もあります。どのように動くのかがわからないライブラリは使いたくないですよね? ソースコード無しでは、バグなのか、単にライブラリの使い方の間違いなのかの切り分けが難しくなるかも知れません。ミドルウェア提供社からのサポートを待ちますか? ソースコードは必須です。それが必要になると思うかどうかにかかわらず、です。他の方法はありません。
サポート。そのミドルウェアは開発者によるサポートをどのくらい受けられるか? どのくらいのレベルのサポートを受けたいかを良く考えましょう。ミドルウェアにお金を払っているなら、合理的なレベルのサポートを受けることを期待する権利があります。オープンソースミドルウェアの場合、公式なサポートの保証はありません。フォーラム、Wiki、付属ドキュメントの情報だけで開発できますか? もしくは、電子メールや電話で質問をしたり、来てもらって統合を手伝って欲しいですか? どのくらいのレベルのサポートで満足できるか明確にしましょう。
これらはミドルウェアを評価するにあたっての、いくつかの事柄に過ぎません。さあ、素晴らしいゲームを作りましょう!