Game Developers Conference 2020 日本語情報:ゲームプログラミング

GDC2020日本語情報の特設ページです。3月16日(月)~3月20日(金)に開催されるGDC2020のうち、ハイライトセッションの参考訳情報を掲載しています。


ゲームプログラミング Game Programming

ゲームプログラミング 1週間講座
コンシューマ機、モバイル、PC、VRなどのプラットホームにおけるゲーム開発を可能にするプログラミングのスキルやテクニックを学べます。ゲームに求められる作り込みの水準は高まる一方で、開発上の難解な課題を新たなツール、ミドルウエア、そして技術的なスキルを駆使して解決していく必要も強まっています。

ゲームプログラミングは、下記のものを含んでいます

先進グラフィックスサミット、AIサミット
機械学習サミット、ゲーム開発のための数学サミット
オンラインゲームテクノロジーサミット、ツールサミット
コアコンセプトセッション:プログラミング

>パスの情報についてはこちら


先進グラフィックサミット
Advanced Graphics Summit

1日サミット | 月 | 3月16日

業界屈指のハードウェアおよびソフトウェア業者各社の連携でお届けする、1日日程の本チュートリアルは、PCプラットホームでの展開を目指すゲーム開発者向けに、最先端のゲームグラフィックを生み出す方法について専門家視点での知見を提供します。

AMD および Intel の開発技術、デモ、研究部門のスタッフに加え、市場でゲーム作品を発売している業界各方面のゲストスピーカーが登壇し、現行のPCのグラフィックAPIを活用して目を見張るような場面を生み出したり、現行のGPUで超高速パフォーマンスを実現させる先進的な描画テクニックを解説します。本チュートリアルではまた、開発者がエンジンやシェーダーを設計する際に考慮すべき、ベンダーに依存しない最適化方法についても紹介します。


CPU同期入門編:ハードルを乗り越えるには
Breaking Down Barriers: An Introduction to CPU Synchronization
Matt Pettineo (Ready at Dawn)

Vulkan や D3D12 などの最近の「explicit」型のグラフィックAPIの登場により、プログラマーはバリア、イベント、フェンスその他のGPUサイドの同期プリミティブを活用しないと適切な結果を得ることができなくなっています。GPUプログラミングの知識をこれからつけようというプログラマーや、バリアが不要な他のAPIに慣れている場合、バリアが必要な理由や、実際水面下でどんなことをしているのかが非常にわかりにくいかと思います。本セッションでは現行のPCやコンソール機のGPUアーキテクチャでの仕組みを解説することで、バリアにかかっている霧をできるだけ取り除くことを目的とします。

得られるもの
参加者はバリアの必要性、および、GPUの使用やパフォーマンスへの影響に関する理解が深まるでしょう。加えて、バリアや同期が、複数のハードウェアキュー(Async Compute)へのコマンド送付やGPUプリエンプションなどのより複雑な事項にどのように絡んでいくのかも解説します。


400万エーカーを本気で作る:「Serious Sam 4: Planet Badass」のGPUベースでプロシージャ生成した地形
Four Million Acres, Seriously: GPU-Based Procedural Terrains in ‘Serious Sam 4: Planet Badass’
Alen Ladavac (Croteam)

「Serious Sam 4: Planet Badass」を手がけた Croteam のデザイナー陣は見せかけのワールドスケーリングを使わない巨大なステージの実現を目指しました。本セッションでは Croteam の CTO である Alen Ladavac が128×128 km の地形を1cm単位でテセレーションし、地形上の構造物、森、しげみ、草、岩などの詳細なディテールをGPUベースでプロシージャ生成したものを、レンダリングする際に駆使した様々なテクニックを解説します。


現行グラフィックにおけるゾンビの高スループット実現
High Zombie Throughput in Modern Graphics
Anton Krupkin (Saber Interactive)

本セッションでは Saber Interactive のテクニカルアートおよびレンダリングチームが最新ゲーム作品「World War Z」で採用した解決策の数々を紹介します。厳しいパフォーマンス制限の中で多様なゾンビの集団をレンダリングするという複雑な問題にどのように取り組んだかをお話しし、死体の飛散やデカールなど、ゾンビシューターに対応した視覚的な機能にも触れます。これらのコンセプトは一般的な概念を発展させたものばかりですが、本セッションではふたひねりほど加え、これらの技術が水面下でどのように組み合わされているかの全体像をお届けします。


