アジャイルという開発手法をできるだけ簡単に説明すると、「小さい完成形を何度も作り上げながら大きな完成に持って行く」と説明できる。

うまく理解してもらうためにアジャイルと真逆の開発手法(昔ながらの)「ウォーターフォール型」を紹介する。ウォーターフォールは最初に全設計を行い、何にどのくらいの時間がかかるか計算し、綿密な開発工程の設計と見積もりを行い「よーいどん!」で一斉に開発にかかるアレである。さながら滝が上から下に落ちるように大規模になればなるほど滝の横幅は広がる。そしてウォーターフォールの場合はその名の通り上から下に落ちる滝の如し開発手法なので、設計にミスがあった時に上に登って修正しにくい。巻き戻ることで、設計そのものを見直す必要が出てくる。だから最初に全てを見通して作るビジネス系の開発手法としては歴史のある開発手法だが、これをそのままゲーム開発にあてがうプロジェクトも未だに非常に多い。しかし、このやり方は僕には難しい。こう言ってはなんだけど、小学校4年生からひたすらゲームばっかり作っていた僕でも、VIIの経験があっても今回のガンハウンド開発に必要な機能を正確に全部洗い出すなんてことはできない。なぜならシナリオやらステージの構成などの仕様や企画はこれから作るんだからね。しかもそれが面白いのかどうかも遊んでみないとわからない。ましてや1つ1つにかかる工程をできるだけ小さく見積もることも精度に欠けるし、その見積もりに何の保証もできない。

考えてもみてほしい、今、目の前にある企画がプレイしたことも、過去に似たようなものもない新しいゲームだったとして、どうしてそれがやってもみずに面白いかどうかわかるだろうか?企画を見ればわかるかな?仕様を見ればわかるかな?残念ながら企画や仕様も作るプログラマによってその面白さは変わる。

例えばPS2のヴァルケンはひどい出来だったけれども、あれはSFCヴァルケンの仕様と全く違うものができたのであろうか。いやきっとほとんど仕様書通りである。元になったSFC版の仕様とほとんど何もかわらない。ではなぜSFC版が面白くて、PS2版が面白くないのか?これはもう味付けをした料理人の腕が違うとしか言いようがない。SFC版はプログラマとそれを評価して進めたチームのゲームに対する愛情とセンスが良かったから同じ仕様でも面白いものができた。少なくとも自分の半生をヴァルケン捧げる男が出てくるくらいには面白かった。PS2版はそれを作ったチームの腕とそれを管理するもののセンスが悪かった(※1)それだけの違いでしかない。SFC版の企画書に動く速度や弾丸の発射タイミングや敵の動き方の正確なアルゴリズムが書いてあるのだろうか、いやきっとない。そんなのはプログラマの味付け方でどうとでもなる。そうやってプランナーのアイデアを試行錯誤した結果がSFC版の敵の挙動であるはずだ。仕様書にはそんな細かいことまで書ききれないし、やってみないとわからない。

※1・・・PS2版の技術力

余談だが、PS2版の主人公を含めキャラクタはみんな馬面だ。縦に長い。よく似ているのだが馬面なのである。なんでわざわざ馬面にしたのか??これは画面のアスペクト比と言われるものが影響している。SFCでは正方形に描いた画像はテレビの1ドットがやや横長のせいで、少しデブに表示される。だから多少縦長に作った画像を表示することで本来の画像に近い縦横比になるのだが、このアスペクト比を知らないでPS版にSFCの画像を表示すると縦長の画像が縦長のまま表示される。だから、「なんか縦長だなぁ」と思っても元データと寸分の狂いのないものを表示しているので「何もおかしくないですよ?」って言っちゃう素人プログラマと「それなら仕方ない」と容認してしまうディレクターによりできた馬面なのだと推測する。そんな時、アジャイルなら、実データと馬面になっている画面を比較して早い段階で「調査」というフェーズを差し込むことができる。その代わり何かをオミットしなくてはならないが、それはさっき言った70%の背景になるかもしれないし、つまらないBGMに費やす予算をバッサリ削って、元のゲームから収録したSFCサウンドで代用することになるかもしれない、そっちの方が嬉しかったが。

