トップ » バックナンバー » Vol.14 » ゲームプログラマへの道

Accumu Vol.14

ゲームプログラマへの道

株式会社カプコン 「バイオハザード アウトブレイク」メインプログラマ 秋山 幸平さんに聞く

KCGからカプコンへ

秋山 幸平氏

―秋山さんは,KCGの卒業生ですね。在学中,印象に残ったことを教えてください。

僕は愛媛県の高校を卒業後,1987年に京都コンピュータ学院情報工学科に入学しました。でも僕はあまり模範生じゃなかったんですけどね(笑)。ちょうど僕の在学中は,大型機からパソコンに移行する時代でした。3年生の前期までは大型機を使った実習が中心でしたが,後期からパソコンに関する実習が始まったと記憶しています。特に印象に残っているのは,ゼミナールでパソコン製作を行ったことです。製図から起こして,基板の作成などを行いました。これはとても面白かったですね。ハンダ付けなどあまり得意でなかったので,本当にこれが動くのかと不安だったのですが,すべて組み立て,画面にプロンプトが出たときの感動は今でも覚えています。当時の工具はいまだに使っています。

それから,KCG在学中に,あるゲーム会社が開発していたロボットの開発委託を学院が受けたことがあって,その作業を見てゲーム開発をしたいという思いを強くしました。

―カプコン入社後の印象はいかがでしたか。

会社の雰囲気が,とても自由であることに驚きました。ビジネス系のプログラマとして働いている友人の話を聞いてみると,一般の企業とはかなり違うようですね。上司・部下というよりも,先輩・後輩といったもっと親密な関係で,いろいろと教わることができました。入社して実際に働いてみてプログラミングは奥が深いなあと思いました。先輩たちと比べて,技術的にも考え方の面でも自分はまだまだだと思い知らされましたね。自分の組むものと先輩の組むものは,同じプログラムという土俵で比較できないほど,違っていました。

僕が入社した当時はゲーム開発にアセンブリ言語を使用していました。KCGでは,C言語を中心にプログラミングを勉強していたのですが,アセンブリ言語は入社してから本格的に学びました。自分の場合は,ただ,ゲームをつくるのが楽しかったので,毎日夢中になってつくっていました。残業や休日出勤などもありましたが,ゲームが完成したときの充実感は大きかったですね。

―ゲームの世界では技術の変化が激しいですよね。

ええ。2Dから3Dへの転換期を経験し,僕自身はカプコンでの3D分野のパイオニア的な研究をさせてもらいました。製品名は「スターグラディエイター」です。数学的な知識が必要になり,高校時代の数学の教科書をひっぱり出してきて,一から学び直しました。行列についての知識などは必須です。マトリックスは最低限理解していないとまずいですね。

またプログラミングにおいて,オブジェクト指向の考え方が入ってきたりして,コーディングの方法が大きく変化しました。でも,ゲーム設計の基本的な考え方は変わっていないと思います。先人が築き上げた考え方がよほどしっかりしたものだったのだと思いますね。

バイオハザード アウトブレイク

―秋山さんは,「バイオハザード アウトブレイク」のメインプログラマを務められたわけですが,メインプログラマの仕事とはどのようなものですか。

最近のゲーム開発は大人数チームで行います。プログラマが10名を超える人員で開発するビッグプロジェクトも多いわけです。チームで作業をする場合,マネジメントが必要になってきます。メインプログラマは,人員が不足している部分のフォローアップをしたり,スケジュール管理をしたりします。チーム全員が何をしているのか,作業の中身までわかっていることが必要ですね。また他部署との交渉も重要な仕事になります。企画やグラフィックなどの部署からは,難しいこと,無理なことを求められることが多々あります。どこの部署もいいゲームをつくろうと真剣ですからね。僕が担当しているプログラミングのセクションでは,納期を守ることも重要です。目標は,決められた期限の中でいかに質の向上を図るかなんです。

―アウトブレイクは企画から完成までにどのくらいの時間が掛かっていますか。

企画から完成まで5年掛かっています。ビジネス系のシステムでここまでの年数を掛けることは少ないかもしれません。5年も掛けて取り組むのですから,ゲームに込めた思い入れはかなりのものです。思い入れの厚みが違います。

―5年ですか,すごいですね。アウトブレイクは,バイオハザードシリーズで最初のネットゲームですね。

ええ。ネットワークゲームには,同期型と非同期型がありますが,アウトブレイクは,カプコンにおける非同期通信のネットワークゲームの初めてのタイトルです。非同期型の場合は,いつどの瞬間にどこから他のプレイヤーが参加してくるのか,全くわからないのが特徴です。通常のゲームとは違うノウハウが要求されましたね。

―具体的にはどのような点で苦労されましたか。

通常のゲームの場合は,プレイヤーから見えない箇所は極力データを省くようにしています。画面の切り替わりの際に,ごまかしてしまったりもする。そういう意味での割り切りがとても重要になっています。けれど,非同期型のネットゲームの場合は,いつどこからプレイヤーが参加してくるかわからないので,割り切れないところが多々出てくるのです。ちょうど手品をやっているときに,前からだけでなく,上からも後ろからも全ての方向から見られているような感じですかね。手を抜くことができないのです。研究段階からいろんなバグが出たりして大変でした。

―アウトブレイクの場合は,単体でもネットでも遊べるように工夫されていますね。