AIサミット
AI Summit

2日間サミット | 月ー火 | 3月16-17日

トップレベルのゲームAIプログラマーがお届けするパネルやレクチャーに加え、ゲームAIのこれからに関する会話、議論、主張をお届けします。AIサミットは掘り下げた知見を求める中堅から上級クラスのプログラマー向けですが、AIが次世代のゲームに何をもたらしうるかに興味のある方なら、貴重な知見が得られるでしょう。

>すべてのAIセッションはこちら(公式英語ページ)


「DEATH STRANDING」のAIポストモーテム
‘Death Stranding’: An AI Postmortem
Eric Johnson (Kojima Productions)

本セッションでは Kojima Productions の第1弾タイトル「DEATH STRANDING」の開発チームが直面したユニークなAI関連の課題をご紹介します。アイスランドがモデルの、文明崩壊後の米国を舞台にした本作では、AI開発の主軸は単純に、ゲーム中の過酷な地形を確実に、かつ説得力のある形で移動できるようなエージェントを実現することでした。断片化した力技のナビメッシュから自然な動きを生み出させるアプローチ、極端な地形環境でも戦術的な配置をとらせるテクニック、うねるクレバスや足場や峡谷でも長距離のナビゲーションを可能にしたハイブリッド方式のパスファインディング、橋や梯子などプレイヤーが配置したダイナミック構造物を通る移動への対応などを解説します。

得られるもの
参加者は Kojima Productions の開発チームが「DEATH STRANDING」でAIキャラクターを実現する際に直面した課題と、それらを解決するために編み出された技術的な手法、とりわけ、極端な自然環境内でのナビゲーションについて学べるでしょう。エリア環境の複雑さが増すに連れてどのような問題が発生しうるのか、そしてそれらを打開する礎となり、手元のプロジェクトにも応用できる技術的知識を知ることができるでしょう。

想定される参加者
本セッションはリアル志向のオープンワールド環境においてナビゲーションを可能にするAIテクニックを学びたいAIプログラマーおよびゲームプログラマー、および、「DEATH STRANDING」のAI開発プロセスについて詳しく知りたい方の聴講を想定しています。


機械学習サミット
Machine Learning Summit

1日サミット | 水 | 3月17日

機械学習サミットでは機械学習のテクニックがよりよいゲーム作りにどのように役立つのかに関するご質問に答えられるような、掘り下げた技術的なセッションをお届けします。コンテンツ制作者が気になるのは、手動でのタスク自動化は果たして素早く新しいデータ作成方法を可能にし、できた余力をゲームの見どころに注げるのか、という点かと思います。複雑なゲームのプレイ方法の学習に手が届きやすくなりつつある今、プレイヤーの手元に届く前にゲームをボットにテストさせて、バグや脆弱性や裏技などを見つけることができるのでしょうか。機械学習はやがて、バーチャルエージェントと人間のプレイヤーとの見分けがつかない段階まで到達しうるのでしょうか。

>すべての機械学習のセッションはこちら(公式英語ページ)


テストやNPCにディープラーニングを使用する際に避けるべき落とし穴
Machine Learning Summit: Avoid Mistakes When Using Deep Learning for Testing and NPCs
Jeffrey Shih (Unity Technologies)

ゲームのプレイテストおよびNPC作成のスケーリングに深層強化学習および模倣学習が活用できるという議論(や約束)が数多く聞こえてきています。DeepMind や OpenAI のようなAI機関が囲碁、Starcraft II、Dota 2でトッププレイヤーに勝利しており、これにより出版物および新たな研究が一気に増え、ゲーム業界にも届きつつあります。しかし、現在、多くのゲームスタジオにとっては、真に知的なAIを生み出すという希望と夢は、コストや実装にまつわる現実とは大きくかけ離れています。
本セッションでは深層強化学習や模倣学習を活用することで開発を有利に進めている小規模やインディーのスタジオが得た教訓をご紹介します。これらのスタジオが確保した有利性やベストプラクティスについても学べるでしょう。
タイトル開発に強化学習と模倣学習を活用している2つのスタジオから実例をご紹介していきます。

得られるもの
参加者はゲーム中に強化学習や模倣学習を実装する際の実務面について知ることができます。具体的には、何に活用できるのか、強化学習と模倣学習のボットの違い、実装時の典型的な課題などを扱います。

想定される参加者
ゲーム開発者、AIエンジニア、ゲームデザイナー、QA/テストエンジニア、経営者など。


セマンティック機械学習による英語主体のゲームAI作成
Creating Game AI by Using Mostly English, with Semantic ML
Anna Kipnis (Google)

説得力のあるキャラクターAIを構築する際の最も大きな課題の1つが、プレイヤーがキャラクターに対して起こしうるあらゆるインタラクションに備えるための、プレイヤーの行動とゲーム用に用意したコンテンツとを糊付けする気の遠くなるプロセスです。セマンティック機械学習を使うことで、その糊付け過程を丸々省略できるとしたら?
 AIのみならず、プレイヤーがこれまでゲーム中でしてきた判断に応じて、もしくは突発イベントに対応する形で、ランタイムでクエストをカスタマイズできるとしたら? 本セッションではセマンティック機械学習を採用したいくつかのデモを紹介し、簡単なスプレッドシートだけで短時間でAIとその性格をプロトタイピングして構築する方法、これまでの出来事に応じて適切なコンテンツを選択する、ゲームのダンジョンマスター的なAIディレクターのもとでの活用方法を解説します。
さらに、最も注目すべき点である、シミュレーション変数ではなく英語を使える自然言語インターフェースにより、開発担当がプログラマーの関与を必要とせずにより高い抽象度合いにて問題を解決でき、また、チーム内の技術知識が少ないメンバーでもゲームの開発に創造的な貢献ができるという利点をお見せします。

得られるもの
スプレッドシートに普通の英語で入力するだけでゲームAIのプロトタイピングが可能な新たな新手法について学べます。この技術を活用すれば、クエスト生成時にどのコンテンツを使うのかをダイナミックに判断したり、天候を決めたり、会話内容を決めたり、キャラクターのアクションを決定するなど、突発的な出来事への対応が可能になります。

想定される参加者
本セッションはゲームデザイナー、プログラマーに加え、発生しうるインタラクションやゲームステートを網羅せずとも予期されないプレイヤーの判断や突発イベントを認識できるAIに興味のある方向けの内容です。


ラグドールのモーションマッチング
Ragdoll Motion Matching
imon Clavet (Ubisoft Montreal)

人体の物理シミュレーションにはゲームのアニメーションにかつてないほどのインタラクション、説得力、そして多様性をもたらす可能性が秘められています。キャラクターの身体と周囲の環境との精緻な関係性を忠実に生み出すには、ズルをする度合いをできるだけ抑え、仮想空間にて実現可能なことの礎として物理エンジンを信頼していく必要があります。一方で、大量のモーションキャプチャーデータを活用したデータ主導のアニメーションシステムは、ゲームデザインゆえにレスポンスの要件が非常に厳しい場合でも、アートのスタイルおよび多様性を維持することが可能だと実証しています。
本セッションではこの2つの発想を組み合わせたアニメーションシステムを紹介します。深層強化学習を活用し、モーションマッチングの出力に忠実に沿うようにバーチャルロボットにトレーニングを施すというものです。ラグドールを「神の力」で四肢を全体空間内のポイントに繋いだりすることなく、自前のモーターで駆動させ、ユーザーによって操作されたインタラクティブなモーションキャプチャーを追いつつ自らバランスをとる方法を学ばせることで、予期されない摂動からの回復が可能になりました。リアルでインタラクティブな仮想人間キャラクターへの道における、有意義な一歩だと自負しています。

得られるもの
新たなアニメーションシステムを構築する際のインスピレーション。

想定される参加者
プログラマー、アニメーター。


ゲーム開発の数学サミット
Math in Game Development Summit

