イベント
[GDC Summer]ジョン・ロメロ氏が語る,id Software時代に培ったプログラマーの原則
GDC Summer公式サイト
1990年代の欧米ゲーム業界を知らない世代が増えているため,“ジョン・ロメロ”という名前を聞いたことのない読者も少なくないだろう。簡単に説明すると,ロメロ氏は,1991年に仲間と共に立ち上げたゲームメーカーid Softwareを舞台に,1993年の「DOOM」や1996年の「Quake」などのゲームデザイナーとして,FPS(ファーストパーソンシューター)というジャンルの確立に多大な貢献をした人物だ。
一般には,ロメロ氏がFPSというゲームのデザインを行い,共同設立者の1人であるジョン・カーマック(John Carmack)氏がFPSのプログラムやゲームエンジンの概念を生み出したとされているが,id Softwareは当時のゲーマー達からロックスターのように扱われ,ゲーム業界の最先端で活躍したメーカーだった。
10代で海軍向けのソフトウェアを作ったゲーム少年
ロメロ氏が生まれたのは1967年,カリフォルニア州の州都であるサクラメントに近いロックリンという,6000人ほどの町でのことだった。小学生の頃からゲームセンターに入りびたり,「スペースインベーダー」や「パックマン」といったゲームに熱中するが,その趣味が高じて近くの大学に無断で出入りし,学生達にBASIC(プログラミング言語の1つ)を教えてもらいながら,大学の大型コンピュータに自分の作ったプラグラムを打ち込むなどして,プログラミングに慣れていったという。
それを見たロメロ氏の母親が息子に,AppleのPC「Apple II Plus」を買い与えたため,大学に通うのをやめて自宅に籠り,プログラミングに明け暮れるようになった。20ほどのプログラムを作ったもののBASICに不満を覚え,アーケードゲームでよく使われていた6502CPU向けのアセンブリ言語まで習得した。高校2年生のときには空軍で働いていた母親の再婚相手と共にイギリスに引っ越したというロメロ氏。当地の高校にあったプログラミングコースに参加すると,その実力はすぐに広まり,アメリカ空軍のアグレッサー部隊(訓練において敵をシミュレートする航空隊)所属の民間人として,なにやら極秘の任務についたと語る。
1987年にテキサス州に引っ越したロメロ氏は,「ウルティマ」シリーズで知られるOrigin Systemsに短期雇用される形でゲーム業界に入る。与えられた仕事は,見下ろし型視点のApple II向けRPG「2400 A.D.」をCommodore 64に移植するというものだったが,ロメロ氏はこの時点で74にもおよぶゲームを自作しており,移植という仕事には満足していなかったようだ。
Origin Systemsを離れて「Might & Magic II」の移植作業を行ったり,Ideas from the Deepというメーカーを立ち上げたりしていたが,21歳の終わりにたどり着いたのが,ディスクマガジンを販売するSoftdiskというメーカーだった。
4人の仲間との出会い
SoftdiskでOSなどを学びつつ,1年ほど仕事を続けたロメロ氏は1990年8月,「毎月新作ゲーム入りのディスクを郵送する」というサブスクリプションサービス「Gamer’s Edge」を思いつく。このサービスのためにロメロ氏が集めたのがジョン・カーマック氏と,同姓だが親戚関係はないエイドリアン・カーマック(Adrian Carmack)氏,そして,Softdiskの別部門で働きながら,ゲーム好きだったので就業後にロメロ氏のもとをしばしば訪れていたというトム・ホール(Tom Hall)氏だった。
ジョン・カーマック氏がプログラミング,ロメロ氏がツールの制作,エイドリアン・カーマック氏がアート担当,ホール氏が何でも屋という役割だったが,この4人はそれぞれ10年近くゲーム作りを楽しんでいたという逸材で,このとき初めて,ほかの開発者達と共同作業を行うことの面白さを体験したとロメロ氏は言う。
出勤したロメロ氏がそのフロッピーディスクをパソコンに差し込んでプログラムを立ち上げたとき,電気ショックに打たれたような驚きを感じたという。「この瞬間,id Softwareは生まれました。1990年9月20日のことです」とロメロ氏。
その後約3週間にわたって作業を続けた彼らは,パソコン版「Super Mario Brothers 3」のデモを作って任天堂に送るが,採用は断られたそうだ。「まあ,当然なんですけどね」とロメロ氏は笑うが,ともあれ,その技術を利用したのが横スクロールアクションの「Commander Keen」シリーズだった。
ちなみに筆者が聞くところでは,この4人のほかにもう1人,プログラマーとしてレーン・ロース(Lane Roathe)氏がいたはずだ。彼は,ロメロ氏がOrigin Systemsを辞めたときからずっと行動を共にしていたほどの仲だったが,今回のセッションを含めて,彼がなぜid Softwareに参加しなかったのか語られたことない。ロース氏は「Commander Keen」の制作にも関わっており,“id Software”という社名も,ロメロ氏とロース氏が設立したデベロッパ,Ideas from the Deepの略称「IFD」からFを抜いたものだと言われている。
「Commander Keen」は,1990年9月から1か月に1作のペースで年内に3作も作られたが,そのハイペースの原動力となったのが,スムーズスクロールを可能にしたカーマック氏のゲームエンジン(当時,その呼び名はなかったものの)に,新しいアセットを加えていくという開発モデルの確立だった。実際,シリーズ第4作を開発していた1991年には,ゲームエンジンを他社にライセンスしており,このとき,ゲームエンジンのライセンス提供という新たなビジネスモデルのコンセプトが生まれたのだ。
「Commander Keen」で確信した未来
「Commander Keen」シリーズの開発中,週末になると彼らはSoftdiskからパソコンや開発機材を持ち出し,ルイジアナ州の湖のほとりにある安価な貸別荘に集まったという。ジョン・カーマック氏が持ち込んだ大きなテーブルで「ダンジョンズ&ドラゴンズ」をプレイするのが毎晩の習わしで,その中から「DOOM」や「Quake」のアイデアが作り上げられていった。彼らがSoftdiskを辞め,id Softwareとして正式に独立したのは,1991年2月1日のことだった。
「Commander Keen」シリーズを含め,1991年内にid Softwareからリリースされた作品は12タイトルにおよぶ。つまり「1か月に1作」という,当時の基準でも非常に速いペースでゲーム作りが行われたことになるが,ロメロ氏は「実際には,2か月に1度のリリースになります。1度に2本のゲームを作っていたからです」と語った。短期集中型のゲーム開発が身についていたようだが,ここで今回のセッションテーマでもある「プログラミングの原則」の第1条がようやく登場した。
それは,「プロトタイプなんて作らない。ゲームを作りながら磨き上げていく。あとでバグテストで完成させることなど考えず,常にいつ販売しても大丈夫なクオリティに保っておく」というものだ。
彼らは才能ある,どんな無理でもきく20代の若者達だった。大雨が続いて湖が氾濫し,道路が冠水しても,車を乗り捨て,ヘビが泳ぎ回る水をかき分けながら貸別荘に向かうほど,ゲーム作りに情熱を注いでいたとロメロ氏は続けた。
もっとも,雨の多いルイジアナ州に嫌気がさしたのか,1991年8月,ホール氏が大学時代を過ごしていたウィスコンシン州に移住することになるが,引っ越しなどで貴重な時間を失いたくなかった彼らは,そのとき,もう1つのルールを全員で確認し合った。
「チームの誰であれ,いつでもゲームをプレイできる状態にしておく。ローディングの失敗がないよう,ゲームエンジンは常に修正を加えておく」
このルールについてロメロ氏は,「もし現在,100人のチームで開発をしているなら,ゲームエンジンに問題が発生したとき,多くの人たちが何もできないままオフィスに来ていることになる。ゲームが常にプレイアブルな状態であることは非常に重要であり,常に確実な状態にしていた。多くの場合,ゲームエンジンは存在しないデータを探したり,問題があったり壊れたりしているデータを読み込むことで,ローディングに失敗する。これらを常にチェックして,ゲームを動かせる状態にしておかなければならない」と語っていた。
ロメロ氏はここで,別のルールも紹介した。
「プログラムはできる限りシンプルにしよう。コードを眺めて,どうすれば簡略化できるのかを常に考えるべきだ」
「id Tech 2」とも呼ばれるようになった「Quake」用のゲームエンジンまで,id SoftwareはC++ではなくC言語にこだわり続けたが,これは,クラスや複雑な構造がなく,言語がミニマムだったという理由にあるようだ。
ウィスコンシン州に引っ越して4か月後,州全域が雪嵐に襲われてしまう。例年でさえ冬の厳しい地方なので,温暖なテキサス州やカリフォルニア州の暮らしが長かったホール氏以外の3人は,すっかり辟易してしまう。プログラム言語との格闘には慣れていたが,冬将軍との戦いのことなどまるで考えていなかったとロメロ氏。彼らは雪どけとともにテキサス州に戻っていった。
ついに「Wolfenstein 3D」が誕生
「良いツールは良いゲームを作る。ツールの開発には十分な時間をかける」
これはジョン・ロメロ氏が語った4つめの原則だ。ツールの開発はロメロ氏が担当しており,1991年にはタイトルエディタ「TEd」を作ったという。これは非常に使いやすく柔軟性も高いものだったらしく,id Softwareのゲームエンジンを使ったさまざまな作品,例えば「Catacomb 3-D」「Wolfenstein 3D」「Spear of Destiny」「Rise of the Triad」「Corridor 7」など,合計33タイトルで使用されている。
上記の「Catacomb 3-D」が,id Softwareが開発した初の3Dゲームで,1992年1月にリリースされた。Looking Glass Studiosの前身となるBlue Sky Productionsが開発し,Origin Systemsが発売を担当した「Ultima Underworld: The Stygian Abyss」に影響を受けた作品で,彼らがあまり得意としない,魔法を主体にした一人称視点型のRPGだった。
そのアイデアを進化させたのが,「Wolfenstein 3D」で,4人のコアメンバー全員が参加した初のゲームでだった。第1ステージのみを収めたシェアウェアとしてリリースされたのが1992年5月,製品版はその2か月後だったという。シェアウェア版の開発には,4か月を費やしたそうだ。
シェアウェアとは,今で言う無料体験版のようなもので,「気に入ったら,続きは購入してください」という目的で,人に譲ったり,マウスなどのハードウェアに付属したりして拡散される。「Wolfenstein 3D」の正規版は59.99ドルだったが,発売から1か月で4000本を売るという,彼らにとっての最初のヒット作になった。
ウィスコンシン州にいた頃にジョン・ロメロ氏が存在を知ったのが,現地で活動していた小さなデベロッパRaven Softwareだった。「Wolfenstein 3D」で利用されたゲームエンジンのライセンスを取得し,彼らが1993年にリリースしたのが,「ShadowCaster」という一人称視点のRPGで,「Wolfenstein 3D」にはなかった傾斜した地形や霧の表現などが加えられているのが特徴だった。同作のパブリッシングを担当したのは,Origin SystemsとElectronic Artsだ。
この頃,ジョン・カーマック氏は自宅に籠り,さまざまな文献を読みながら新しいエンジンの開発に挑んでおり,その結果生まれたのが,「id Tech 1」と後に呼ばれる「DOOM」のゲームエンジンだ。このとき,id Softwareのメンバーは,こう誓い合ったという。
「我々自身が最高のテスターであり,部外の誰にもバグを見せたり,ゲームがクラッシュしてしまう様子を見せてはいけない。他人の時間を無駄にするな。コードをしっかりと確認しながらしっかりとテストしよう」
「バグを見つけたら,見つけた人がすぐに修正すること。そのまま見過ごしてはいけない。もし,バグをその時点で放置したら,新たなコードがバグのあるコードの上に書き加えられることになり,非常に不安定になってしまう」
つまり彼らにとって,他人のバグテストのリストからコードの間違いを見つけていくのは無駄な作業だと感じていたのだ。
「DOOM」から「Quake」に続く成長の中で
ロメロ氏はここで,「先ほど,DOOMのアイデアはダンジョンズ&ドラゴンズをプレイしながら練ったと言いましたが,『死霊のはらわた』や『エイリアン』などの映画にもインスパイアされており,自分達の好きなものを混ぜ合わせた世界観と言えます」と述べ,次の原則を紹介した。
「自分達が目標にしているより高いレベルの開発システムを利用する」
「DOOM」の開発中,トム・ホール氏がid Softwareから去っていった。筆者の聞いた話では,ゲームデザインに熱を入れていたホール氏が,「DOOM」のストーリーをもっと細かく作りたいと話したところ,スピードを重視するカーマック氏に拒否され,そこから生まれた軋轢による退社だという。ホール氏の抜けた穴は,Chaosiumで「ダンジョンズ&ドラゴンズ」の制作に関わり,MicroProseでは「Sid Meier's Pirates!」の開発に参加した経歴を持つサンディ・ピーターセン(Sandy Petersen)氏と,プログラマーのデイヴ・テイラー(Dave Taylor)氏によって埋められたという。
「DOOM」の発売後,続編となる「DOOM II: Hell on Earth」の開発を進めるロメロ氏が,再びRaven Softwareとタッグを組んで制作したのが,1994年12月にリリースされた「Heretic」だ。その後,Raven Softwareは「Quake」のゲームエンジンを使って「Hexen: Beyond Heretic」を作るなど,ゲーマーにとって同社はid Softwareの弟分のような存在として認識されるようになっていった。
ご存じのように,Raven Softwareはその後も活動を続け,2020年には創立30年を迎えた。その間,「Quake 4」(2005年)や「Wolfenstein」(2009年)など,id Software関連のゲームを作っているほか,長らく「Call of Duty」シリーズの外部デベロッパとしてサポートを続けるなど,独自IPは少ない印象だが,堅実なゲームメーカーとして歩んでいる。
プログラミングは,理論をベースにしたクリエイティブアートだ
ロメロ氏は,ここで新たなルール「(プログラムの)コードを書くのは,そのゲームためであり,未来のゲームのためではない。我々はゲーム開発で新しい知識を得られる。その知識で新しいコードが書けるようになる。我々はまた,過去のコードに縛られるべきではない」を挙げた。
「Quake」エンジンは基本的にジョン・カーマック氏が作り上げたものだが,レンダラの制作には,Microsoft時代に「Windows NT 3.1」を開発し,1990年の著書「Zen of Assembly Language」で業界内外から高い評価を受けたマイケル・アブラッシュ(Michael Abrash)氏が参戦している。また,後に「World of Warcraft」のリードプログラマーとなるジョン・キャッシュ(John Cash)氏が,ネットワークに精通したプログラマーとして,アブラッシュ氏と同じく短い期間だが,「Quake」のプロジェクトに参加している。
さらにプログラムのサポート役として雇われていたショーン・グリーン(Shawn Green)氏を含め,以前よりは増えたものの,id Softwareの開発スタッフはわずか9人だったという。そうでありながら,「Quake」の開発中の1995年には,「The Ultimate DOOM」と「The Master Levels for DOOM II」をリリースするなど活動は精力的で,まさに精鋭部隊だった。
14か月という,ロメロ氏と2人のカーマック氏にとってそれまでになく長い開発期間となった「Quake」だったが,マルチプレイのテクノロジーデモ「Qtest」が公開されたのは,製品版の発売に先立つ1996年2月24日このことだった。この頃に誕生したプログラミングの原則は以下のようなものだった。
「デザインを安定したものにするために,機能はカプセル化しておく。これは間違いを起こす回数を減らし,デザイン期間を節約できる」
以前から「今日はDOOMのバースデー」と自分のブログなどに書き込むなど,「記念日マニア」として知られているが,「Quake」に関しても「(1996年)の6月22日,テキサス時間5:30に,ウィスコンシン州マジソン校のサーバーを使ってQuakeをリリースしました」と,メモでも取っていなければ覚えられるはずもない具体的な時間を示した。
「Quake」は,マウスを使って視線を決めるという,現在のFPSでは一般的な「マウスルック」を発明し,インターネットを使ったハイスピードな対戦は多くのゲーマーのハートをつかみ,クランがあちこちにできるなど,現在のeスポーツ文化の礎を築いたタイトルだ。
ロメロ氏は,「このゲームが完成するまでの5年半に,10人にも満たないデベロッパが28作品を世に送り出した」と述べ,最後の原則として,以下のようなものを紹介してセッションを締めくくった。
「透明性のあるプログラミングをすること。自分に与えられているタスクをどのように解決するのかをリーダーや仲間に話し,フィードバックやアドバイスを得よう。プログラミングをブラックボックスのように扱うと,レールから脱線して開発の遅延につながる」
「プログラミングは,理論をベースにしたクリエイティブアートの1つだ。すべてのプログラマーには違った個性があり,異なるプログラミングを行う。そこから生み出されるものが重要だ」
GDC Summer公式サイト
4Gamer「GDC Summer」記事一覧
- この記事のURL: