1991年5月 巨大プロジェクト

1991年5月。
このころの天外Ⅱのコードを書く人間は、僕・長谷川君・藪の3人が、それぞれ「ビジュアル&コア」、「コア+メイン」、「戦闘+いろいろ」という構成でプログラムを組みつつ、外注のミューテックからきていたコード屋さん(二人)にivのスクリプトを頼むという構成になっていた。
つまり、コード屋はトータル5人体制の形で天外Ⅱは製作されていた。
そして、ある日、長谷川君がいった。
「このゲームさ、やばいんじゃないかな、岩崎さん」
「なんで?」
「僕らの想像を超えたサイズなんじゃないかな、と思ってさ」
僕は黙った。
長谷川君が言っていることは僕も感じていた。
長谷川君は続けた。
「ほらプログラム書いているとき、この修正は10分だな、これは5分だなと思いながら、ポストイット貼るじゃん?」

当時、僕らはバグや修正するべきポイントはポストイットに書いて、それをモニタの周りに貼るという方法を使っていた。これはとてもいい方法で今でも使いたいぐらいなのだけど、モニタのベゼルがとても狭くなった今、少々難しいものはあって、しょうがないからoutlookのtodoやevernoteのtodoを使っているのだけど、ポストイットのような絶対の可視性がないのはイタいのだよね…

「このポストイットがさ、全然減らないんだよね。それどころか増えるばかりなんだよね」
確かにそのとおりだった。
僕のマシンのディスプレイも、長谷川君のマシンのディスプレイも、ポストイットで周囲が埋まり、それどころかデバッグ用のPCエンジンに繋がったモニタの周囲にもポストイットが貼られ、それでも足りずハードやデバッガを置くフレームにまで貼る騒ぎになっていた。


実は似たようなことを僕も思っていた。
一つ一つの作業はどってことはない。
グラフィックチーフの松田君が、毎日、何枚もディスクを持ってくる。
「岩崎さん、○○のカットXXです、よろしくです」
「ああ、はい処理しときます」
「次は○○のカットXXの予定です」
「あ、はいはい」
いいながら、これは30分ぐらいで処理できるだろうとか考える。
「どってことはない」。コードもシステムも、何もかも出来ている、あとはこれをちょっと考えて入れるだけさ。
問題はそれが無限とも思えるほどやってきて、いつまで経ってもディスクの山が減らないことだった。

ちなみにディスク、というのは5インチフロッピーディスク。基本1カットを1枚のディスクに入れて受け渡しする、がルールになっていた。
そして、もちろんディスクの枚数は途方もない量になった。

今から考えれば「量の違い」がどれほどの質の違いを生み出すことになるのか、作っている人間は多分ゲームデザインをした桝田さんも、そしてプロデュースしているハドソンも、誰もわかっていなかったのだ。
今なら、僕らの見通しがどれぐらい甘くて、どれぐらいマズかったか説明できる。
例えば天外Ⅱで、全部が僕のコードで動いているビジュアルシーン(つまり目一杯にメモリを使うアニメ専用システム)は、タイトル・デモ1・デモ2・デモ3・デモ4・オープニング・根の一族の初登場、3人それぞれの登場シーン、転送シーン、マントー2、鋼鉄城 vs 軍隊・鬼怒のシーン・琵琶湖の水揚げ、ヨミ登場シーン、ヨミ消滅シーン、エンディング(スタッフロール部)などなど、全部で18個ぐらい。
オープニングの3D処理とか、一つずつには難しい技術的なチャレンジもあったけれど、ほとんどのシーンではイースよりは時間はかからなくなっていた。なぜなら、システムも出来ていたし、イースの時には悩んだことの大半は問題なく解決できるようになっていたからだ。
だから「こんなものは楽勝さ」と思うことの連続といってもよかった。
そしてそれぐらい余裕がある方が、僕は辻野さんのコンテを読んで、どう演出するかを細かく考えられるからいい、ぐらいに思っていた。
だけど問題なのは、イースでは全部で5つしかなかった、メモリを目一杯に使って動くアニメーションデモが、天外Ⅱでは20近くあり、しかもそれぞれのサイズはデータ量で4倍あり、内容的にも遥かに複雑になっていたことだ。
イースで5つしかなかったデモをプログラムするのに約3ヶ月ぐらいはかかっていたと思う。いかにシステムが出来ていたとはいえ、ちょっと計算すれば、少なく見積もっても3倍近く、つまり9ヶ月程度使わなければ作れないことは計算できたはずなのだ。