1日サミット | 水 | 3月17日

グラフィック、ゲームプレイ、アニメーション、物理シミュレーション、AI、プロシージャ生成用に現行水準のコードを書くには、それらの基礎にある数学に精通している必要があります。「ゲーム開発の数学」サミットでは、バイアスのかかったランダム性、ナビメッシュ生成、浮動小数点エラー、プロシージャ生成、波動関数崩壊を含む幅広い議題のセッションに加え、スプラインの intuition、二重クロス乗積、四元数(クォータニオン)についてさらに掘り下げてお届けします。


C++での数値誤差の理解とトレース
Understanding and Tracing Numerical Errors in C++
Gino van den Bergen (Dtecta)

コンピューターによる数値の表現には精度的な限界があります。算術演算の結果は表現可能な近似数値に変換されます。この変換の効果を推測するのは難しいものの、絶対誤差ではなく相対誤差で考えるのが一助となります。本セッションでは計算によって比較的大きな変換誤差が生じること、そして計算された値における相対誤差の最大量を特定する方法を解説します。
C++コードでは、浮動小数点数型もしくは倍精度浮動小数点数型をプロキシクラスで代替することで、計算されたすべての値に対して変換時の誤差の上限を厳密に自動特定することが可能です。本セッションでは、プロキシクラス ErrorTracer を透明性を保持した状態で導入して計算の安定性を確保する一助にできるような、C++の関数や表現の書きかたを紹介します。

得られるもの
参加者は浮動小数点計算の落とし穴のいくつかについて知り、数値誤差をトレースする新しいC++ツールを持ち帰れるでしょう。

想定される参加者
浮動小数点演算の特性について体得したいプログラマー。C++をある程度知っている想定です。


ナビゲーションメッシュの生成と活用
Generating and using Navigation Meshes
Ben Sunshine-Hill (Havok)

今日のゲームのナビゲーションシステムのほとんどにおいて、ナビゲーションメッシュが基盤となっています。本セッションではナビゲーションメッシュを自動生成したうえで、パスファインディングに活用するプロセスを詳細に解説します。

得られるもの
参加者は任意のゲームステージのジオメトリを出発点として、クエリ可能なナビゲーションメッシュに至るまで、ナビゲーションメッシュの生成にまつわる基本的なステップについて学べます。ナビゲーションメッシュに標準的なパスファインディングアルゴリズムを適用する方法についても解説します。

想定される参加者
技術色の強いセッションで、ゲームデザインやレベルデザインは扱いません。AIプログラマー、エンジンプログラマーへの恩恵が最も大きいかと思います。A*サーチアルゴリズムの基礎知識があることを想定しています。


Caves of Qud の丸ごとプロシージャ生成
End-to-End Procedural Generation in ‘Caves of Qud’
Brian Bucklew & Jason Grinblat (Freehold Games)

プロシージャ生成のテクニックを身につけたとします。ノイズを使って地形を生成したり、置換文法でテキストを生成したり、L-システムで植物を生成したりできるでしょう。しかし、すべてをつなげて村丸ごとひとつ、といったスケールの、複雑な出力を可能にするにはどうすればいいのか。本セッションでは Freehold Games の Brian Bucklew と Jason Grinblat が「Caves of Qud」で村の生成に使用したシステムを丸ごとご案内します。村ごとの歴史、文化、建築様式、物語の伝統、NPCそしてクエストも含めて、丸ごとです。多層式のデザインに伴う課題、様々な粒度のシステムをどう連繋させるか、そして自前の大規模生成システムを構築する際にどのような多目的ツールを書けば有用かについてお話しします。

得られるもの
大規模でまとまりのある生成システムと、それを可能するツールに関する知見。

想定される参加者
プロシージャ生成まわりでスキルアップして、複雑で連結した生成システムを実装しようと考えている方向けです。プロシージャ生成の経験があれば、話題に挙がる概念をフル活用していただきやすいはずです。


オンラインゲーム技術サミット
Online Game Technology Summit

1日サミット | 月 | 3月16日

