PASSENGER Story of a convergent pipeline Thomas Felix Pierre - - PowerPoint PPT Presentation

passenger
SMART_READER_LITE
LIVE PREVIEW

PASSENGER Story of a convergent pipeline Thomas Felix Pierre - - PowerPoint PPT Presentation

PASSENGER Story of a convergent pipeline Thomas Felix Pierre Blaizeau TG - Passenger TWINE Ubisoft Montral Ubisoft Montral Technology Group PASSENGER How to expand your game universe? How to bridge game and CG technology? How to


slide-1
SLIDE 1

Story of a convergent pipeline

TG - Passenger Ubisoft Montréal

Thomas Felix

PASSENGER

TWINE Ubisoft Montréal

Pierre Blaizeau

slide-2
SLIDE 2

PASSENGER

Technology Group

slide-3
SLIDE 3

How to expand your game universe? How to bridge game and CG technology? How to empower game content creators?

slide-4
SLIDE 4

Expand?

slide-5
SLIDE 5

How to expand your game universe? Tell stories around the story Reach surrounding media Be consistent Be efficient!

slide-6
SLIDE 6

How to expand your game universe?

Production efforts Asset exchange

Original Media Target Media

slide-7
SLIDE 7

How to expand your game universe?

Passenger

Production efforts Additional production efforts Original Media Target Media

slide-8
SLIDE 8

How to expand your game universe?

Bring the Game to the CG studio CG-based products made with CG tools

CG Game

No additional constraints

slide-9
SLIDE 9

Assassin’S Creed Lineage

slide-10
SLIDE 10

How to expand your game universe? Project & Context

Assassin’s Creed II Use the Game Recycle assets Collaborate with CG Studios

slide-11
SLIDE 11

Proof of concept

Catch existing opportunities Timing constraints Minimum custom dev

LIneage A proof of concept

slide-12
SLIDE 12

LIneage A proof of concept

Source files

Fragmented Assets Instanciated Assets✓

Where do we start?

slide-13
SLIDE 13

LIneage A proof of concept

Assassin’s Creed II XSI 3DSMax

Plugin Engine Exporter Python scripts FBX/XML fix XML TGA XML TGA FBX

slide-14
SLIDE 14

LIneage A proof of concept ✓ Concept proven ✓ Used in pre-production ✗ High maintenance pipeline ✗ Cut off?

slide-15
SLIDE 15

LIneage A proof of concept

Export time 45 mins Exported assets Every citites 35% Created 65% Tweaked Total assets

slide-16
SLIDE 16

LIneage A proof of concept

Connectivity

Too many intermediary components

Content production

Used in pre-production

Dynamic asset exchange

N/A

Static asset exchange

Some types are supported Key features are missing

Cross Engine / Cross DCC*

Anvil / XSI only

*Digital Content Creation tool

slide-17
SLIDE 17

Unify + Abstract + Solidify

slide-18
SLIDE 18

Bridge?

slide-19
SLIDE 19

How to Bridge Game and CG technology? Technical context

Maintain granularity of information Scene graph communication and conformation No constraints over existing engine / pipeline Beyond 1 engine / 1 DCC

slide-20
SLIDE 20

How to Bridge Game and CG technology? Our approach

Client / Server architecture No file exchange Live communication and conformation Tools & UI on Client side: Game as a monitor

slide-21
SLIDE 21

Assassin’s Creed II XSI 3DSMax

Plugin Engine Exporter Python scripts FBX/XML fix XML TGA XML TGA FBX

How to Bridge Game and CG technology?

slide-22
SLIDE 22

How to Bridge Game and CG technology?

Game XSI

Engine Bridge Bridge

Live session

Scene Graph Plugin

A new and simplified architecture…

slide-23
SLIDE 23

How to Bridge Game and CG technology? We need a data abstraction layer

Framework & scene graph representation Homogeneous Client & Server

We need a communication layer

Native serialization Handle tiny & massive transactions

slide-24
SLIDE 24

How to Bridge Game and CG technology? Build a flexible technology

Easy to integrate Easy to iterate on

Abstraction + Communication + Flexibility

Reflection Remoting

slide-25
SLIDE 25

How to Bridge Game and CG technology?

Framework Granite Communication

We call it

GamEx

GamExUser

slide-26
SLIDE 26

How to Bridge Game and CG technology?

Communication

Networking Platform specific

Efficient Networking layer

TCP/IP based protocol Multi-Client connectivity Optimal:

Memory allocation Memory copy

slide-27
SLIDE 27

How to Bridge Game and CG technology?

Granite

Reflection

C++ reflection & dynamic binding Self contained Tag based

Remoting Reflection

Remoting

Intuitive RPC system Generated proxies

slide-28
SLIDE 28

How to Bridge Game and CG technology?

Framework

Framework as an application layer

Data representation

Scene Graph Assets & Metadata

Live link

Synchronization Manager Events

Scene Graph

Events Synchronization Manager

Node Node Node Node Node
slide-29
SLIDE 29

How to Bridge Game and CG technology?

Game DCC

Engine Exporter GamEx GamEx Plug-in

Live session

slide-30
SLIDE 30

How to Bridge Game and CG technology?

Game DCC

Engine Exporter GamEx GamEx Plug-in

Live session

slide-31
SLIDE 31

Assassin’S Creed embers

slide-32
SLIDE 32

How to Bridge Game and CG technology? Project & Context

Assassin’s Creed Brotherhood High quality expectations Small amount of resources

slide-33
SLIDE 33

New Challenges!

Export & Conform materials Export crowd animations

Embers AN Animated film

slide-34
SLIDE 34

