ゲーム業界の縁の下の力持ち第2弾:AIプログラマー(IGN JAPAN)

【広告】ドクターゼロのケトコロストシャンプー&コロストラムトリートメントで健康な頭皮に!(男女兼用)

■止まらない痒みとフケ

■痒みもニオイも消えた!

■ケトコロストシャンプー & コロストラムトリートメント!

我々はビデオゲーム、特にAAAタイトルの制作にどれだけの労力が注がれているかを忘れがちだ。一般にゲームクリエイターと聞いて思い浮かぶのは一握りの天才達――宮本茂、ケン・レヴィン、小島秀夫など――だが、一つの作品で自らのビジョンを実現しようと日々努力している、数十、時に数百に上る「その他大勢」は見過ごされている。
この特集記事で光を当てるのは、普段は忘れられ、見逃されている人々だ。言わば名も無きヒーロー達、ゲーム業界の縁の下の力持ちである。高度な専門知識を持っている十数人の経験豊富なクリエイターに、ゲーム開発に不可欠でありながらも称えられることの少ない役割について、関係者視点で色々なことを教えてもらう。その役割が重要である理由、仕事の実態、そしてその職業に就くために必要なスキルと知識を明らかにしていく。
今回の主役は「AIプログラマー」だ。前回のQAテスター特集もぜひチェックしてほしい。
AIプログラマーの仕事内容とは?
AIプログラマーとは、NPCに命を吹き込むコード職人のことだ。そして同時に、ゲームの世界に住まう仲間、敵、そして端役たちのバーチャルな意思決定を司る建築家でもある。AIがなければ、「パックマン」のしつこいモンスターたちも、「バイオハザード4」の恐ろしいガナードも、「BioShock Infinite」の愛らしいエリザベスも存在し得なかった。AIなくして、ゲームは完全に生気のない世界になってしまうのだ。
しかし、これほど重要なAIなのに、正当な評価がなされることは少ない。というのも、人々がAIに注意を向けるのは大抵不具合があった時だけだ。ブリザードの「Heroes of the Storm」に携わったシニアソフトウェアエンジニアのベン・ウーラーはこう話している。「ゲーマーはAIがよほど素晴らしいことをしてくれない限り、その良さには気付きません。一方、不具合に出くわすやいなや、すぐに“酷い目にあった、不愉快だ”と怒ってしまうのです」
勢いよく壁に走り込んだり、仲間がピンチに陥っているのに近くで突っ立っていたりするNPCは、プレイヤーを興ざめさせる。しかも、ゲームが複雑であればあるほど、明らかに変な挙動をするNPCや爆笑を誘うような“うっかりNPC”をゼロにすることがますます難しくなっていく。

「ゲーム」画像・動画ギャラリー

「AAAタイトルの多くは、よりオープンワールドな方向に進化していて、結果としてAIの要件が増えています」とアバランチスタジオのリードAIプログラマー、ステファン・ダグネルが語る。「例えば『Skyrim』における“バケツ被せ”のような、開発中には誰も思い付かなかったシチュエーションにも対処しなければなりません。キャラクターの心理やそれに影響を与える様々なアクションに関するデザインをより強固なものにする必要があるのです」
AIプログラマーの実態とは?
AIプログラマーは開発のゴーサインが出た瞬間から、同僚に相談しながら、プロトタイプの制作から全体的な開発まで、プロジェクトに深く関わっていく。「ゲームをプレイして初めて失敗に気付くような事態をなんとしても避けたいので、事前に実現可能なアイデアを練るために、デザイナーやアニメーターと緊密に連携して仕事をするのです」とダグネルは説明する。「それらのアイデアは大抵、ゲーム内でプレイヤーに体験させたいことを考えるところから生まれます。それを技術的に可能で、かつゲーム体験と上手く融合する形に落とし込むことが、AIプログラマーの仕事なのです」
基本的なAIを実装した後、バグや改善が必要な部分を探すためのテストが始まる。コードマスターズのAIプログラマー、ロバート・グラントはこう教えてくれる。「例えば、『F1 2016』の開発中は毎晩会社を出る前にAI同士のレースをセットして、翌朝出社した時にバグレポートを起動して問題を見ていましたね。他にもタイヤの劣化をチェックするために、AIにそれぞれ異なる種類のタイヤを履かせて、できる限りたくさん走らせたりとか、色々やっていました」

ゲーム開発におけるほぼ全ての役割と同じように、AIプログラマーの日常生活やワークライフバランスは会社ごとに異なる。「いわゆる“9時5時族”も多いのですが、プロジェクトの状況に合わせて柔軟に対応する必要があります。何か上手くいっていないときは特にそうですね」とグラント。「開発の終盤に向けて、残業がどんどん増えていきます。マスターアップまでにバグの検出や修正、そして全体的な仕上げがありますから」
一方、ダグネルは他の点においては概ね同意見を示すものの、「AIプログラミングは絶対に“9時5時”の仕事とは呼べない」と強く訴える。「ゲーム開発というのは、情熱を燃やしている人たちが集まって、全身全霊をかけてする仕事ですから」とダグネルは主張する。「とはいえ、成熟した企業であれば大抵、従業員の価値を理解していて、彼らが会社に留まってくれるようにするので、スタッフが不健康になって辞めたくなるような状況を避ける努力はするでしょう」
AIプログラマーになるには?
ウーラーによると、AIプログラマーになるためにコンピューティングの学位は「ほぼ必須」だという。パス検索やステートマシンなど、AIの関連分野の実用的知識に加えて、AIプログラマーはより広範なプログラミング知識や、ゲーム内部をリサーチして問題を特定する能力が要求されるからだ。
「AIプログラマーにとって最も重要なのは、まず自分自身が“プログラマー”であるということです。“AI”はどちらかと言うと、後から付いてくるものです」
「AIプログラマーにとって最も重要なのは、まず自分自身が“プログラマー”であるということです。“AI”はどちらかと言うと、後から付いてくるものです」とグラント。「一般的なプログラミング能力は非常に重要です。ゲーム制作における別の専門分野に飛び込んで解決策を見出せるように、幅広い知識を持つことは明らかに有利です。結局のところ、AIはコード全体、あるいはゲームが読み込んでいるどこかの特定のデータからの影響を受けていて、問題はどこで発生してもおかしくないのですから」

コメントを残す

メールアドレスが公開されることはありません。