本サミットではあらゆるゲームプラットホームにおいて、オンライン/接続型/マルチプレイ方式のゲームに対応したシステムを開発し、展開し、スケーリングし、メンテナンスする際の技術的なハードルを議題にします。これらのシステムを支えるエンジニア、運営チームなどの役割で活躍している業界内の専門家が紹介する制作上の使用事例や実例に焦点を当てていきます。セッションの議題には、マルチプレイゲームのトポロジーやアーキテクチャ、マッチメイク、ゲームデータの保管、アナリティクス、network physics およびコミュニケーション、クライアントサイドおよびサーバーサイドのネットワーキング、インフラ管理、システムのスケーリング、運営とモニタリング、セキュリティなどを含みます。


「ゴーストリコン ブレイクポイント」:サービスとしてのゲームを運営する際のフレームワーク的アプローチ
‘Ghost Recon Breakpoint’: The Framework Approach to Operating a Game as a Service
Anas El Ferachi (Ubisoft Montpellier)
Nicolas Raby (Ubisoft Montpellier)

本セッションは最初にサービスとしてのゲーム(GaaS)がどのようなもので、従来のゲームとどう異なるのかを解説し、そのうえでこれらのライブゲームの制作、設計プロセス、実装段階、およびその種のプロジェクトが直面する課題について掘り下げます。また、ここで Ubisoft のGaaS用のオンラインアーキテクチャの基本、および、ゲームのビジョンを実現させるために標準的なサービスとプロジェクト専用のものを併用している様子を紹介します。
セッションの本題である、この種のライブゲームの管理面については、運営に必要なツール、その作りかた、そのどれが標準化されているのかと、標準外のツールの作成をどのように円滑化できるかをお話しします。「ゴーストリコン ブレイクポイント」からの実例を交えてフレームワーク的アプローチを解説します。
最後のパートではフレームワークの技術面を掘り下げ、採用した技術とその理由をお話ししたうえで、一歩下がって観念的な視点から本アプローチの長所・短所と、どうすれば適切に実施できるかをまとめます。

得られるもの
ウェブフレームワークがライブゲームの開発にどのように関与するのか、および、その簡潔さとユーザーフレンドリー性ゆえにオンライン/ネットワーク開発者のツール開発を円滑化できる点を説明します。適切に設計されたウェブフレームワークはプロジェクト間のコードや技術の共有の一助にもなり、これはAAA開発者にとっては大きな利点になり得ます。

想定される参加者
ローンチ後何年にも渡って生き続けるゲームをどのように設計し、開発して運営するかに興味のあるゲーム関連の専門家に向けたセッションです。ウェブ開発はゲームの開発サイクルそのものからは長年抜けてしまっていたのもあり、ゲーム業界に参入したいウェブ開発者の方にも有用です。


そのゲーム、クロスプラットホームで大丈夫か?
Is Your Game Cross-Platform Ready?
Raymond Arifianto (AccelByte)

ゲームのクロスプラットホーム機能を気にする声は多く聞こえてきますが、ゲームのクロスプラットホーム対応は生半可な覚悟で目指すべきものではありません。ここではその大いなる挑戦を始める前に知っておくべき9つの事項を紹介します。

得られるもの
クロスプラットホーム対応のゲームの開発にまつわる複雑さと、必要になる技術的な投資に関する理解。

想定される参加者
次回作にクロスプラットホームゲームを開発中のプロデューサーや開発ディレクター。マルチプラットホームでのゲームリリースやオンラインゲーム開発の経験は必須ではないものの、あれば理解が深まるはずです。


最適なマッチメイキングのための機械学習
Machine Learning for Optimal Matchmaking
Ryan Cleven (Microsoft)
Josh Menke (343 Industries)
Tom Minka (Microsoft)

マッチメイキングは最初に自動化されて以来、ほとんど変わっていません。一般的なアプローチとしては、1つ以上の優先されるメトリクスでの理想的なマッチングを探し、マッチングがなされるまで理想の枠組みを緩めていくというものです。このアプローチには問題点があり、各メトリクスの重要性の適切なトレードオフ、特定のプレイヤー集団(地理的なものを含む)に向けたカスタマイズなどが難しく、枠組みを緩める過程プレイヤーの待ち時間が必要以上に延びてしまいます。本セッションでは新たなマッチメイキングへのアプローチである「TrueMatch」をご紹介します。開発者がより直感的各メトリクスの重要性を定義し、機械学習によりリアルタイムでそれらを自動的に最適化していくというものです。結果としてより短時間でより適切で、各プレイヤーの特性や、各リージョンのコンカレンシーのリアルタイムでの変化に合わせたマッチング結果が得られます。