オープニングについてちょっと書くと、もちろん普通にやると話にならないぐらい速度は足りないので、モノスゴク簡略化してるし、精度もすごく低いけれど、赤と青の玉が飛んでいくシーン+BG+スプライトの星の3つは実は全部ちゃんと3D演算して処理されている。タイトルと並んで作るのが難しいシーンだった

そして、一事が万事こういうことで「量の違いは質の違いに変わっていく」だったのだけど、僕らコードチームは…責任者の僕はもちろん、メインプログラマの長谷川君も、そしてスクリプトを書いている人間も、誰も量の違いがどれだけの違いが生み出すのかなんて、全く想像していなかった。
圧倒的な速度で書けるスクリプト言語ivがあり、イースのときに散々苦労して作ったコアコードがあり、どんだけバカでかくなっても大丈夫なように設計されたgnu makeで動く安定したビルドシステムがあり、苦労したメモリ管理なども全部出来るようになっている、実績もありデバッグもされたシステムで作っているのだから、もちろん天外Ⅱは大きなゲームだけど、せいぜい2倍の時間があれば十分だと思っていた。
だから1月からスタートすれば10月終わりマスターと考えたとき、さすがにイースと同じ二人じゃ危ないから、システムをバラして5人いればマンパワー2.5倍だ。しかも期間は3ヶ月長い(20%増し)のだから、余裕だぐらいに思っていた。
今から考えれば、全くバカらしい計算でしかない。
3倍の量のテキストを入力するのには3倍の時間がかかる。これはプログラムでは縮めようがない。
5倍の量のマップを作ったら、人数が同じなら、最低5倍の時間がかかる。
ゲームを作るときの作業の80%ぐらいは実は縮めようのない地道な作業で出来ている。
この単純で簡単で、そして破壊的な事実を僕らはわかっていなかった。
そして天外Ⅱは「掛け値なしに途方もないサイズのゲーム」だった。
桝田さんは、スーパーCDROMならではの普通の人がプレイしたら、想定時間が60時間になるゲームを作ろうとしていた。これは当時の普通のゲームの3倍のサイズだ。
しかも天外Ⅱは歩く速度は速いし(普通のRPGの1.5倍)、レベルアップの速度も当時の普通のRPGの2倍ぐらいの速度にして「2倍の速度でテンポ良くプレイ出来るのに、3倍のサイズになる。言い換えると3*2*1.5の9倍ぐらいのサイズのゲームを作ろうとしていた。
実際に計算してみると結構上の計算は正しくて、1国のマップのサイズが、当時のドラクエなどのマップの1/4サイズ(128×128)で、しかも、ドラクエなどと違って海が少ない、すなわち歩ける範囲が広いので使える広さでは1/3ぐらいのサイズのマップが17枚あり、それぞれに普通に4つや5つはダンジョンが置いてある。つまりマップだけを取っても、どう見ても10倍ぐらいはある代物だ。
しかも、それぞれのマップに季節を用意することになっていた。もちろん地形は変わらないにしてかつダンジョンを除いても、作業量は軽く1.5倍になるだろう。つまり15倍ぐらいはあるサイズの代物だったのだ。
これを同じ期間で作ろうと思えば、普通に考えて15倍の人間を投入しないと成り立たないことになるのだけど、ここでも僕らはとんでもない勘違いをして、15倍ぐらいあるマップをとんでもないことだと思っていなかった。
なぜなら当時はマップを作るときに、山根に代表されるアートチームや僕らが一番苦労すると思っていたのは、マップ自体をデザインする作業と、マップのグラフィックを構築する作業で、この2つが出来ていれば「あとはマップを書いてあるとおりのレイアウトで作業すればいいだけ」だと思ってた。
そして、この「苦労する部分」については、天外Ⅱはゲームデザインの期間が、当時の常識を超えてたっぷり取れたのもあって、かなり先行してしっかりと用意できていたので「入力すればいいだけさ」と、タカをくくっていた。

この15倍ぐらいはあるだろう、というのは、別の数字からも結構説明できる。
イースと天外Ⅱは僕が設計した同じビルドシステムを使っているのだけど、イースでは「フルビルド」、すなわち最初から最後までを全部アセンブル&データ作成&リンクするのに、1時間そこそこで終了するが、天外Ⅱでは12-14時間かかる。
すなわち、天外ⅡはPCでかかる作業の面から見ると、軽くイースの10倍以上のデータサイズはあるわけだ。

