変わる開発環境
GDC2019
~AAAタイトルの開発ツール~
株式会社セガゲームス 開発技術部
林 洋人
自己紹介
開発環境周りいろいろなんでも
システム、グラフィックス、ツール
クロスプラットフォーム
最近は WEB, Python, 機械学習, 中
国 に興味
GDC参加は2年ぶり16回目
変わる
サンフランシスコ
Automated Passport Control (APC) | U.S. Customs and Border Protection
Amazon Go
GDC2019会場
変わらないもの
注目して見てきたもの
機械学習のゲーム開発への応用
Stadia
AAAタイトル開発事例
AAAタイトル開発事例
God of War
Game of the Year
Assassin's Creed Odyssey
Stadia
Red Dead Redemption 2
Best Technology – ほとんどなかった
Marvel‘s Spider-Man
Insomniac Games
Marvel‘s Spider-Man
関連セッション
Technical Artist Bootcamp: Real-Time Cloth Solutions in Marvel’s Spider-Man
Art Direction Bootcamp: Team Growth and Preserving Team Culture on Marvel’s Spider-Man
Marvel’s Spider-Man: A Deep Dive Into the Look Creation of Manhattan (Presented by Substance)
Level Design Workshop: Building Marvel’s New York in Marvel’s Spider-Man: It’s Still Just Level Design
The Animation of Marvel’s Spider-Man
(Super)Humans of New York: Managing the Many Faces of Marvel’s Spider-Man
Procedurally Crafting Manhattan for Marvel’s Spider-Man
Conquering the Creative Challenges in Marvel’s Spider-Man
Marvel’s Spider-Man: Procedural Lighting Tools
Marvel’s Spider-Man: A Technical Post-Mortem
Concrete Jungle Gym: Building Traversal in Marvel’s Spider-Man
Designing the Bustling Soundscape of Marvel’s New York City in Marvel’s Spider-Man
Marvel’s New York: A Case Study in Empowering Your Artist
Tools for Marvel’s Spider-Man: Editing with Immutable Data
様々なテーマの
14セッション
巨大なマンハッタンを再現
128m x 128m 726タイル
物量
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
Insomniac Games
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
2014 Sunset Overdrive
2016 Ratchet & Clank
2018 Marvel's Spider-Man 意外に少人数
Marvel’s Spider-Man: A
Technical Post-Mortem
One Frame Breakdown
Building Marvel’s Manhattan
Streaming
Fitting On Disc
Filling The Streets
…
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
セッションの完成度が高い
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
AAAセッション
膨大なコンテンツ
238ページのスライド
The "Spider-Man Technical Postmortem" team
20名
全体に通じる基本キーワード
Simple Is Good
Fit Tech To Context
高速なしゃべり
NG集
CPU Thread
ここだけで一時間ほしい
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
Render Thread と GPU
ここだけで一時間ほしい
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
Building Marvel's
Manhattan
544 roads
1202 alley
Houdini → JSON
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
概要を説明しつつ他のセッションへ誘導
Procedurally Crafting Manhattan for "Marvel's Spider-Man"
Concrete Jungle Gym: Building Traversal in 'Marvel's Spider-Man'
Tools for 'Marvel's Spider-Man’: Editing with Immutable Data
Streaming
Fitting On Disc
Filling The Streets
Hex → Quad
[GDC2019] Marvel'sSpider-Man:A Technical Postmortem
LODの上位は後から
意外に分割 or 複製や
読む順を試行錯誤したり
ビットをケチったり
差分で圧縮したり
後から
仕様が大きくなったり
テクスチャ, モデル, ライト , …
インポスタ, 歩行者のLOD
Insomniac Games の
Webベースツール
2015年ごろまで
Web ベースGUIツールを開発
5タイトルくらいつくった
GDC2017
Insomniac's Web Tools: A Postmortem
Webツールはダメだ!
これでもかとダメな点を列挙
規模が大きくなると問題がさらに悪化
そして今年は?
Tools for 'Marvel's Spider-Man':
Editing with Immutable Data
12のWebベースツール
マップ、シネマティック、エフェクト、アニメー
ション, ...
開発に使用しつづける
新規機能追加はしない
C++/Qt のツールに置き換えていった
11ツールの書き換えに1年かかった
シネマティックツールにはもう1年かかった
Insomniac Games の
Webベースじゃないツール
サーバークライアントモデルは同じ
JSON を使用したフォーマットは同じ
型がないなどの問題
DDL
Data Definition Language
DB用語のものとは文脈が違う
Data Definition Language
DDL
struct U64Id
{
uint32_t IdLow, value( 0xFFFFFFFF );
uint32_t IdHigh,value( 0xFFFFFFFF );
}
C++
namespace U64Id
{
struct Instance
{
uint32_t m_IdLow;
uint32_t m_IdHigh;
uint32_t GetIdLow();
uint32_t GetIdHigh();
…
Data Definition Language
JSONの弱点を補完
型が無い
デフォルト値がない
DDLを参照してロード
JSON
{
“Model” : {
“Id”: {
“IdLow” : “2”,
“IdHigh” : “1499863430”
},
…
Data Definition Language
他の言語でも使える
Python, C#
モジュール間の依存関係が小さくなる
ツール、UI、アプリ、シリアライザ、リソースマネージャ
拡張や変更が容易になる
テストやデバッグがしやすくなる
まとめ
継続してGDCに参加すると見えてくる変化がある
走りながら変えていく開発
AAAは別世界ではない
Q&A

Gdc2019 reportsegahayashi