得られるもの
既にマッチメイキングシステムを運用している参加者は既存のそのシステムをすぐに改善できる可能性があります。それ以外の参加者も、自前のプロジェクトのスコープに応じて応用可能な、有用な材料を持ち帰れることでしょう。

想定される参加者
マッチメイキングシステムの基礎技術の改善に興味のあるエンジニアと、プレイヤーの熱中度を高めうるマッチメイキング機能に興味のあるゲームデザイナー向けの内容です。


ツールサミット
Tools Summit

1日サミット | 月 | 3月16日

本サミットではゲーム開発チームが良質なゲームをリリースできるようにするツールを作り出すための、最先端のテクニックやプロセスについて掘り下げます。議題には使いやすさ、ワークフロー、スタジオサービスや自動テスティングなど、多岐に渡ります。


ワークフローの軽減に向けた分析:多数から1つへ、そしてゼロへ
Tools Tutorial Day: Analyzing for Workflow Reduction: From Many to One to Zero
Philip Bloom (Machine Zone)

フットワークの軽いスタジオというものは、色々なことができるツールをたくさん持つだけではありません。本セッションでは物事を進めるのに必要なステップややりとりの数を減らしていく視点でワークフローを再検討していくためのアプローチを紹介します。これをハイレベルで行なうことと、実用的なアプローチにより今あるツールを改善して、より早く身軽なワークフローを実現することの両面から検討します。モバイルゲーム開発で実際に使われているシンプルなツールのいくつかを使い、既存のツールに若干の磨きをかけるだけでワークフローに有意な改善をもたらす事例も解説します。

得られるもの
自前のワークフォローを検証し、プロセスを円滑化したり単純化したりするための実用的なアプローチ。

想定される参加者
ツール開発者。


ツールのシステム:毎日のワークフローでのフラスト軽減
The System of Tools: Reducing Frustration in a Daily Workflow
Laura Teeples (343 Industries)

ツールの開発者は常に最高のツールを作り出そうとしますが、どこかの段階でいくつかの妥協をせざるを得ないものです。ケースバイケースでは大した問題ではありませんが、ツール同士の関係性というマクロ視点で考えずに、ツール1つ1つに注力してしまった場合はどうでしょうか。週40時間の開発時間で考えると、各ツールの小さな妥協点が積み重なっていき、ユーザーレベルでのフラストが生じてしまいます。本セッションではワークフローUXデザイナーの Laura Teeples がツールを個々の機能の集まりではなくシステムとして開発する方法、および、新しいツールを導入せずにバランスを維持する方法を解説していきます。システムの効率を評価する実用的な演習も行うことで、より大きな改善と、適切な妥協、そして連携のとれたツールセット構築をしていけるように助言します。

得られるもの
ツールを個々の機能の集まりではなくシステムとして見なすことで改善する、実用的な方法。

想定される参加者
ツール開発者およびゲームデザイナー。


Frostbite のムービーツール作成から得た9つの教訓
9 Things Learned While Building Frostbite’s Cinematics Tools
Ludovic Chabant (Electronic Arts)

Frostbite Vancouver ではEAの全ゲーム作品用のムービーツールを作ってきており、その中でいくつかの教訓を得ました。本セッションでは Frostbite チームが何年にも渡りワークフローをスケーリングして「ドラゴンエイジ」「FIFA」「バトルフィールド」などの多様なゲームに対応してきた中で遭遇したハイレベルのアプローチ、プロセス、そして技術的なハードルについて話します。

得られるもの
EA規模の会社でのツール作成の実態について理解が深まることを期待します。

想定される参加者
プログラマー、ゲームデザイナーおよびプロジェクトマネージャー向けです。


コアコンセプトセッション:プログラミング