はい,そうです。特に単体で(ネットに繋がずに)プレイする場合の処理を工夫しました。アウトブレイクはネットワークで遊んだ場合,接続した他人が互いに見えるのですが,単体の場合その役割は,NPC(Non-PlayerCharacter)が行います。これは,あたかも他の人間が操作しているように見せる必要があるため,AI(人工知能)の思考部分には特に気を使いました。

秋山 幸平氏

―ゲームの将来は,どうなると思われますか。

ネットゲーム自体もまだまだこれからですね。現在でもまだコンシューマ機が主流です。先日も東京ゲームショーを見てきたのですが,最近のゲームには,いわゆる版権ものといわれる,キャラクターの魅力を売りにしているものが多くあります。しかしゲームとしてはあまり面白くなかったりします。あるいは,映像の美しさで勝負しようとしているゲームも多くあります。しかし映像面で差をつけようとするのは,もはや困難だと思います。映像の美しさによる驚きは薄れてきていますね。やはりゲーム自体の面白さがもっと問われるようになるのではないかと思います。

―最近ゲーム機の高性能化が進んでいますね。

ええ。ハードウェアの高性能化により,以前できなかったことが可 能になってきています。問題はそのハイスペックをどう活用するかです。ただ映像の美しさだけを追及するようなものでは駄目だと思いますね。私たちは,ハイスペックをゲームの面白さにしっかりと転化したいと思っています。カプコンは古参のゲーム会社で,ゲームの中身で勝負しようとしています。ゲーム屋としての誇りをもってみんな仕事をしています。大切なのはゲームとしての面白さ。そこだけは譲らないぞ,と。それを追求し,ゲームの中までしっかりと完成品をつくっていこうと考えています。面白さを忘れた,きれいなだけのゲームは絶対につくりたくないですね。

ゲームプログラマになるために

―ゲーム開発には現在,さまざまな人が関わっていますが,ゲームプログラマの役割というのはどのようなものでしょうか。

ゲームプログラマの場合,コーディングするだけが仕事ではありません。プランナーとともに企画にも携わることはよくあります。プランナーが素材を集めてきたのを,プログラマが一つのゲームにまとめあげていくようなイメージですね。そのまとめあげていく過程で,このようにしたほうがいいのではないかと意見も言います。プログラマの意見で,ゲームの企画内容が変わることもあります。少なくとも僕の場合,プログラマがまさにゲームをつくっているのだという自負を持っています。

―ゲームプログラミングの際に心がけるべきことは何かありますか。

僕の場合,部下や若い人たちには,いろんな人の書いたプログラムを見るように言っています。プログラムは一つではない。自分の技術を過信していると,若い人でも自分のプログラムに凝り固まってしまいます。その人の成長を止めてしまう要因になるのです。先輩の書いたプログラムなども見て,そこから学ぶことがとても重要だと思いますね。カプコンの場合は開発だけで数百人いますし,それなりに歴史もありますからお手本はそれこそいくらでもその辺に転がっているわけですし。

プログラミング言語としては,ゲーム開発の場合,C言語,C++を学ぶといいと思います。これからの多人数による開発を考えるとやはりC++でしょう。

―なるほど。ゲームプログラマに必要な姿勢は何かありますか。

ガツガツと知らないことを貪欲に吸収する姿勢ですね。ハードのスペックが向上するのに伴って,学ぶべき領域が広がります。昔は3Dも学術的な研究の対象でしたが,現在ではゲームに実用化できるようになりました。常に発見していくことを繰り返さないといけない。僕も日々新しいことを学んでいます。

それから,さまざまなジャンルのゲームを知って欲しいと思います。自分はRPGのみしかわかりませんというのでは駄目です。それでは,新しいアイデアが出てこない。あらゆるジャンルのゲームを知っておく必要があります。

―そのほかにゲームプログラマに必要なスキルはありますか。

秋山 幸平氏

いちばん重要なのは,コミュニケーション能力です。ゲームプログラマを目指すなら必須ですね。ゲーム開発の場合,いくつものラインがあるので,他のラインから情報を集めたりしながら,物づくりをしていかなければならない。あと,他部署から無理な提案をされる場合も当然あります。そうした場合に断るだけではなく,こういう方法もありますよと,提案し直すことも必要です。

―ゲームプログラマをしてきて,よかったなと思うのはどういうときですか。

例えば日本橋や秋葉原などに行って,店頭で自分が関わったゲーム作品のデモ映像が流れているのを見たときです。本当に見ていて涙が出てくるぐらい嬉しいですね。

―最後にゲームプログラマを目指しているKCGの後輩にメッセージをお願いします。

自分の可能性を信じて決してあきらめないことが大切だと思います。一見すると,ゲーム開発と関係がないように思えることでも,積極的に学んでください。全部,役に立ちますから。それから,コミュニケーション能力を磨くためにも在学中にさまざまな人と触れ合って,友人を多くつくってください。そうして,ぜひスーパープログラマを目指してください。私たちは皆さんと一緒に働ける日を楽しみにしています。


※同期型と非同期型:ネットワークゲームは,① 参加プレイヤー全員が同時に始まり同時に終わるゲーム(同期)と,② いつ参加してもよくいつでもやめられるゲーム(非同期)に分類できる。前者の例は,通信対戦格闘ゲームや,通信対戦レースゲームなど。後者の例はバイオハザードアウトブレイクや,多くのネットワークRPGなど。