【CEDEC 2017 フォローアップ】Cygamesゲーム開発者が作るゲーム開発のための教科書


みなさんこんにちは、Cygames にてシニアゲームエンジニアを務めている金井と申します。

9月1日に開催された CEDEC 2017 にて、ゲーム開発者が作るゲーム開発のための教科書 〜ブラウザ、ネイティブ、コンシューマ全てに共通するゲーム開発技術を書面化するための取り組み〜 という題名で講演をさせていただきました。聴講していただいた皆さま、ありがとうございました。

当日の講演においては、教科書プロジェクトの運営とその成功のポイントについてご紹介いたしました。

その後もプロジェクトは順調に継続しており、3部に分かれた教科書プロジェクトの講義のうちコンピューター基礎編については8〜9月で 150 人程度が参加しています。

この講義に使用している資料ですが、「ぜひ教科書を公開してほしい」という要望を頂いております。1部あたり100ページ程度あり全てを公開することは難しいのですが、コンピューター基礎編でどのような説明を行っているか、内容の一部を公開しつつ解説したいと思います。

講演でも触れましたが、教科書プロジェクトの講義は Cygames 社内で作成したスライドを元に行っており、コンピューター基礎編の資料は大きく以下4つのパートに分かれています。

  • ハードウェアとソフトウェア
  • ブラウザアプリとネイティブアプリ
  • 3D の基礎知識
  • ゲームエンジンとワークフロー

ハードウェアとソフトウェア

教科書プロジェクトの最終的なゴールは「ゲームコンテンツに利用されている 3D グラフィックスの理解を進めること」にあるのですが、コンピューターの構成やソフトウェア動作の基礎的な要素、スマホやコンシューマー機でのゲーム開発に必要な知識を事前に得ておくと、総合的な理解がより進みます。

このパートでは、CPU や GPU といったハードウェアの要素、そこで動作するソフトウェアの基礎、そしてゲームの処理負荷計測の指針についてどう決定していくか、FPS などの例を踏まえて説明しています。

ブラウザアプリとネイティブアプリ

Cygames では、ブラウザアプリやネイティブアプリ、コンシューマータイトルなど、様々なゲームコンテンツを開発しています。社内的にはブラウザアプリの経験者も多く、またプログラマ以外のスタッフから見ると、ブラウザアプリとネイティブアプリの違いが理解できていない事もあるため、この2つの特徴と差異について具体的に説明します。

またブラウザアプリとネイティブアプリではリソース関連の取り扱いが大きく異なるため、リソース的に配分が多くなる傾向があるテクスチャについて、画像フォーマットや圧縮形式について重点的に説明する必要があります。3D グラフィックにおいてテクスチャはほぼ必須となり、またネイティブアプリやコンシューマータイトルでは GPU 依存のテクスチャフォーマットを利用する傾向が強いため、なぜそのようなフォーマットを利用するのか、利用する上での注意点などをピックアップして説明しています。

3D の基礎知識

前述の内容で3D グラフィックス理解に必要となる知識はインプットできたはずなので、ここから3D の基礎知識について説明に入ります。まず3D にすることの利点について見解を述べ、その利点の詳細を説明しています。

具体的には、3D グラフィックスの導入にあたり利点となりうる以下3点について、より詳細を説明しています。

  • ポリゴンを移動、回転させることでカメラワークやモーションといった様々な動きを表現 できること
  • シェーダーによりさまざまリアルな表現が可能になり、またトゥーンといった表現も可能 になること
  • 構成要素が多く、分業が可能になっていること

ゲームエンジンとワークフロー

3D グラフィックスのデータ作成フローは複雑なため、どのような役職があり、また作業の流れがどうなっているかの説明を行っています。

Cygames 社内のゲームコンテンツ制作においてはゲームエンジンを利用することが多いため、ゲームエンジンを利用した際のワークフローについても触れ、スライドは終了となります。

ここでスライドは終了となりますが、3D グラフィックスのワークフローや、より高度な3D グラフィックのトピックについては説明しきれていません。

1回の講義ですべてを説明することは時間的に難しく、また聴講者の負担にもなります。そういった点を配慮し、3D グラフィックスワークフロー編、3D 基礎技術編と講義を分割して開催を行っています。


以上、教科書プロジェクトで利用している内容の一部を解説させていただきましたが、いかが
でしたでしょうか。

同様の試みを行っている方のご参考になれば幸いです。