Embers AN Animated film Road to GamEx Material Templates Material issues: How to…

Deal with Real-time shaders and CG materials? Target eclectic renderers? (Vray, Arnold, etc.) Be artist friendly?

slide-35
SLIDE 35

Embers AN Animated film

In-Game render CG render

slide-36
SLIDE 36

Embers AN Animated film

?

slide-37
SLIDE 37

Embers AN Animated film

Extract Import

?

Expose and bind

Step1: Extract in-game parameters

slide-38
SLIDE 38

Embers AN Animated film

Extract Import

?

Expose and bind

Step1: Extract in-game parameters Step2: Define specific CG preset

slide-39
SLIDE 39

Embers AN Animated film

Extract Import

?

Expose and bind

Step1: Extract in-game parameters Step2: Define specific CG preset Step3: Bind parameters to material

slide-40
SLIDE 40

Embers AN Animated film

Extract Import Expose and bind

slide-41
SLIDE 41

Embers AN Animated film Animation issues: How to…

Bring complex animation sequences to DCC? Edit imported animations? Handle in-game skeletons vs custom Rigs?

slide-42
SLIDE 42

Embers AN Animated film Sync & Export Animations

Use case for the Synchronization Manager Recording in DCC to generate key-frames

From in-game skeletons to editable Rigs

Rig retargeting for second-layer animation Python scripts to handle post-process

slide-43
SLIDE 43

Embers AN Animated film ✓ GamEx in film production ✓ Used by artists & CG supervisors ✓ Benefit from a shipped Game ✗ Game editor is still needed ✗ Build stability ✗ Assets updates not supported

slide-44
SLIDE 44

Embers AN Animated film

Export time Exported assets Identified content 10 mins 35% Created Total assets 40% Tweaked 25% As is

slide-45
SLIDE 45

Embers AN Animated film

Connectivity Static asset exchange Dynamic asset exchange Cross Engine / Cross DCC Content production

Used in pre-production N/A XSI only Some types are supported Key features are missing Assassin’s Creed Embers (Numerous trailers) Most types supported Easy to add new types YES! Animation acquisition through synchronization Too many intermediary components Client / Server architecture

slide-46
SLIDE 46

EMPOWER?

slide-47
SLIDE 47

How to EMPOWER Game content creators? Exploit GamEx feature set…

Asset exchange Live synchronization

…in Game production!

Connect to surrounding pipelines Push the tech forward

slide-48
SLIDE 48

Connect + COLLaborate?

slide-49
SLIDE 49

How to EMPOWER Game content creators? Linear AI / Navigation system issues

Hard to prototype Strong code dependency Iteration time Quality? In-game AI sequence In-game cinematic

Assassin’s Creed Revelations

slide-50
SLIDE 50

How to EMPOWER Game content creators? Complement cinematic pipeline

Theatre: in-house cinematic editor Used on Assassin’s Creed games

Produce better narrative content

Storyboarding Cinematic Mission prototyping

slide-51
SLIDE 51
slide-52
SLIDE 52

How to EMPOWER Game content creators?

Cinematic Sequence

Game DCC

Exported Anims Final Anims

Play

Gameplay Sequence

Record Import Theater Export GamEx Polish Rig matching

slide-53
SLIDE 53

How to EMPOWER Game content creators? ✓ Iterate faster ✓ High quality blended animations for free ✓ No dependencies on other departments ✗ Large animation sequences hard to handle ✗ CPU usage vs memory ✗ Conflict with versatile environments

slide-54
SLIDE 54

Live + Push the Tech?

slide-55
SLIDE 55

How to EMPOWER Game content creators? What can we do live?

Take control over original assets

Camera Skeletons / Bones Proprietary technologies

Game as a monitor Live Link Real-time Previz!

slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58

How to EMPOWER Game content creators? In-game previz big wins

Body animation Facial animation (bones + wrinkle maps) Virtual Stage & Live in-engine MoCap Iteration time!

slide-59
SLIDE 59

How to EMPOWER Game content creators? We need to optimize data transfer!

Reflection Serialization-based transfers

Reflection vs Serialization

No more iterations on data structures Target performances

slide-60
SLIDE 60

How to EMPOWER Game content creators?

Assassin’s Creed Motion Builder

Simulation Thread Main Thread

Jobs

Main Thread

Jobs Jobs

Networking Thread Networking Thread

Serialized Buffers

GamEx GamEx Synchronization Manager

Node Node Node Node Node

Overwriting Components

slide-61
SLIDE 61

How to EMPOWER Game content creators? We need to expose a binding interface PyGamEx

Python interface for Motion Builder In the hands of TAs Flexible, reusable…

slide-62
SLIDE 62

How to EMPOWER Game content creators? ✓ Massively reduce iteration time for artists ✓ Complete feedback from engine ✓ Game and CG share Virtual Stage ✗ Strong dependencies on proprietary tech

  • Rig change compromises stability
  • Extreme proximity with animation pipeline

✗ Lack of maturity

slide-63
SLIDE 63

WRAP IT UP!

slide-64
SLIDE 64

From A.C. Brotherhood to A.C. Embers… …Back to A.C. Revelations. From Game production to Transmedia… …Back to Game production.

slide-65
SLIDE 65

2 industries, 1 convergent approach

Bridge technologies Empower artists in their context

slide-66
SLIDE 66

What`S Next?

slide-67
SLIDE 67

Pursue the quest: Next Gen?

Bring surrounding industries to Game production Help thinking top-down

Bridge new/other pipelines

Empower new kind of artists Writers, directors, editors, compositors, etc.

Involve the Film industry in Game production

slide-68
SLIDE 68
slide-69
SLIDE 69

Questions?