Unreal Engine 4(以降、UE4)、Unityをはじめとするゲームエンジンは、今やゲーム開発に欠かせない優れたソフトウェアだ。加えて、ゲーム開発に関する多くの学びが得られる格好の教材でもある。一方で、ゲームエンジンとの距離感を間違えると『ゲームエンジンのオペレーター』程度のスキルしかない学生を『ゲームデザイナー』、あるいは『プログラマ』と称して、世の中に送り出すことになりかねない。学生たちの5年先、10年先までのキャリアパスを思えば、一歩引いた視点でゲーム開発の現状や今後を把握し、筋肉質な人材を育て上げるカリキュラムを組む必要があるだろう......と、書籍『Unreal Engine 4で極めるゲーム開発』(2015)の著者で、Ubisoft Osakaのプログラマでもある湊 和久氏は語る。そんな湊氏による教職員向けセミナー『「ゲームエンジン」と「極め本」の教育活用における落とし穴を避けるには』が、2016年10月15日(土)にボーンデジタル(東京都千代田区)で開催された。本記事では、このセミナーの模様をお伝えする。

記事の目次

    ※前述の通りこのセミナーの主な対象は教職員だったが、湊氏の話は、教育を受ける学生と、その学生を受け入れるゲーム会社の採用担当者・開発者にとっても参考になるものだった。ゲームデザイナー、アーティスト、プログラマといった職種を問わず、ゲーム開発者のキャリアパスに興味のある人は、ぜひご一読いただきたい。

    湊 和久氏(プログラマ) 株式会社Ubisoft Osaka

    PCゲーム開発のプログラマ、アニメ制作のアニメーターを経て、日本の大手ゲーム開発会社でアーケードゲーム・家庭用ゲームの開発に9年間従事。技術だけでなく、ワークフローやプロジェクトマネジメントなどの高い生産性を持った方法論、プログラム開発、活用に注力し、テクニカルディレクターやプロジェクトマネジメントを兼任した。2016年よりUbisoft Osaka所属。自著に『Unreal Engine 4で極めるゲーム開発』 (2015)、翻訳監修に『ゲームエンジンアーキテクチャ 第2版』 (2015)などがある。
    www.ubisoft.co.jp

    職種によって大きく変わる、ゲームエンジンとの適切な距離感

    湊氏の著書『Unreal Engine 4で極めるゲーム開発』は、いくつかの教育機関が教科書として採用する動きを見せている。ただし、この種の『極め本』やゲームエンジンをカリキュラムに導入する場合、学生との距離感を慎重に見極める必要があると、湊氏はセミナーの冒頭で釘を刺した。「私は大学や専門学校を出ておらず、独学でプログラミングを学びました。独学で何とかなった分野もありましたが、教育機関でしっかり勉強してきた人には適わないと痛感した分野も多かったです」と自身のこれまでをふり返り、教育機関は学費と時間を投じて学ぶ場所なのだから、独学では習得しづらい分野や、到達しづらい水準まで、しっかり身に付けた人材の育成に取り組むべきだと語った。

    「どのようなキャリパスを見据えて若い人を育てるのか。先生が明確なビジョンをもち、学生と共有しておく必要があると思います。数年かけてゲームエンジンのオペレーターを育成し、ゲーム会社に就職できたとしても、5年後、10年後に行き詰まってしまうかもしれません。必要なのは、今の現場で求められる表層的なスキルの伝達ではなく、未来を見据えた人材育成です。そのためにゲームエンジンがどう貢献できるのかというテーマで、お話をさせていただきます」。

    ▲書籍『Unreal Engine 4で極めるゲーム開発』(2015)は、1本のサンプルゲーム開発を通して、UE4を使ったゲーム開発に必要な知識を学びつつ、実践的な経験も積める構成になっている。加えて、3Dゲーム開発の一般的なワークフローや、各職種に求められる役割・スキルも解説している
    ▲【上】セミナー会場風景。関東地方の教育機関に所属する教職員に加え、この日のために東北、関西、九州地方などから出張してきた教職員もいらした/【下】セミナーで使用されたスライド。以降では、特に重要なスライドを引用しつつ、セミナー内容を紹介していく

    本題であるカリキュラムについて語る前に、湊氏はゲームエンジンの定義や、現在のゲーム開発における各職種の役割について解説した。

    ゲームエンジンは、『コリジョン(衝突)検出システム』『レンダリングシステム』『オーディオシステム』といった、ゲーム制作に必要な機能を提供する技術の集合体だ。このゲームエンジンの上に『遊び方を規定するスクリプト』『レベルデザイン(シナリオや難易度などを考慮して設計されたステージデータ)』『キャラクターや環境などのアートアセット』といったデータを実装することで、様々なゲームを開発できる。同じゲームエンジンを使っても、上に実装するデータがちがえば、まったくちがうゲームができあがる。

    「『ゲームエンジンアーキテクチャ』の著者で、『アンチャーテッド』『The Last of Us』のリードプログラマを務めたジェイソン・グレゴリー(Jason Gregory)氏は、『データドリブンであること(データに基づいた開発環境であること)』が、ゲームエンジンの定義だと解説しています」。

    そしてゲームデザイナーには、自らゲームエンジンを操作し、前述のデータを実装する能力が求められるという。既存のアセットやプログラムを組み合わせたり、簡単なアセットを自らつくったり、機能と機能を結びつけるスクリプトを書いたりしながら、ゲームデザインの試行錯誤を自ら行える専門職が、現在のゲームデザイナーだと湊氏は解説する。つくるゲームが面白ければ『ジュニア』から『シニア』、さらに『リード』へとキャリアアップしていく。スクリプトを書けないゲームデザイナーを補助するため『スクリプタ』という職種を設けている会社もあるが、スクリプタがキャリアアップする場合も、ゲームデザイナーとして前述のキャリアパスを歩むことが多い。

    アーティストは、現在のゲーム業界において最も分業化が進んでいる職種だ。2D、あるいは3Dのキャラクターや環境(背景)、アニメーション、エフェクト、UI、サウンドなどの特定分野で高い芸術的な能力をもち、アートアセットを制作することが求められる。加えて、その分野の設計ができる能力も必要になってきたという。「ゲームエンジンをはじめとする各種ツールを使えば、以前はプログラマに依頼していたアートアセットの実装まで、アーティスト自身で行えます。例えばガンシューティングゲームを開発する場合、キャラクターの移動範囲を決めるのはゲームデザイナーの仕事ですが、その移動範囲内でキャラクターにどんな動き(モーション)をさせるかはアニメーターの裁量に任されます」。こういった開発体制の実例を紹介した記事として、湊氏はCGWORLD.jpの『ステートマシン環境がワークフローをどう変えるのか』を紹介した。

    前述の例のように、現在のゲーム開発においては、各職種が自分に任された裁量の範囲内で最高の結果を出し、次の工程へと引き継ぐワークフローが主流となりつつある。運動会に例えるなら、『一緒にがんばる二人三脚』ではなく、『バトンを受け渡していくリレー』に近い。このワークフローの中では、前工程の決定事項を変更してはならない一方で、自分の工程での自由な裁量が与えられる。「誰かに依頼されたことを、超高速で片付ければ褒められていた時代は終わりました。自分で考え、試行錯誤を繰り返し、最高のものをつくる才覚がすべての職種と工程で求められているのです」。

    ▲ゲームデザイナーに求められる能力【上】と、アーティストに求められる能力【下】を解説したスライド

    先に紹介したゲームデザイナーとアーティストは、『動けば良い』『見た目が問題なければ良い』といった判断基準でデータやスクリプトを実装しても構わない。しかし、商品としてリリースされるゲームは、洗練された設計で、保守がしやすく、高速に動作することが求められる。それを実現するのがプログラマの役割であり、そのためにはソフトウェアエンジニアリング、数学、物理、アルゴリズムなどに関する知識が必要となる。「『ジュニア』から『シニア』、さらに『リード』へとキャリアアップしていく点は同様ですが、キャリアアップを左右するのは『面白いゲームをつくれる能力』ではなく、『高い技術力』である点が、ゲームデザイナーとプログラマの大きなちがいです」。

    ここまでの話をまとめると、現在のゲーム開発において、最もゲームエンジンに習熟すべき職種はゲームデザイナーと言える。「ゲームデザイナーは、ゲームエンジンの上にデータを実装し、ロジックを試作して、面白いゲームを試行錯誤するコンテンツクリエイターです。そのデータ(アートアセット)をつくり、時には実装の一部も担うのがアーティストです。そしてプログラマには、技術者としてゲームエンジンを拡張したり、実装したデータを最適化したり、ゲームエンジンそのものを構築する役割が求められます。人工知能などの技術分野、サーバサイドや通信などのバックエンド技術も、プログラマの領分でしょう」。

    したがって、ゲームデザイナー教育でのゲームエンジン導入は必須であり、アーティスト教育への導入も悪くはない。しかし、プログラマ教育への導入は要注意というのが個人的な意見だと湊氏は語った。「深く考えずにゲームエンジンを導入し、プログラマ志望の学生に早い段階で触らせると、ゲームエンジンの力を自分の力量と勘ちがいしたり、興味の対象や勉強の方向性が技術に向かわず、プログラマのキャリアパスと合致しない状態に陥ってしまう恐れがあります」。

    ▲プログラマに求められる能力【上】と、ゲームエンジンの教育導入に関する個人的賛否【下】を解説したスライド

    会社は人材を定義しない。教育機関が、強い心で人材を定義してほしい

    前述の解説では、各職種の役割を『現在のゲーム開発事情』として紹介した。しかし、実際の日本のゲーム開発現場は、この通りの場合もあれば、そうではない場合もあるというのが実情だ。「スクリプトが書けず、3Dツールに疎く、専用ツールがないと調整ができない開発者が、ゲームの企画書や仕様書を書いている場合もあります。こういった開発者は自分のアイデアを自分で試すことができないため、その企画書や仕様書は机上の空論になりかねない危うさをはらんでいます。加えて、他人の手を介さなければゲームデザインの試行錯誤ができないため、先に紹介したゲームデザイナーと競い合った場合、明らかに分が悪いのです」。

    ゲームデザインの試行錯誤を1人で行えるゲームデザイナーと、それができない開発者とでは、試行錯誤の回数に大きな差が生まれる。自ずと成長速度がちがってくるし、評価や報酬にも影響するだろう。「教育機関が育成すべきは、5年先、10年先までサバイブできるゲームデザイナーであることは、言うまでもありません」。

    ▲ゲームデザインの試行錯誤を1人で行える人と、アーティストやプログラマの手を介さなければできない人とでは、成長速度がちがってくる。どちらの方が、5年先、10年先までサバイブできる可能性が高いかは、火を見るより明らかだ

    一方で、プログラマと称する開発者の中には、スクリプトを書く、簡単なアセットをつくる、データの発注を仕切るといった仕事に終始している人もいるという。「肩書きはプログラマですが、その実態はスクリプタという開発者もいます。こういった人々は技術力を培う機会がないため、プログラマとしてキャリアアップしようにも限度があります。ゲームデザイナーとしての役割や裁量を与えられているなら良いのですが、雇った会社が何も考えずに下働きをさせているだけなら、そのキャリアパスは非常に不透明です」。

    前述のように、人材の定義は会社によってバラバラであり、中には定義していない会社もあれば、『とにかくゲームエンジンを触れる人を輩出してほしい』といった短絡的な要求を教育機関に出す会社もある。「『会社は人材を定義しない』と割り切り、教育機関が強い心で人材を定義し、カリキュラムを考え、定義通りに育てた学生を、自信をもって社会に送り出してほしいのです」。

    そのための参考資料として、湊氏はデジペン工科大学(DigiPen Institute of Technology)のカリキュラムを紹介した。デジペン工科大学は、アメリカ ワシントン州 レドモンド市(シアトル市の近郊)に位置する、ゲーム教育に特化した大学だ。レドモンド市にはマイクロソフト本社、任天堂の現地法人Nintendo of America(NOA)本社など、ソフトウェア関連の会社が集積しており、これらをはじめとする数多くのゲーム、IT関連会社に優秀な人材を輩出している。

    デジペン工科大学のゲームデザイン専攻(Bachelor of Arts in Game Design)では、現在のゲームデザイナーは『よくトレーニングされたレベルデザイナーとなって、初めてゲーム業界の入り口に立てる』と考えている。そのため、レベルデザインに加え、テクノロジー、アート、オーディオ、ナラティブ、心理学などの知識も有するゲームデザイナーの育成を目指した4年間のカリキュラムを構築している。後述するコンピュータサイエンス専攻と比べれば技術レベルは低いものの、1年の前期からスクリプト、数学、プログラミング教育を行い、シェーダや物理エンジンなどを独自に実装することはできないが、ツールやライブラリがあれば実装できるレベルの技術習得を目指す。

    1年後期からはプロジェクト(3〜4名のチームによるゲーム制作)も開始される。このプロジェクトを通して、効果的なチームコミュニケーション、プランニング、ドキュメンテーション(書類制作)、デバッグ、バージョンコントロールなどを学んでいく。ゲームデザイン専攻の学生だけで構成されたチームであれば、商用のゲームエンジンを使っても良いが、コンピュータサイエンス専攻の学生との混成チームの場合には、ゲームエンジンを含むいかなるミドルウェアの使用も禁止される。

    デジペン工科大学にはコンピュータサイエンスに関する専攻が4種類あり、最も日本のゲームプログラマ教育に近いものがBachelor of Science in Computer Science in Real-Time Interactive Simulationだろうと湊氏は語る。この専攻では、ハイレベルな数学、C言語、C++言語、物理、CG、ネットワーク通信、AIなどを教育し、高い技術力をもったプログラマの育成を目指す。プロジェクトで使えるのは標準ライブラリのみで、レンダリングパイプライン、物理エンジン、データ構造などは全部自分たちで記述する。ただし最終学年の4年次のプロジェクトにおいては、より高度なライティングやレンダリング、3D物理の実装などに挑戦したい場合に限り、インストラクターの許可があれば、商用のゲームエンジンやミドルウェアの使用が認められる。「できないことを誤魔化すためにゲームエンジンを使うことは許されませんが、できるとわかっていることをスキップする目的であれば、ゲームエンジンの使用が認められるようです」。

    前述のような徹底した技術教育を受けたコンピュータサイエンス専攻の学生は、優秀な技術者としてゲーム・IT関連の会社に採用されていく。湊氏はかつてデジペン工科大学を訪問し、在校生がつくったゲームを触ったこともあるという。「ゲームとしての面白さは平凡なものもありましたが、『物理エンジンから何から、全部ゼロからつくった』という話を聞き、彼らの高い技術力に驚くしかありませんでした。ゲームを面白くするのはゲームデザイナーの役割なので、デジペン工科大学の指導者は『コンピュータサイエンス専攻の学生がつくるゲームは、つまらなくても良い』と割り切っているように感じました。そのゲームが高い技術力に裏打ちされたものであれば、学生たちはちゃんと評価され、就職していきます。加えて、商用のゲームエンジンに習熟している必要もありません。そもそも、UE4やUnityは扱いやすさを売りにしているゲームエンジンです。ゲームエンジン自体をつくれる技術力が備わっている人なら、基本的な操作は短期間でマスターできるため、就職後に困ることはありません。このように徹底して専門性を追求、教育する姿勢は、日本の人材育成においても参考になると思います」。

    ゲームデザイナーは序盤からガッツリ、プログラマは中盤or終盤にサラッと

    以上の話を踏まえ、各職種の学生がゲームエンジンに触れるべき時期と、その触れ方をまとめたものが右下の表である。

    ▲【上】学生がゲームエンジンに触れる時期と、得られる効果をまとめた表/【下】各職種の学生がゲームエンジンに触れるべき時期と、その触れ方をまとめた表

    ゲームデザイナーの場合は、ゲームエンジンがなければゲーム制作の入口に立てない。そのため入学直後の段階からガッツリ触れて、今後の学習全般で活用できるようになることが望ましい。プログラマの場合は、中盤、または終盤で、サラッと触れる程度に留めておくことが望ましい。「プログラマの場合は、他に学ぶべきことがたくさんあります。加えて、ゲームエンジンはエンジン部分にバグがほぼ発生しないので、実習形式のプロジェクトの中でゲームエンジンを使ってしまうと、設計、最適化、テスト、デバッグなどを実践的に学ぶ機会が失われてしまうのです」。

    なお、最もやってはいけない実習形式のプロジェクトのあり方は、ゲームデザイナー志望の学生が机上で企画書や仕様書を書き、プログラマ志望の学生がゲームエンジンを使ってデータを実装することだという。「ゲームデザイナーはゲームエンジンに触れる機会を失い、プログラマは技術力を培う機会を失うため、足の引っ張り合いになります」。

    アーティストの場合も、ゲームエンジンの習熟は重要性が高いものではない。そのため中盤から終盤の期間に、実際の仕事でアーティストが受け持つ役割(アートアセットのインポート、セットアップ、調整など)を体験する程度で良いだろうというのが湊氏の見解だ。

    冒頭で述べた通り、ゲームエンジンは今やゲーム開発に欠かせないツールとなっている。しかし、何も考えずに教育現場に導入すると、学生の成長を阻害してしまう危険性をはらんでいる。教育機関が強い心で各職種の人材像を定義し、目的をもって、適切な時期に、適切な距離感で導入することが非常に大切だ。

    TEXT_尾形美幸(CGWORLD)
    PHOTO(PORTRAIT)_大沼洋平