プログラミング
Programming 

 
 新しいプラットフォームが登場したり、存在しているプラットフォームが進化するとき、プログラマは一般の人やメディアの注意を受けるゲームの制作をするために、より増加する課題に直面することになります。プログラミングトラックでは、成熟したコンソール機、新しい携帯デバイス、激しい競争状態の販売環境、ゲーム内の超高度な制作バリューのために増加する要求といった、次世代と現世代の開発のために生まれた課題や機会に焦点を当てます。
 
 
 

 メガメッシュ・モデリング、1000億ポリゴンの世界のレンダリングとライティング
 Mega Meshes Modeling, Rendering and Lighting a World Made of 100 Billion Polygons
 
 
講演者: Ben Sugden (Lionhead Studios), Michal Iwanicki (Lionhead Studios) 
日程・場所: 未定
トラック/フォーマット: プログラミング / 講演
 
概要:
「MILO AND KATE」は、Lionhead Studios が開発している XBOX360 タイトルです。本講演は従来のコンテンツ製作ワークフローを脱却して構築した、メッシュ・スカルプティング・ツール群(メッシュ彫刻ツール群)のみを用いてゲーム世界を構築、ペインティングするという、全く新しい開発パイプラインを解説します。このパイプラインにおいては、アーティストに完全な3D環境で作業を行うことを可能にし、もはや、テクスチャ容量もUV パラメーターも気にすることなく創作することを可能にします。本講演では、10億単位のポリゴンアセット群を処理するアルゴリズムを解説し、「バーチャル・テクスチャ・ストリーミング・システム」について、実装面の課題と合わせてご紹介いたします。この手法は、新しいリアルタイム・グローバル・イルミネーションの手法を踏襲しつつ、全く新しいアプローチの探求を行うことで開発されたものです。
 
学べること: 
参加者は環境アセットをモデリングする新しいアプローチ、アーティスト指向のアプローチを学ぶことができます。バーチャル・テクスチャ・ストリーミング技術を知ることで、詳細なモデルの圧縮、展開に関して、一般的な問題解決のアイデアを得ることができるでしょう。また、参加者は我々の研究から、リアルタイムの間接的イルミネーションの技術を学ぶことが出来ます。
 
対象者:
本講演は、グラフィクス、ツール、ゲームエンジンのプログラマの皆様、テクニカルアーティストの皆様を第一に対象と考えております。本講演を理解するためには、既存のグラフィクス・パイプラインやライティング・モデルの知識は役に立ちますが、必須というわけではありません。本講演は、中級、上級プログラマを想定しています。
 
必要なパス: Main Conference Pass または All Access Pass 
 
 

 あなたを狙い撃ち!: HALO: REACH におけるネットワーク技術
 I Shot You First: Networking the Gameplay of HALO: REACH
 

講演者: David Aldridge (Bungie LLC) 
日程・場所: 未定
トラック/フォーマット: プログラミング / 講演
 
概要: 
デジタルゲームにおけるネットワーク・プログラミングは、ソケットをオープンした後は、実に簡単なものです。まことしやかに言われる「ソケットとゲームコードの間の不安定なコーディング」という噂は間違った言い伝えです。Bungie は、くり返し、安定したクオリティのゲームプレイ・ネットワーキングを新しいスタンダードとしてリリースして来ました。この講演は、これを可能にしているパターンとプロセスについてご紹介いたします。
是非、この講演に足を運んで頂き、インターネット上にゲームの楽しみを提供する、競争力のあるゲームメカ二クスを開発する手法を学んでください。そして、ご自身が開発する次のオンラインゲームに、すぐにでも使用できる様々なネットワーク監視ツールについても学んで頂ければと思います。最後に、ローテクでもネットワーク・ラグを測定できる驚くべき手法についてもお伝えいたします。
 
