東京で4月15~16日という日程で、Unite Japanという米Unity Technologies主催のカンファレンスが開催中だ。ゲーム開発は属人性を伴っているものであることを痛感させられたセッションがある。イレギュラーズアンドパートナーズの山本一郎氏が、ゲームエンジンのUnityが普及したがために起きている「炎上案件」にどのように対処するべきかを語った講演だ。同社は、トラブルを抱えたソーシャルゲーム開発プロジェクトの「炎上案件」が発生している場合の処理作業を業務の一つとして行っている。
Unityはゲームエンジンとして、日本では前年対比で500%という驚異的な売上を出し、世界でアメリカに続く、第2位のライセンス契約が結ばれているまでの大成功の状態にある。一方で、「Unityだから、安い、早い、簡単に開発できる」という思い込みも広がっている。優れたゲームエンジンを使えば、優れたゲームが作れるというものではない。ツールそのもの特性を把握して、効果的に利用する方法を探らなければならない。結局は、人間が構成している開発チームがゲームエンジンを、適切に使いこなしながら、優れたゲームを作りあげるかしかない。しかし、それは簡単ではなく、プロジェクトが危機に直面することは往々にしてある。
■炎上案件とはプロジェクトの複雑性が増している状態
「炎上案件」とは何か。
山本氏は、プロジェクトに「現状のままでは時間、人員、予算を突っ込んでも求められる完成度が上がらないという状態」と定義する。何とか問題をはっきりさせ、「全員で徹夜等を通じて必死になって取り組めば、ゲームを完成にまではこぎ着ける前の段階」だと述べる。そのままの状態を放置していれば、ゲームが完成することなく、予算が尽きてしまう。
山本氏は、別の言い方でも説明する。プロジェクトマネジメントの言い方では「複雑性が増している状態」という。失敗するプロジェクトは、何をやっているのかがわからなくなり、プロジェクト全体がスパゲッティ状態になったり、グラフィックスなどの素材だけが増えるといった非効率な状態が、どんどん起きる。そのため、人員やお金をつぎ込んでも、むしろ、ゲーム開発の「進捗がマイナスになり、さらに複雑性が増す」状態が起こってしまう。
逆に、成功するプロジェクトは「複雑性がどんどん減少」し、開発期間終了時までに、すべての複雑性がなくなっている。そのため、炎上案件の場合、プロジェクトの全体像を見直し、複雑性を増す原因を特定し、それを鎮火し建て直すのだ。それは、プログラムのコードの量を調べたり、チームのスタッフへのヒアリングであったりと、ゲームが何を目指し、どこが混乱していたのかを、客観的に全体を見直す作業だ。
■懸命に対処してもそれでも起きる突発事態
標準的なプロジェクトマネージャーは、60%をチーム内のコミュニケーションに使っている。Unityは残りの40%の効率を引き上げることに使えるという。チーム内でのプログラムの一貫性を定める「コーディング規約」を少なくしたり、「試作過程でゲーム性の検証が容易」という利点を挙げる。しかし、出来るだけ開発過程を前倒しして、「夏休みの宿題を最初の2週間で終わらせるよう」に、ゲームが動く状態を早期に作る重要性を強調していた。これは、既存の家庭用ゲームの開発の後半に様々なゲームシステムを詰め込む方法とは、逆で、昔の開発者ほど抵抗が強い。しかし、後半に詰め込む方法で「止まってしまったプロジェクトはあるが、その逆はない」という。
それでも、突発的な予測できない事態が起こる。実話として以下の例を紹介した。
・プログラマーが「今日から僕は神になります」といって突然いなくなる。
・心を病んだマネージャーがおかあさん同伴で出社(帰ってもらうしかない)。
・制作作業で追い詰められすぎて、デザイナーが他社製品の素材をパクる。
・「デバック期間なんて要りません」と豪語するクライアント(そんなわけない)。
・制作している途中で制作会社が他社に買収される(完全にプロジェクトがまとまらないままになる)。
会場からは笑いが出たものの、ゲーム開発の現場にいる人たちには、心当たりがあるような話のようだった。
■プロジェクトを炎上させているのは特定の誰かである
山本氏は「炎上からの回復プロセス」を5つあげたが、非常に明快なものだ。「(1)追加の期間、予算や人員といったソースを確保する必要性」。次に、「(2)それぞれのコンポーネント別の作業進捗を確認」。
そして、最も興味深いのが「(3)炎上したルート(火元)の確認、対処」だ。火元は、開発チーム内の「特定の人」、それは「オレのためにプロジェクトをやっている」という考えを持っている人がおり、コミュニケーションミスが生まれ、間違った価値判断が行われているという。過去に関わった炎上プロジェクトでそうでなかったケースはないという。そのため、その人を外すといった形で、ボトルネックを解消しなければならない。
それから、「(4)削っていい仕様をすべて落とす」、「(5)重要な作業を洗い出して、リソースを投入する」。
山本氏は、「炎上対策の要諦は複雑性を下げること」と指摘する。開発の全体像を見渡し、わからないことをなくさなければならない。そして、指揮系統を統一することが望ましく、意思決定は、プロジェクトに責任を持つ「偉い人」が行わなければならない。山本氏は、炎上を鎮火できるかどうかは「偉い人の能力次第になる」とした。
一方で、偉い人の部下である場合には、偉い人に絶対に「様子を見る」という選択肢を与えてはならないという。放置したままで、炎上が鎮火することは極めて稀であるためだ。対策を提案する場合には、プランをA案とB案を提示する。必ず、片方の案は「プロジェクトを中止する」というのを含めなければならないと強くアドバイスをしていた。多くの人は炎上していてもプロジェクトでも止めたがらない。しかし、本当に優秀な「偉い人」であれば「止める」という選択肢を採る。ただ、その結果、責任を取らされる可能性があり、そこが難しい。
そして、現在、Unityで起きている問題として「頼り切る馬鹿が続出」しているとしている。Unityで出来ること以外のノウハウが求められた場合に対応できない課題があるとも指摘していた。これが、炎上が起きたときに対応を難しくすることもあるようだ。
■プロジェクトマネジメントから見える人の血肉
この講演は、随所に笑いを伴ったが、プロジェクトマネジメントに関わる経験の積み重ねがあるから言える説得力のある実践的な内容だった。私にとっては、私なりに、山本一郎氏の世界が感じられたようにも思えた。山本氏はゲームメディアで、ストラテジーゲームで難しい条件から、的確なリソースマネジメントでどう生き残るかといったプレーレビューを書いたり、愛情いっぱいに野球チームのマネジメントに関することも積極的に自身のブログで書いている。
そこからは、世界をリソースの配分によってシンプルに理解しようとすると同時に、人間は時に不条理な動きをするとしても、簡単に割り切れない揺らぎを持った存在と捉えているように思えた。炎上案件というトラブルの処理を行ってきた(時に、不当な扱いには、裁判を起こしながら)、多くの経験から、ゲームは血肉を持った人間が作りあげていることを、山本氏はよく知っているように感じられた。
<関連>
ソーシャルゲーム全盛時代に反して、深いストーリーに挑む開発者
新清士 ジャーナリスト(ゲーム・IT)、作家 @kiyoshi_shin
メルマガ週刊アゴラにて「ゲーム産業の興亡」を連載中