2011年2月9日水曜日

【GDC2010】1億人のユーザーを抱える『FarmVille』の開発と運用…Zynga

ソーシャルゲームメーカーとして世界最大、実に2億人のユーザーを抱えるZynga。中でも『FarmVille』は牧場系ソーシャルゲームの原点であり、かつユーザー数も1億人を超える世界最大のソーシャルゲームです。GDC初日の「Social & Online Games Summit」ではZyngaのAmitt Mahajan氏が登壇し、「Rapidly Developing FARMVILLE: How We Created and Scaled a #1 Facebook Game in 5 Weeks」というタイトルで講演しました。

【関連画像】

Amitt Mahajan氏FarmVille2つの目標

『FarmVille』は僅か5週間という開発期間の中で、11名のスタッフによって制作されました。プログラマーが6人、アーティストが2人、プロデューサー/デザイナーが3名という構成です。そんな『FARMVILLE』は運営開始から24時間で1万8000人のユーザーを集め、4日後には早くも100万ユーザーを突破しました。今日ではインストール数では1億1000万人以上、3100万人が毎日遊ぶというゲームになりました。

このような急成長の影には多くの困難があったのは想像に難くありません。Zyngaのチームでは、ゲームの開発にかける時間を極力短くする、何百万人のユーザーにも提供可能なスケーラビリティを実現する、という2点に腐心したそうです。

まずゲーム開発のスピードを上げるという点では、サーバー側にPHP、クライアント側にフラッシュを採用。この2つは多くの開発者が使いこなす事の出来るメジャーな言語です。また、デザインには余りこだわらないことでスピードを上げました。さらに、XMLを使ってデザイナーでもゲームをデザインできるような仕組みを設け、プログラマーが関わる部分を減らし、効率化を図っています。

スケーラビリティの実現では、クライアント側とサーバー側の双方にネットワークレイヤーを置き、複数のリクエストを一度に送信できるようにすることでロード時間を約50%削減しています。また、Facebook APIの使用を専用のソーシャルネットワークラッパーで行うようにして負荷を抑えています。また、そうすることで他のプラットフォームへの移植を容易にしています。ウェブサーバーはクラウド側に置き、負荷に応じてすぐに増強できる構成になっています。

サーバー構成ネットワークレイヤーソーシャルネットワークラッパー

ロード時間の短縮にはリモートコールの徹底した排除や、ソーシャルネットワークラッパーの中の遅いFacebook APIの呼び出しや、DBラッパーの中のSQLなどをキャッシュすることで対処しています。

これらの工夫を重ねたとしても負荷が高まりサーバーが落ちてしまう事態は考えられます。ZyngaではNagiosやMuninを使って常にサーバーの負荷を監視しています。ロード時間/トラフィックのグラフ、Memcacheの解放回数などをチェックしているようです。

講演内容は基本的な方法論をきちんと実践しているという印象で、世界最大のソーシャルゲームであっても、対処の仕方は普通のソーシャルゲームと変わらないようです。スケールできるサーバー構成にする、キャッシュするなどして負荷を減らす、それでも落ちたら迅速に反応できる監視体制を作る。絶えず地道な改善をすることこそ多くのユーザーを抱えるゲームに必要なものなのかもしれません。

Mahajan氏は最後に「ソーシャルゲームは短距離走ではなくマラソンです。長い勝負になります。ロンチの前日はしっかり寝て備えるようにしましょう」と笑いを取りながら講演を締めくくりました。

【関連記事】
【GDC2010】今度は心拍数センサーを同梱、『EA SPORTS アクティブ2』が発売決定
【GDC2010】急成長するソーシャルゲームをうまくマネタイズするには? RockYouが語る
【GDC2010】脚光を集めるゲームエンジン「Unity」…コンセプトから最も稼ぐアプリまでの最短距離
【GDC2010】世界最大のゲーム開発者向けカンファレンス、本日より開幕

引用元:Final Fantasy XIV|14 総合情報サイト

0 件のコメント:

コメントを投稿