GameLayers、Ruby on Railsで軌道に乗る
GameLayers の Passively Multiplayer Online Game(PMOG)は、冒険あり、挑戦あり、計略ありの仮想世界へと誘う人気のオンライン・ゲームだ。このゲームが軌道に乗った理由の一つは、その堅牢なオープンソース・フレームワークにある。選ばれたのはRuby on Rails。データベースを利用しさまざまなWebサーバーやデータベースと共に動作するWebアプリケーションを開発するために作られたフレームワークだ。
GameLayersは2007年7月に設立されたばかり。同社の最高技術責任者であるDuncan Gough氏がRuby on Railsで1日半実験したことからこの会社は生まれた。その最初の製品PMOGはFirefoxエクステンションだ。Webブラウザーと一緒になって、単に見るだけのWebページを、5分か10分の空いた時間を使って遊ぶ場に変えてしまう。
従来のオンライン・マルチプレーヤー・ゲームとは異なり、PMOGでは、コンピューターの前に長時間座り込まなくてもゲームを楽しむことができる。「FirefoxプラグインのPMOGをインストールする。すると、利用者のWeb閲覧にPMOGがついてくる。そして、利用者がWebを閲覧したり、Gmail、ブログ、フォーラムなどを利用したりすると、ゲームのポイントをゲットできる。Webを閲覧すればポイントが得られ、われわれが持っているゲーム内のツールに使うことができる」
開発には約3年かかったが、その際、Gough氏がフレームワークとして検討したのはRuby on RailsとDjangoだった。DjangoはPythonのWebフレームワークで、短期間の開発と実用的な設計に有利だといわれている。Gough氏は、それぞれのフレームワークを使ってPMOGのプロトタイプを1本ずつ作成してみた。
「一方が他方より優れていたというわけではない。われわれとしてはRubyを使うこともできたしDjangoを使うこともできた。実際、ほかのフレームワークでもよかったのだ。Ruby on Railsに決めたのは、単に、われわれがやろうとしていたことに適しているように思えたことと、プロジェクトに必要な登録やらサインインやらといった類のものを構築する必要がなく、すぐにゲームの作成に取りかかれたからだ。Ruby on Railsには、そういったものがほぼ揃っていた」
念のために申し添えておくと、Gough氏は、このプロジェクトでクローズド・ソース・ソフトウェアをまったく検討していない。Gough氏がこれまでしてきたプログラミングは、そのほとんどがオープンソース・ソフトウェアにまつわるものなのだ。
PMOGに対する利用者の評判は上々だが、Gough氏によると実装では問題があったという。「コーディングに関する課題、たとえば最適な方法でコードを書くとか、できる限りモジュラー方式かつオブジェクト指向にするといったことについては、解決はかなり容易だった。プロジェクトの開発経験は豊富だったからだ。挑戦しがいがあり難しかったのはデータベースに関する問題だ。これまでにも大規模なデータベースを扱ったことはあるが、PMOGで生成されるような規模のデータベースは経験したことがなかった。PMOGは私がこれまでに経験したことのないほど大量のデータを当たり前のように生成する」
「しかし、PMOGはオープンソースだ。いくらでも相談に乗ってくれる人がいるし、カンファレンスに行って直接話すこともできる。たくさんの支援をもらい、いろいろな人に話を聞くことができた」
Gough氏によると、PMOGを導いたRuby on Railsの実験は今も順調に動作しているという。2月にPMOGを公開したときは、90%ほどが受動的で10%ほどが能動的だったが、今では、約80%が受動的、20%が能動的になっている。利用者がすべきことが増えているのだ。
Gough氏は、この投資の効果として、高価なプロプライエタリーなソフトウェア・ツールではなくフリー・オープンソースのものを使ったためリソースをよりよく活用できたことを挙げた。
「.NetのようなプラットフォームではなくRuby on Railsを選んだことで節約できた金額はわからない。というのは、そうしたプラットフォームを使ったことがないからだ。しかし、オープンソース・ソフトウェアは無償だし、素晴らしいコミュニティ・サポートと開発者の巨大なネットワークがあるということは言える。できたばかりの若い企業は、開発プラットフォームに金をかけることはできない。Ruby on Railsを選んだことで、元手をゲームの製作を手伝ってもらうスタッフの確保に当てることができ、先に進むことができた。オープンソースは、われわれにとって、見込みのあるアイディアを最小のコストで小さな企業に変えるための大いなる方法だったのだ」
そうした理由もあって、Gough氏は、GameLayersがRuby on Railsを使ってPMOGを構築した頃のような状況にある企業に対してRuby on Railsを推薦している。「Ruby on Railsは今では十分に成熟しているし、オープンソース・プロジェクトだから多くの人のチェックが入り、バグは改修されている。それに、多くの機能が備わっている」
Ian Palmer フリーランス・ライター。カナダ・トロント近郊に在住し、テクノロジーとビジネスの問題を中心に活動。