ところがだ、当たり前だがマップを書いてあるとおりにレイアウトする作業は、縮めようがない。そしてこれが実際に、作業時間の中で比率を見たとき、どれだけの時間が投入されていたのか、僕らはわかっていなかった。
実は作業時間は20%の0から1を作るパートと、80%の縮めようのない汗水たらす以外はない地道作業に分かれていて、天外Ⅱはその想像を絶するサイズのために80%の汗水地道作業を人海戦術で埋める以外に方法などあるわけない…この事実を僕らはわかっていなかった。
コードも、制作進行も、そしてたぶんゲームデザイナーをやった桝田さんも、本当に誰一人わかっていなかったと思う。
そして、それが分からないまま、僕らは最悪の選択をし続けていた。
●さすがにivを書くスクリプターが足りないだろう=>二人追加しよう。
●どうも山根のところが遅れ気味だ。ちょっと人を追加しよう。
戦力の逐次投入、まさに最悪の選択を取りながら、天外Ⅱは、ゆっくりと確実に「間に合わないポイント」に接近しつつあった。

ところで、まるで別の話になるのだけど、僕はターン制の戦闘が嫌いで、ものすごく天外Ⅱではターン制の戦闘を止めたかった。
それで、一番最初に僕が考えた戦闘は、すばやいやつが何度でも動くような戦闘システムで、例えばキャラA、B、モンスターZがいるとして、Aのすばやさが3、Bが12、Zが6だとする。すると、Aが1回コマンドを実行する間に、Bは4回コマンドを実行でき、Zは2回コマンドを実行できるというような、完全にターン制を廃止したシステムだった。
だけど、これは桝田さんに「一般ユーザーはとてもわかってくれないだろう」ということで却下された。
それで、ターンの区切りはあるけれど「ターンの中では基本的にはすばやさ順」に並びプレイヤーの行動はそのときに決定するという方式に落ち着いた。つまり王道を徹底的に要求された天外Ⅱでは「ドラクエ+」が限界だったわけだ。
ところが、この年の8月に発売されるFFIVの情報がこのころには出だしていて、FFIVは最初のアクティブタイムバトル。プレイした僕は悔しくてしょうがなかった。
LinkedIn にシェア
Pocket

6件のコメント

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
     手元にある天外IIの公式ガイドブック(糊が死んでバラバラになったのでやむなく自炊した)を見ると、桝田先生は「移動とLvアップの速度が他のRPGの2倍、レベルアップで全快、歩くだけで回復、死んでもお金が減らない、その条件でもプレイ時間は平均70~80時間、既成のRPGのバランスで作ったら300時間くらい」と書かれてますね。
     人月計算は毎度苦労させられたので嫌いなのですがw、こういう事例を知ると、データ打ち込み段階に関しては信じてもいいかな、と言う気にさせられますw
     RPGのボリュームは最近ではこのくらいが普通の感覚なのかも知れないですが、こういう話を聞くと、やはり当時(当時のままの感覚で)プレイしてみたかった……と思います。

  • AGENT: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)
    オープニングのふたつの玉は演算していたんですか・・・
    カクカク動いてるので、中割を簡略して手描きで作った動画だとばっかり。
    書かれている文を読むとBG部分も同じように計算されていたようですが、いままでずっと背景美術頑張ってるなと思っていました。
    当時あれを初めて見たときは本当に驚きました。
    それから少し関係ない話題ですが、今回から長谷川さんの名前がそのまま書かれるようになったのは何か意味があるのですか?
    いままでずっとペンネーム(?)で通していたので気になりました。
    ハドソン本も通販か電子書籍化していただけるのを心待ちにしています。

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0
    当然パターンの拡大は間に合いませんから、玉自体の拡大縮小はパターンですが、座標の計算は3Dなので「動き自体」は滑らかです。
    また、玉のサイズとZ方向、つまりカメラ方向の計算はちゃんと合わせてますから、玉の距離感も正確に動いていますw
    もう三角関数とか全部テーブルでムチャクチャやってますけどw

  • AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0
    イースで仕事をしたのはスタッフロールで分かるとおりHaHi君であり、天外Ⅱで仕事をしたのはスタッフロールでわかるとおり長谷川君だということです。
    あくまで別人でございます。

  • AGENT: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1
    っと
    岩崎さんYS1・2 天外Ⅱの時プログラムなんて組んでいなかったやん。
    主に長谷川チームがメインで、アニメイベント画面作成時に後ろから見てただけやん。
    ちゃんと記述してくれなくっちゃ困るぜ ゴー

  • AGENT: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1
    悪いんだけど、プログラム書いてるよ。
    それもタップリ。
    書いてなければメインプログラムに自分の名前なんか書かないよ。

コメントは現在停止中です。