学べること: 
参加者は、ご自身の開発するゲームにおけるネットワーキングのロジックを、最適化する、また、ラグを最小化するポイントを理解することが出来ます。そして、大型ネットワークゲームの開発におけるBungie の技術を学ぶことが出来ます。それは、あらゆるネットワークゲームのアーキテクチャにも適用できるものです。この講演を聞かれた参加者はネットワーク・プログラムを単なるソケット・プログラムと捉えることはなくなるでしょう。
 
対象者: 
オンラインゲームの現役エンジニア、ゲームデザイナー、或いはそれらを目指されている方を対象といたします。ゲーム開発の経験があるとよいですが、必須ではありません。数学やコードに関する専門的な知識は必要ありません。
 
必要なパス:  All Access Pass または Main Conference Pass 
 
 

 PS3における実用オクルージョン・カリング
 Practical Occlusion Culling on PS3
 
 
講演者: Will Vale (Second Intention Limited) 
日程・場所: 未定
トラック・フォーマット: プログラミング / 講演
 
概要:
ゲームは常にレンダリングしなければならないたくさんのオブジェクトを持っています。しかし、そのためには、カメラからの視野円錐台(フラストラム)内に隠れるたくさんのオブジェクトを排除する必要があります。オクルージョン・カリングはそうやってプレイヤーから見えないオブジェクトのレンダリングを防ごうとするものです。
 
ゲームにおけるオクルージョンの議論は、どのオブジェクトが見えているかどうかを決定する GPU ピクセルカウンターにフォーカスする傾向にあります。これは限られたリソースに負荷を重ねることであり、より複雑なパイプラインを要求することで、レイテンシーを発生させる原因になります。
 
そこで、「KILLZONE 3」では、一つの異なるアプローチを取りました。深度バッファーを作成・保存しておき、それをSPUを使ってレンダリングすることで、深度バッファーに対するクエリ(query)群を実行します。この手法によってフレーム内の早い段階でオブジェクトをカリングすることが可能になり、見えないオブジェクトに対するパイプラインの負荷を削減することが出来ます。
 
この講演は、このアイデアを実行した成果に関するものであり、最終的な評価まで含めて詳細に解説いたします。
 
学べること: 
参加者は「KILLZONE 3」におけるレンダリング・パフォーマンスを改善しアート・プロセスを簡単化するオクルージョン・カリングの手法を知ることが出来ます。またこのシステムがいかに構築されたか、また、ゲーム内のあらゆるレベルにどのようなインパクトを持ったか、をご紹介いたします。
すなわち、オクルージョンのためのデータをどのように作成したか、どのような種類のクエリを用いたか、我々が要求したパフォーマンスレベルにどのように近づけたか、などの詳細を知ることが出来ます。本講演は、本手法の、短所から長所までありのままに、研究と開発プロセス、最終的な成果を解説いたします。
 
対象者: 
この講演は SPU を使ったことがある、或いはグラフィック・パイプラインを構築したことのあるプログラマに適した内容です。また、本講演は、レンダリング・パイプラインを改善したいと思っているテクニカルアーティストやシステム・アーキテクトにも、お役に立つ情報をお届けすることができます。
 
必要なパス: All Access Pass または Main Conference Pass
 
 

 デバッグ捜査: リリースビルトしたゲームを再び検証、訂正、再生する方法
 Forensic Debugging: How to Autopsy, Repair, and Reanimate a Release-built Game
 
 
講演者:  Elan Ruskin (Valve Corporation) 
日程・場所: 未定
トラック/フォーマット: プログラミング / 講演
 
