長年、ゲーム機業界で活躍されてこられた松田さんである。
今までに携わってこられたゲームとしては、
「SEGAサターン」 「Dreamcast」 「Xbox」 「Xbox360」等である。
それらの機器に関する パフォーマンス・チューニング、
グラフィックス、ネットワーク、システム、サウンド 関連の
開発を行ってこられている。
コンシューマ向けのゲームと言えば、
専用のソフトしか動作しない、クローズドなプラットフォームである。
このプラットフォームの提供社のことを、プラットフォーマと呼ぶらしい。
そして、ゲーム・ソフトを開発する際には、
このプラットフォーマと契約をし、出来上がったソフトに関しては
プラットフォーマがメディア生産をおこなう流れとなっている。
また、ゲーム・ソフトの方向性として、
1本のゲーム・ソフトが 今まで以上に大規模化してしてきており、
それに対応して 開発体制や資金の調達も大規模化してきている。
具体的には、開発スタッフが百人規模で、開発予算が20億円となっている
ゲーム・ソフトも存在しているようだ。
また最近では、ゲーム・ソフトの形態も
オンライン・ゲームや携帯ゲーム等、多岐にわたってきている。
開発チームに関しては、徒弟制度に基づく完全分業制で、
ディレクタを筆頭に、プログラマ、プランナ、アーティスト 等が
それぞれの持分を担当している。
ゲーム機のハードウェアに関しては、
「Xbox360」「PlayStation3」「Wii」
のそれぞれについて、詳しく比較解説があった。
基本的に、ゲーム機のCPUには組み込み系のCPUが採用されていて、
PowerPC、SH、MIPS 等がメジャーである。
Xbox1.0 で採用された Celeron は例外ともいえる。
実際にゲーム機に採用されるCPUが最新・最高性能のモノよりも、
コストを落とすために、ミッドレンジ・クラスのモノが採用されており、
あとは、ソフトのカスタマイズでギリギリまでの性能を引き出すことになる。
ゲーム機には欠かせないGPUに関しては、
現在のところ、 AMD と nVidia の2つの会社での独占である。
その他、オーディオでは DolbyDigital、Prologic II 等が主流となっている。
また、ネットワーク接続も欠かせない機能となっており、
WiFiによる無線LAN対応も当たり前になってきている。
ソフトウェアの設計方針としては
ともかく、プレイヤーが面白ければOK。
あとの見えない部分は全て無視する。
特に、レスポンスタイムが重要である。
ということであった。
開発環境としては、
VisualStudio、CodeWarrior、GDB等のIDEによる
クロス開発の形態をとっていることがほとんどで、
開発言語は基本的に C++ となっている。
ちなみに、「CodeWarrior(コードウォーリア)」とは、
Metrowerks社が開発した
たくさんのプラットホームに対応している統合開発環境で
現在は、Freescale社からリリースされている。
そして最後に、最適化についてだが、
前回ギークサロンで使った OpenCV を最適化する、
という実演を交えてのプレゼンであった。
特に、松田さんの最適化ポリシーは、
最適化をはじめるにあたり具体的で達成可能な目標を決め、
それを達成できたら、すぐに忘れること、だそうだ。
確かに、最適化は突き詰めるとキリがない。
どこまでやって、どこでやめるか、というのも
エンジニアの感どころ、と言えそうだ。
【参考リンク】