水-金 | 3月18~20日

学習は水曜日から金曜日までのコアコンセプトのプレゼンテーションで続きます。2020年の最新のセッションは下記を確認してください。

>すべてのセッションはこちら(公式英語ページ)


パダワンからジェダイ:「STAR WARS ジェダイ:フォールン・オーダー」のキャラクターコントローラーができるまで
From Padawan to Jedi: Building the Character Controller of ‘Star Wars: Jedi Fallen Order’
Joe Lubertazzi (Respawn Entertainment)

本セッションでは Respawn Entertainment が「STAR WARS ジェダイ:フォールン・オーダー」のキャラクターコントローラーの開発過程を入念に事後分析します。設計目的、技術的ハードルおよび得られた教訓を掘り下げてご紹介します。キャラクターコントローラーを裏から支える物理演算、アニメーションおよびゲームプレイの各システムを分析し、これらのシステムをどのように活用してナビゲーションおよび戦闘用の様々なメカニクスを構築したかを解説します。発売済みの実機での具体例を交え、実装方法の利点や難点も紹介します。

得られるもの
参加者は様々なナビゲーションモードおよび戦闘モードに対応した複雑な3人称視点キャラクターコントローラーの開発について知ることができます。また、Respawn のアプローチの特徴のいくつかをどのようにして自前のプロジェクトに応用できるかもわかるでしょう。Unreal Engine 4 での実装に関する詳細もお見せします。

想定される参加者
プログラマー、テクニカルアニメーターおよび/またはキャラクターコントローラー、キャラクターのモーション、キャラクターの物理演算および/またはキャラクターアニメーションに興味のある方向けです。上級者向けの物理演算やアニメーションに関する話題にも触れますが、専門知識は必須ではありません。


「World of Tanks マーセナリーズ」のリプレイ機能
Bringing Replays to ‘World of Tanks: Mercenaries’
Andrew Glover (Wargaming Sydney)

Eスポーツ、教育、ソーシャル共有の各方面では、ゲームのリプレイ機能がコアゲームループの外でもプレイヤーの熱中度を高められる要素としてますます重要性を増してきています。リリース済みのコンシューマタイトル「World of Tanks マーセナリーズ」にサーバーサイドのリプレイシステム追加を試みた際に我々が学んだのは、既存のゲームにリプレイシステムを導入するのは独自のハードルがあるということです。サーバーサイドのゲームプレイの記録と再生を実装するのに必要となったインフラの概要を説明します。これには時間と空間の流れに関するゲームエンジンの前提が取り払われた時に発生するクライアントサイドの問題に対する、アーキテクチャ的な解決法にも触れます。事例は「World of Tanks マーセナリーズ」で得られたものですが、コンセプトそのものはあらゆるゲームエンジンに応用できるはずです。

得られるもの
参加者は既存のゲームにリプレイ機能を追加する際に起こりうる問題、それらを打破しうる解決法、および、今後それらの問題を回避できるようなシステム構築について学べます。必要となる記録インフラの概要、および、リプレイがテストやデバッグのプロセスを補完するものであることもわかるでしょう。

想定される参加者
エンジンプログラマー、ゲームプレイプログラマー、もしくはテスター向けです。とりわけ、アニメーション、パーティクル、タイマー、オブジェクトのライフタイム、リソースのロードなど、ゲームがどのように各要素を活用するかについて従来から前提となっている事項のあるシステムを扱っている方に向いている内容です。


エンティティ・コンポーネント・システムを作るには
So You Want to Make an Entity Component System?
Mike Acton (Unity Technologies)

高性能のエンティティ・コンポーネント・システム(ECS)を作る方法について共有するとともに、使いやすさ、サイズ、パフォーマンスなどの状況に応じた様々なトレードオフについても解説します。具体的にはデータ保管のアプローチ、システムアップデート命令の処理、データクエリ、セーフティシステムなどを話題にします。

得られるもの
お手元でのニーズを評価し、その要件に合ったECSを構築する方法をご紹介します。

想定される参加者
ECSを作ったことがないか、既存のものの問題解決を目指しているか、既存のものを破棄して作り直すつもりのプログラマー。