概要: 
プログラムがクラッシュした場合、それをデバッグすることはなかなか難しいことです。クラッシュは予測不能で、再現が難しく、そしてデバッグ・ウインドウが起動しない最適化されたリリース版で起こる場合が多いからです。Valve ではリリース後においても、安定性の問題を解決するために、テスター、サーバー、カスタマーからクラッシュ・ダンプを回収し処理しています。この講演では、その手法を解説いたします。
この講演ではまた、再現性に頼ることも、トライアンドエラーに時間を費やすこともなく、CPU状態とシステム・メモリーを読むことで、 安定性を検証する方法、また、PC, Mac, Xbox 360, PS3, Linux上のリリース版に限って現れる問題を調査する手法を解説いたします。また、さまざまなコンテンツ、ゲーム状態、典型的なゲームの安定性を測る指標を引き出し、監視するケーススタディのデモもお見せいたします。
 
学べること: 
この講演では、クラッシュ・ダンプを解析することで、ゲーム深く潜むクラッシュの要因を決定する手法、またリリース版においてデバッガーが動かない場合、プログラムを深く調査して原因を突き止めて行く手法を解説いたします。また、ゲームリリース後も、実行中のゲームにおいて、カスタマーから安定性に関する情報を収集する自動ツール、また、タイトルをサポートする自動ツールを解説いたします。
 
対象者: 
この講演は、より進んだデバッギングスキルと、ゲームのライフサイクルを通じてゲームの安定性を追跡し改善するツールに興味を持つ、あらゆるレベルのコーダーを対象にいたします。C++ に通じ、プラットフォームのデバッギングツールに精通していることを前提といたします。
 
必要なパス:  Main Conference Pass または All Access Pass
 
 

 Insomniacのゲームエンジンにおける経路探索
 Navigation in Insomniac Engine
 
 
講演者: Reddy Sambavaram (Insomniac Games Inc) 
日程・場所: 未定
トラック/フォーマット: プログラミング , ゲームデザイン / 講演
 
概要: 
レベルデザインにおける経路探索は、本格的な、或いはユーザーを楽しませるAIにおいて、ますます重要なコンポーネントになりつつあります。本講演は、Insomniacにおける経路探索の発展の歴史について、手法、実装、経験を皆さんと共有しながら振り返りたいと思います。
特に、本講演は、SPU シェーダーに経路探索のジョブを割り振る方法、また、それを実際のゲーム内で毎フレーム、かつ、フレームをまたいで遅延させながら計算して行く手法を解説いたします。ナビメッシュの本質的な問題の一つは、どのようにして(メッシュではなく)カスタム・リンクの意味体系を問題領域に導入するか、ということです。具体的なゲームにおける、我々のカスタム・リンクのアプローチを解説いたします。例えば、「ジャンプ」をどう扱うか、という問題があります。また、カスタム・リンクがナビメッシュの問題領域にいかに自然に結合するかを解説いたします。
我々はまた、ナビメッシュ自動生成ツールを用いる一方で、デザイナーにどのようにナビメッシュのデータを加工して貰うか、という厄介な問題に対する我々のアプローチもお知らせいたします。最後に、ナビメッシュをゲーム内でリアルタイムに生成する方法におけるノウハウも皆様と共有したいと思います。
 
学べること:
本講演は、Insomniac の AI における経路探索に関する仕事、そして、これをSPUを用いてフルフレームかつフレームをまたいで低負荷で計算する手法を解説いたします。またこの講演では、我々の開発タイトルにおいて直面した特有の問題を解決するために用いたチップスとトリックを皆様と共有したいと思います。また、レベルデザインのナビメッシュ表現と融合する、カスタム・リンクの手法を解説いたします。 また本講演は、ナビメッシュを自動生成しながらも、デザイナーがナビメッシュのデータをカスタマイズできるようにしておく手法についても解説いたします。
 
対象者: 
プログラマが主要な講演対象ですが、ゲームデザイナーの皆様とも詳細を共有したいと考えております。また、ナビゲーション・システムに従事していらっしゃる開発者ならどなたでも、実装の詳細と経験を活用して頂けると思います。経路探索において若干でも精通しておられることが望ましいですが、必須ではありませんので、是非、気軽にお越しください。
 
必要なパス: Main Conference Pass または All Access Pass