有名なのはZyngaのやり方だ。
彼らは1000人いたら、10人ずつ100チームの小チームを作り、全員で同じゲームを並行して開発する。
会員数が100万人いたら、それを100分割して1万人が実は細部の異なるゲームを遊んでいる。
その中で、性能を評価する。チーム12のゲームは継続率が高いが課金率は低い、チーム72は課金率は高いがARPU(一人当たり課金単価)は低い・・・などなど。
性能評価の結果、生き残ったチームの「作品」が、あるタイミングで100万人全プレイヤーに対して提供される。
そしてまた100万人を100分割して、それぞれのチームが改良フェーズに入る。
その繰り返しだ。
このやり方をどう思うか、ということだ。
昔ながらのゲームクリエイターなら、「ふざけるな」と言うだろう。
「ゲームは俺の魂だ。魂の奏でるロックなんだ」という主張をするだろう。
それはそれで正しい。だから僕は9leapを作った。
しかし一方で、エンジニアとしての僕は、このやり方をとてもクレバーだと思った。
これは、プログラミング技法のひとつ、「遺伝的アルゴリズム」の適用だ。
プログラミングの教養が実社会で役に立つ瞬間というのは、まさしくこういうときだ。
遺伝的アルゴリズムとは、ある問題を説くためのプログラムを大量に自動生成し、それに対して評価関数(どのくらい短い時間でその問題を解くことが出来るか、など)を与えて、生存競争を行い、優秀なプログラム同士を交配(つまり、遺伝的形質を与える)させて新しいプログラムを生み出す。
生まれたプログラムはまたさらなる生存競争を争い、最後に残ったプログラムが最強のプログラムになるという、アレだ。
組織運営をエンジニアリングの一環だと考えている僕にしてみれば、Zyngaのこのやり方はため息が出るほど見事だった。
- ソーシャルゲームの向こう側: 単なるWebサービスには飽きてきた。じゃあなんだろう。 - Keep Crazy;shi3zの日記 (via paradisemaker)