話を戻すと、
だからウォーターフォールにおける見積もり時間にあまり意味はない。「これぐらいあれば確実にできるだろう」という開発時間に余裕を持たす(※3)ことで実際にかかる時間の2倍くらいを計上しておいて定時に帰る、石橋くんがナウローデイングで見せたアレだ。定時にあがれるくらいの仕事量に抑えることで、少々の見積もりにアラが出ても吸収して確実に終わらせることのできる方法である。大規模な開発とそれに耐えうる予算があれば「確実にできる」が「面白くなるかどうか」は別だ。もちろんウォーターフォールでも「面白くする」時間をきっちり組み込んでおけば問題ないが、そんな時間はどれくらいやれば十分なのか、これはもうその時にならないとわからないはずだ。

※3・・・開発時間に余裕を持たす・・・バッファと呼ばれる

しかし自分の会社で開発をするのに、自分のスケジュールにバッファを積むというのは、自分のお金を必要以上消費することに他ならなくて実にバカらしい。増やしたバッファに苦しむのは自分だ。そこでアジャイルなら、そもそも設計にはミスがあることを前提に設計ができる、小さなビルドを一定期間ごとに作っていく。ウォーターフォールなら大きく分けてアルファ、ベータ、マスターといった3段階くらいのマイルストーンがあるが、アジャイルでは長くとも2週間おきに提出タイミングを迎えるようにスケジューリングする、この小さな提出単位を「イテレーション」と呼ぶ。イテレーション単位で評価をしてその度に方向転換を行う。実はゲームはこっちの開発手法と実に相性がいい。

最初の2週間は「タイトルと、マップを歩く自機を用意して特定の位置まで歩いたらエンディングを流す」までを最初のイテレーションとする。次の2週間では「敵をおいて倒せればエンディングに行けるように改造する」次の2週間では「背景をつけてみてボスを出してみる」その次の2週間では「BGMをつけてボスを演出してみる」こんなあんばいである。そうこうしているうちに半年が過ぎて残り3ヶ月になったとしても、きっと半年後には品質に問題はあるが、タイトルからエンディングまで行ける「製品」にはなっているだろう。あとはこれを売れる「商品」にするために、出来上がっているものを調整する時間をどこまで行うか?にかかっている。

過去にアドベンチャーゲームを散々作ってきた経緯から学んだことだけど、「どんなクソゲーも磨けば光る」また同時に「どんなに優れた企画も磨かなければ光らない」これは本当にそうなのだ。プランナーの持ってきたシナリオをただ垂れ流すスクリプトで構成されたアドベンチャーゲームっていうのはびっくりするほどつまらない。そのシナリオを盛り上げるエフェクトだったり「BGM」であったり「効果音」であったり「間」であったりっていう演出が光ってこそそのシナリオは盛り上がる。シナリオライターの頭の中で流れている映画のような1シーンをどれだけ演出するかによって、ゲームの出来具合は大きく変わる。しかし、シナリオライターが頭の中でとても貧弱なイメージしか持っていない場合もある。悲しい時にはクライマックスで使われる派手なBGMをバンバン鳴らし、小ネタで受けただけなのにポップなBGMをこれ見よがしに切り替える。正直背筋が寒くなるような貧弱なディレクターというかシナリオライターというか監督気取りの人に当たる場合もある。その場合には、周りでそのゲームを一緒に作っているメンバーが面白くないところを面白くなるように(どこが面白くないのか、を率直に伝え)フォローしながら、面白くなるように試行錯誤を重ねる必要がある。どんな仕様であれ、それを実装するのはプログラマーである。工程の最末端であるゲームプログラマーの最も辛いけど、最も面白いところはここだと思う。