オンラインゲームを支える技術


元コミュニティーエンジン社長のringoさんから「オンラインゲームを支える技術」を献本していただきました。ありがとうございます。

ringoさんとは2007年に meet-me の立ち上げの時に初めて出会って、独立した後の2009年に ShakeSoul としてバーチャルコミュニティーサービスの立ち上げプロジェクトで声をかけてもらって一緒に仕事させてもらった。帰り道に電車の中で色々言い合ったことがとても楽しい記憶に残っていて、今後も一緒にできたらと思っている人だ。

オンラインゲームを支える技術  --壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus)

</div>
</div>

この本はオンラインゲームをつくり、運営/運用するための要素がまとめられている。

タイトルに「支える技術」とあるが、トータルとして必要な要素に触れているので、技術だけでなくオンラインゲームそのものの奥深さを実感できると思う。エンジニア以外のソーシャルアプリプロバイダーの経営的な立場にいる人にとってはMMORPGのような規模の大きいゲーム作りへの模索が可能になるかと思うし、逆にエンジニアにとっては技術を知るだけにとどまらず、技術がオンラインゲームを構成する上でどういう重要度や立ち位置なのかを知ることができると思う。

曖昧な解説にとどまらず、概念から具体化していくようなアプローチが取られており、筆者の10年以上オンラインゲームづくりに関わってきて血肉化された経験の結晶だと思う。

オンラインゲームのシステム構成やその技術手法はWebとは異なる歴史があり、ゲーム会社がそれぞれ独自に開発してきたことやゲームシステム自体に閉鎖性が必要なためブラックボックス化されてきた。各ゲーム会社の技術ノウハウが共有されることはなかった。やっとオンラインゲームの技術情報がオープンになりつつある。そのきっかけとしてこの本の役割は大きい。

この本を読めばオンラインゲームを作るための必要な要素が分る。本格的なMMORPGを作るための要素はにはWebサイトをつくるととは全く異なるため、Webの延長では簡単には参入できないことが実感できる。Webの参入障壁の低さに比べ、オンラインゲームをちゃんと作ることはとてもシビアな世界だと言える。すでにWebの技術要素が単純で効率化され整った環境が用意されているし、特に最近はRuby on Railsなどのフレームワークによってより効率的な環境を利用することがはやりの方向なので、なおさらかと思う。今後オンラインゲームも同じ方向に進むと思われるし、そんなサービスも作ってみたいが、まだまだ超えるべき技術的な壁が数多くある現状かと思う。

オンラインゲームの求める要件は高く、特に限りあるサーバスペック、ネットワークレイテンシーの中でどう収めるかがエンジニアの課題になることが具体的に書かれている。抽象化された部分からでは解決できない、低レイヤ部分への考慮から始まりそれを実現するためのの実装につながる。幅広い技術知識を有する必要性も感じる。エンジニアが実際設計や開発する際に役立ちそうな、作法を載せていたり具体的な数値を使ってサーバ台数や処理スピードなどを算出している部分は、現場で是非真似してほしいとても重要なノウハウだと思う。

さらに企画やデザインの様々な要件課題を技術的アプローチで解決する。すべては可能にならないので、企画とのすり合わせでベターな技術的手法を探る。技術ドリブンではなく「ひとつの世界観を創り上げるための手法としての技術」の位置づけは、Webとは異なる部分かと思う。

ページ数が多く、技術要素も多岐にわたり、やや冗長な印象もあるが階層的に丁寧に説明を進めるので、必要な時に読み返しつつじっくり付き合うような本かと思う。読み終わればオンラインゲームの基礎概要はしっかり理解できるはず。

実際作ってみようかと思っている人にとっては「これを読めば作れるようになる」とまではいかないが、それなりに規模感のあるオンラインゲームをつくるのに必要な体制(チームづくり、人員配置、エンジニアのスキルセット)や予算規模(システム規模、収益計画)がイメージできるのではと思う。

筆者が冒頭に述べているように、ゲームがiPhone、スマートフォン、facebookなど様々なプラットフォームで提供されるようになっているので、今後ゲームはもっとコンシューマに近いものとして利用され、その数も増えていって欲しいと思う。

個人的に興味があるのは、Webのオープン性とゲームの閉鎖性のバランス。Webとゲームの境目は今後ますます曖昧になっていくのだろう。今まではWebはオープンであろうとしてきた、今後はゲーム的要素が入ってくると面白いコンテンツになるかもしれない。ゲームのようなストーリーを持たせることやレベルなどの差別要素、制限要素などはオープン性と相反するから、どこかで折り合いを付ける必要がある。やはりWebはオープンであろうとし続けるのか、ゲーム性によって新しい方向を示しつつより豊かになっていくのか、今後利用されるアプリケーションのオープン性とゲーム性のバランスはどのくらいなのか。とても興味がある。

しかし、どこかで見たサーバプロセスの構成図、サーバや帯域の算出方法、懐かしい思い出に浸ってしまう。良い経験の思い出。

iPhone, facebookをプラットフォームとしたソーシャルゲームの広がりが進み、Webとゲームの境目が曖昧になってきている今この時に、オンラインゲームの技術的な解説がされているこの本が出ることの意味は大きい。

</div>