SlideShare ist ein Scribd-Unternehmen logo
1 von 83
Downloaden Sie, um offline zu lesen
Killzone Shadow Fall
Creating art tools for a new generation of games
Sander van der Steen
Senior Technical Artist
Guerrilla Games
Intro
•Guerrilla Games is based in Amsterdam
•First party Sony studio since 2005
•Killzone Shadow Fall
•Launch title for the Playstation 4
•Pipeline build around Maya
Takeaway
•Maya in the Guerrilla Games pipeline
•Integrating a game-engine in Maya
•Maya scene file considerations for next-gen
•New possibilities of viewport 2.0
Maya in the Guerrilla Games pipeline
Simple Killzone Shadow Fall pipeline overview
Asset creation
Maya, Mudbox, Motion builder etc.
• All assets are imported into Maya and placed in environment
• Individual assets are tweaked
Simple Killzone Shadow Fall pipeline overview
Asset creation
Environment
Art
• The levels with geometry transfer to the lighting team
• “Complete” levels will be exported to game
Simple Killzone Shadow fall pipeline overview
Asset creation
Environment
Art
Lighting Game
Simple Killzone Shadow Fall pipeline overview
Asset creation
Environment
Art Lighting Game
• Many iterations required to reach production quality
•Artist friendly + familiar
•A lot of editing for free
•Mesh edits (polygon tools)
•Material edits (hypershade)
•Less need to import/export to/from applications
Autodesk Maya advantages
Autodesk Maya in-engine viewport demo:
Autodesk maya in-engine viewport demo:
Autodesk Maya in-engine viewport demo:
Integrating a game-engine in Maya
Maya needs to know how:
•To render
•Game engine specific
•To communicate attribute changes
•Mesh edits, position updates etc.
•To read game data
•Maya scene usage
A lot of tools coding!
A game-engine in Maya: Deferred rendering
Initial implementation:
•Brute force updates each frame (CPU limited)
•Knowing what to update can be difficult
•Limited integration
•View selected, draw overrides, etc.
Deferred rendering: Killzone 3
Playstation 3 vs. Playstation 4
VS
RAM
Processing Power PS3
PS4
~10x
16x
Workstation performance: “Killzone 3” vs “Killzone Shadow Fall”
VS
RAM
Single threaded processing power 2009
2013
~2x
~4x
Deferred rendering: Killzone 3
Maya Updates
Maya Render
Deferred Render
Single frame CPU time distribution
• Maya mesh edits?
• Tricky hierarchical updates (from a parent transform)
• Visibility changes
• Maya LOD groups
• Shader changes?
Challenges for pushing updates
Maya’s DAG tree might not be represented 1 on 1 in-game.
• Callbacks? (MMessage)
• Often no notion of groups or hierarchy
• Only world-space transforms in-game
Challenges for pushing updates 2
•A lightweight representation of the DAG tree in Maya
•It mirrors the DAG tree in Maya
•Implemented using C++ callbacks (API MMessage class)
Solution: Guerrilla DAG
EngineGuerrilla DAGMaya
• Node added callback (MDGMessage):
• Create GG DAGnode
• Transforms, lights, maya meshes, building blocks and sets (shaders)
• Add GG DAGnode to database
• Node removed callback (MDGMessage):
• Cleanup
Implementing Guerrilla DAG
will have read only access to it’s sibling via an
MObjectHandle to the maya node
Implementing Guerrilla DAG
GG DAG node
Maya node
Engine
Each Guerrilla DAG node:
will have read only access to it’s “sibling” via an
MObjectHandle to the maya node
Implementing Guerrilla DAG
GG DAG node
Maya node
Engine
Each Guerrilla DAG node:
will listen for AttributeChanged callback on it’s sibling
(MNodeMessage)
will have read only access to it’s “sibling” via an
MObjectHandle to the maya node
Implementing Guerrilla DAG
GG DAG node
Maya node
Engine
Each Guerrilla DAG node:
will listen for AttributeChanged callback on it’s sibling
(MNodeMessage)
deals with AttributeChanged as appropriate for the
nodetype
Implementing Guerrilla DAG
GG DAG node
Maya node
Engine
Each Guerrilla DAG node:
Knows how to update the game engine
Transforms are special cases:
• Monitor child
added/removed
(MDagMessage)
• Keep an up-to-date list of
children
• Can push updates to
children
Implementing Guerrilla DAG
GG DAG node
Maya node
Child GG DAG node A
Child Maya node A
Child Maya node B
Child GG DAG node B
Implementing Guerrilla DAG
GG DAG node
Maya node
Child GG DAG node A
Child Maya node A
Child Maya node B
Child GG DAG node B
Child nodes can also
access siblings!
Practical example: Moving a group
Group1
pCube1
pCubeShape1
pCube2
pCubeShape2
Produces an identical Guerrilla
DAG hierarchy
Practical example: Moving a group
Group1
pCube1
pCubeShape1
pCube2
pCubeShape2
Attribute changed on group1
triggered
Practical example: Moving a group
Group1
pCube1
pCubeShape1
pCube2
pCubeShape2
Update cached matrix and
propagate
Practical example: Moving a group
Group1
pCube1
pCubeShape1
pCube2
pCubeShape2
Finally update the game
Results, single frame
Maya Updates
Maya Render
Deferred Render
Single frame CPU time distribution
Results, single frame
Maya Updates
Maya Render
Deferred Render
Single frame CPU time
distribution
•Performance increase 40x
•Most CPU time spend rendering
•Much better integration with Maya
 Hidden object groups
 view selected
 Maya LOD groups
Scene file considerations
Killzone 3 (Playstation 3)
•Released in February 2011
•Average team size ~120
•5TB of working data
•Released in November 2013
•Average team size ~160
•12TB of working data
•Larger Maya files
•Longer load/export time
Killzone Shadow Fall (Playstation 4)
Reducing file-load times
In general: Small files load faster
Identify bottlenecks in file-load
Killzone 3 / early Killzone Shadow Fall: 80% of Maya file
• Mesh data
• Attribute data
Identify bottlenecks in file-load
Custom attributes on native
Maya nodes
Export-time state:
• Collapsing
• Physics
• Destructability
• Etc.
Attribute data
Attribute-data overhead in scene size
Each custom attribute on a Maya node requires:
Attribute-data overhead in scene size
Each custom attribute on a Maya node requires:
• An addAttr statement in the Maya file per instance
Attribute-data overhead in scene size
Each custom attribute on a Maya node requires:
• An addAttr statement in the Maya file per instance
• A setAttr statement in the Maya file per
instance(optional)
Attribute-data overhead in scene size
Each custom attribute on a Maya node requires:
• An addAttr statement in the Maya file per instance
• A setAttr statement in the Maya file per
instance(optional)
• A nodeAdded callback to install the attributes on a
newly instanced maya node
Attribute-data overhead in scene size
In Killzone Shadow Fall:
• ~20 custom attributes on a node
• ~40.000 nodes in an average maya scene containing
a level section
• ~50.000 Maya files stored
Solution: Extension attributes
Introduced in Maya 2012
• Allows static definition of a custom attribute
• Add to type of class once (e.g. transform)
• Attribute definition not stored in scene
• Defined in plugin
Benefits:
• No more addAttr calls required per instance
• No callback required on nodeAdded
Extension attributes results:
•Static scene (20.000 cubes)
Dynamic
attributes
Extension
attributes
Difference
Scene size 85MB 15MB - 80%
File load time 45 sec. 14 sec. - 66%
Result: Switching to Extension attributes
•Mesh data is large by nature
•Reduce amount of maya meshes required
•Look at the use of maya meshes
Mesh-data overhead in scene size
Mesh usage in Killzone 3
Building blocks
• Developed during Killzone 2
• Referencing of game-data
•Small section of re-usable static geometry
• Custom shape (MpxSurfaceShape)
Building blocks
Custom shape generates a Maya mesh
Custom shape
Maya mesh shape
2 Shapes for a transform
Building blocks
Why Maya meshes of game-data?
• Wireframe and smooth shaded views
• Snapping
• Software rendering for lightmaps
• Performance in viewport 1.0
•No snapping for artists (fixed in Maya 2013)
Problems and solutions with custom shapes (MPxSurfaceShape)
•No snapping for artists (fixed in Maya 2013)
•Custom shapes need to feel as Maya meshes for artists.
•Draw overrides, display layers, colors
Problems and solutions with custom shapes (MPxSurfaceShape)
•No snapping for artists (fixed in Maya 2013)
•Custom shapes need to feel as Maya meshes for artists.
•Draw overrides, display layers, colors
•Create maya meshes on demand for lightmaps
•Do not save these to file (delete after use)
Problems and solutions with custom shapes (MPxSurfaceShape)
•No snapping for artists (fixed in Maya 2013)
•Custom shapes need to feel as Maya meshes for artists.
•Draw overrides, display layers, colors
•Create maya meshes on demand for lightmaps
•Do not save these to file (delete after use)
•Drawing slow due to OpenGL state switching
•Use MpxModelView, or viewport 2.0
Problems and solutions with custom shapes (MPxSurfaceShape)
Viewport 2.0
What is viewport 2.0?
A new viewport for Autodesk Maya
• Designed for current generation hardware
• Less state switching, much less CPU overhead
• A new API for plugin drawing
• No more MPxLocatorNode::draw, MPxSurfaceShapeUI, etc
New possibilities of viewport 2.0
The new viewport 2.0 API offers:
• More performance
• Maya meshes at least x10
• More controlled integration with Maya
• Depth buffer sharing
• New features
• Mix and match MRenderOperations
Deferred renderer based on “Viewport 1”
• (MViewportRenderer class)
• Little control/integration with Maya
Artists lacked:
• Selection highlighting
• Depth between Maya and game geometry incorrect (locators/lights)
• No display of Maya meshes
Viewport 2.0: Integration
Comparing deferred and deferred_vp2
Comparing deferred and deferred_vp2
Proper depth support, no more clutter!
Comparing deferred and deferred_vp2
Proper depth support, no more clutter!
Comparing deferred and deferred_vp2
How does it work?
MRenderOverride
Custom Viewport 2.0 renderer
• MRenderOperation
A pass in MRenderOverride
• MSceneRender
Maya’s viewport 2 rendering pass
• MUserRenderOperation
Do your own!
Viewport 2.0: High level API overview
Render deferred beauty and depth (MUserRenderOperation)
Deferred Viewport 2.0: Rendering operations
Copy to Maya’s buffers (MQuadRender)
Deferred Viewport 2.0: Rendering operations
Render Maya’s view on top, preserving depth (MSceneRender)
Deferred Viewport 2.0: Rendering operations
Deferred Viewport 2.0: Rendering stages
•Allows artists to work directly with in-game rendering
•Selection highlighting, depth
•Full support for Maya native geometry/manipulators etc.
•Full control over what maya draws
•Rendering API Agnostic (DirectX or OpenGL)
Viewport 2.0: Integration advantages
Debug modes as extra operations
Export settings:
• Visualize draw call count
• Single color for each draw call
Viewport 2.0: More then rendering
Visualize LOD states
The Future
• Bringing Maya and game closer together
• Background scene loading (streaming)
• Storing scene elements in game-format only
• Multithreading
• Direct X rendering
Conclusions
• Integrating game-engine in Maya improves productivity
• Carefully thinking on scene configuration saves loads!
• Viewport 2.0 provides flexibility and new possibilities
Questions?
Thank you
Visit us at guerrilla-games.com

Weitere ähnliche Inhalte

Was ist angesagt?

The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngineSlide_N
 
LOD and Culling Systems That Scale - Unite LA
LOD and Culling Systems That Scale  - Unite LALOD and Culling Systems That Scale  - Unite LA
LOD and Culling Systems That Scale - Unite LAUnity Technologies
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Lukas Lang
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッTatsuhiko Yamamura
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Tiago Sousa
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14AMD Developer Central
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War IIISlide_N
 

Was ist angesagt? (20)

The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngine
 
LOD and Culling Systems That Scale - Unite LA
LOD and Culling Systems That Scale  - Unite LALOD and Culling Systems That Scale  - Unite LA
LOD and Culling Systems That Scale - Unite LA
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive)
UE4 Lightmass for Large Console Games  (UE4 Lightmass Deep Dive)UE4 Lightmass for Large Console Games  (UE4 Lightmass Deep Dive)
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive)
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...Practical usage of Lightmass in  Architectural Visualization  (Kenichi Makaya...
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
Practical SPU Programming in God of War III
Practical SPU Programming in God of War IIIPractical SPU Programming in God of War III
Practical SPU Programming in God of War III
 

Andere mochten auch

Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例Tatsuhiro Tanaka
 
ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017Toshiaki Nakazawa
 
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則についてUE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則についてMasahiko Nakamura
 

Andere mochten auch (6)

Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
Unreal Engineを使用した商用タイトルで のノンフォトリアルレンダリング(NPR)事例
 
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DDUE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
 
Unity5とUE4の比較
Unity5とUE4の比較Unity5とUE4の比較
Unity5とUE4の比較
 
ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017
 
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則についてUE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
 
【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap【Unity道場】使って覚えるTileMap
【Unity道場】使って覚えるTileMap
 

Ähnlich wie Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games

Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Jarosław Pleskot
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
 
Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonJean-Philippe Doiron
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
 
【Unite 2017 Tokyo】Unity5.6での2D新機能解説
【Unite 2017 Tokyo】Unity5.6での2D新機能解説【Unite 2017 Tokyo】Unity5.6での2D新機能解説
【Unite 2017 Tokyo】Unity5.6での2D新機能解説Unity Technologies Japan K.K.
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Jean-Philippe Doiron
 
Building Mosaics
Building MosaicsBuilding Mosaics
Building MosaicsEsri
 
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with MinecraftReplatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with MinecraftVMware Tanzu
 
MongoDB开发应用实践
MongoDB开发应用实践MongoDB开发应用实践
MongoDB开发应用实践iammutex
 
Unity - Internals: memory and performance
Unity - Internals: memory and performanceUnity - Internals: memory and performance
Unity - Internals: memory and performanceCodemotion
 
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014Mary Chan
 
Distributed high-quality image manipulation and review in a virtual collabora...
Distributed high-quality image manipulation and review in a virtual collabora...Distributed high-quality image manipulation and review in a virtual collabora...
Distributed high-quality image manipulation and review in a virtual collabora...ETCenter
 
A Morning with MongoDB Barcelona: Use Cases and Roadmap
A Morning with MongoDB Barcelona: Use Cases and RoadmapA Morning with MongoDB Barcelona: Use Cases and Roadmap
A Morning with MongoDB Barcelona: Use Cases and RoadmapMongoDB
 
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo YueUGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo YueJessica Tams
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesLuke Marsden
 
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and TrendsPixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trendspixellab
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 ConferenceChristof Wegmann
 

Ähnlich wie Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games (20)

Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15
 
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...
 
Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie Tycoon
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
 
【Unite 2017 Tokyo】Unity5.6での2D新機能解説
【Unite 2017 Tokyo】Unity5.6での2D新機能解説【Unite 2017 Tokyo】Unity5.6での2D新機能解説
【Unite 2017 Tokyo】Unity5.6での2D新機能解説
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 
Building Mosaics
Building MosaicsBuilding Mosaics
Building Mosaics
 
Cocos2d game programming 2
Cocos2d game programming 2Cocos2d game programming 2
Cocos2d game programming 2
 
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with MinecraftReplatforming Legacy Packaged Applications: Block-by-Block with Minecraft
Replatforming Legacy Packaged Applications: Block-by-Block with Minecraft
 
XNAPresentation
XNAPresentationXNAPresentation
XNAPresentation
 
Intro to auto_desk_maya2015
Intro to auto_desk_maya2015Intro to auto_desk_maya2015
Intro to auto_desk_maya2015
 
MongoDB开发应用实践
MongoDB开发应用实践MongoDB开发应用实践
MongoDB开发应用实践
 
Unity - Internals: memory and performance
Unity - Internals: memory and performanceUnity - Internals: memory and performance
Unity - Internals: memory and performance
 
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014Benoit fouletier guillaume martin   unity day- modern 2 d techniques-gce2014
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014
 
Distributed high-quality image manipulation and review in a virtual collabora...
Distributed high-quality image manipulation and review in a virtual collabora...Distributed high-quality image manipulation and review in a virtual collabora...
Distributed high-quality image manipulation and review in a virtual collabora...
 
A Morning with MongoDB Barcelona: Use Cases and Roadmap
A Morning with MongoDB Barcelona: Use Cases and RoadmapA Morning with MongoDB Barcelona: Use Cases and Roadmap
A Morning with MongoDB Barcelona: Use Cases and Roadmap
 
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo YueUGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
 
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and TrendsPixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
Pixel-Lab / Games:EDU / Michel Kripalani / Games Industry Overview and Trends
 
Photon Session / Unite12 Conference
Photon Session / Unite12 ConferencePhoton Session / Unite12 Conference
Photon Session / Unite12 Conference
 

Mehr von Guerrilla

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyGuerrilla
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemGuerrilla
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnGuerrilla
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnGuerrilla
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallGuerrilla
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoGuerrilla
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallGuerrilla
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemGuerrilla
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterGuerrilla
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Guerrilla
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleGuerrilla
 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsGuerrilla
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondGuerrilla
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3Guerrilla
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyGuerrilla
 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsGuerrilla
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeGuerrilla
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Guerrilla
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Guerrilla
 

Mehr von Guerrilla (20)

Horizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case StudyHorizon Zero Dawn: An Open World QA Case Study
Horizon Zero Dawn: An Open World QA Case Study
 
Horizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-MortemHorizon Zero Dawn: A Game Design Post-Mortem
Horizon Zero Dawn: A Game Design Post-Mortem
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero DawnPutting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
 
Building Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero DawnBuilding Non-Linear Narratives in Horizon Zero Dawn
Building Non-Linear Narratives in Horizon Zero Dawn
 
The Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow FallThe Production and Visual FX of Killzone Shadow Fall
The Production and Visual FX of Killzone Shadow Fall
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI InfoOut of Sight, Out of Mind: Improving Visualization of AI Info
Out of Sight, Out of Mind: Improving Visualization of AI Info
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow FallThe Next-Gen Dynamic Sound System of Killzone Shadow Fall
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person ShooterA Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
 
Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3Practical Occlusion Culling on PS3
Practical Occlusion Culling on PS3
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Killzone 2 Multiplayer Bots
Killzone 2 Multiplayer BotsKillzone 2 Multiplayer Bots
Killzone 2 Multiplayer Bots
 
Automatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and BeyondAutomatic Annotations in Killzone 3 and Beyond
Automatic Annotations in Killzone 3 and Beyond
 
The Creation of Killzone 3
The Creation of Killzone 3The Creation of Killzone 3
The Creation of Killzone 3
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case StudyThe PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
 
Killzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural TacticsKillzone's AI: Dynamic Procedural Tactics
Killzone's AI: Dynamic Procedural Tactics
 
The Guerrilla Guide to Game Code
The Guerrilla Guide to Game CodeThe Guerrilla Guide to Game Code
The Guerrilla Guide to Game Code
 
Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3Practical Occlusion Culling in Killzone 3
Practical Occlusion Culling in Killzone 3
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Kürzlich hochgeladen

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Kürzlich hochgeladen (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games

  • 1. Killzone Shadow Fall Creating art tools for a new generation of games Sander van der Steen Senior Technical Artist Guerrilla Games
  • 2. Intro •Guerrilla Games is based in Amsterdam •First party Sony studio since 2005 •Killzone Shadow Fall •Launch title for the Playstation 4 •Pipeline build around Maya
  • 3. Takeaway •Maya in the Guerrilla Games pipeline •Integrating a game-engine in Maya •Maya scene file considerations for next-gen •New possibilities of viewport 2.0
  • 4. Maya in the Guerrilla Games pipeline
  • 5. Simple Killzone Shadow Fall pipeline overview Asset creation Maya, Mudbox, Motion builder etc.
  • 6. • All assets are imported into Maya and placed in environment • Individual assets are tweaked Simple Killzone Shadow Fall pipeline overview Asset creation Environment Art
  • 7. • The levels with geometry transfer to the lighting team • “Complete” levels will be exported to game Simple Killzone Shadow fall pipeline overview Asset creation Environment Art Lighting Game
  • 8. Simple Killzone Shadow Fall pipeline overview Asset creation Environment Art Lighting Game • Many iterations required to reach production quality
  • 9. •Artist friendly + familiar •A lot of editing for free •Mesh edits (polygon tools) •Material edits (hypershade) •Less need to import/export to/from applications Autodesk Maya advantages
  • 10. Autodesk Maya in-engine viewport demo:
  • 11. Autodesk maya in-engine viewport demo:
  • 12. Autodesk Maya in-engine viewport demo:
  • 13.
  • 15. Maya needs to know how: •To render •Game engine specific •To communicate attribute changes •Mesh edits, position updates etc. •To read game data •Maya scene usage A lot of tools coding!
  • 16. A game-engine in Maya: Deferred rendering
  • 17. Initial implementation: •Brute force updates each frame (CPU limited) •Knowing what to update can be difficult •Limited integration •View selected, draw overrides, etc. Deferred rendering: Killzone 3
  • 18. Playstation 3 vs. Playstation 4 VS RAM Processing Power PS3 PS4 ~10x 16x
  • 19. Workstation performance: “Killzone 3” vs “Killzone Shadow Fall” VS RAM Single threaded processing power 2009 2013 ~2x ~4x
  • 20. Deferred rendering: Killzone 3 Maya Updates Maya Render Deferred Render Single frame CPU time distribution
  • 21. • Maya mesh edits? • Tricky hierarchical updates (from a parent transform) • Visibility changes • Maya LOD groups • Shader changes? Challenges for pushing updates
  • 22. Maya’s DAG tree might not be represented 1 on 1 in-game. • Callbacks? (MMessage) • Often no notion of groups or hierarchy • Only world-space transforms in-game Challenges for pushing updates 2
  • 23. •A lightweight representation of the DAG tree in Maya •It mirrors the DAG tree in Maya •Implemented using C++ callbacks (API MMessage class) Solution: Guerrilla DAG EngineGuerrilla DAGMaya
  • 24. • Node added callback (MDGMessage): • Create GG DAGnode • Transforms, lights, maya meshes, building blocks and sets (shaders) • Add GG DAGnode to database • Node removed callback (MDGMessage): • Cleanup Implementing Guerrilla DAG
  • 25. will have read only access to it’s sibling via an MObjectHandle to the maya node Implementing Guerrilla DAG GG DAG node Maya node Engine Each Guerrilla DAG node:
  • 26. will have read only access to it’s “sibling” via an MObjectHandle to the maya node Implementing Guerrilla DAG GG DAG node Maya node Engine Each Guerrilla DAG node: will listen for AttributeChanged callback on it’s sibling (MNodeMessage)
  • 27. will have read only access to it’s “sibling” via an MObjectHandle to the maya node Implementing Guerrilla DAG GG DAG node Maya node Engine Each Guerrilla DAG node: will listen for AttributeChanged callback on it’s sibling (MNodeMessage) deals with AttributeChanged as appropriate for the nodetype
  • 28. Implementing Guerrilla DAG GG DAG node Maya node Engine Each Guerrilla DAG node: Knows how to update the game engine
  • 29. Transforms are special cases: • Monitor child added/removed (MDagMessage) • Keep an up-to-date list of children • Can push updates to children Implementing Guerrilla DAG GG DAG node Maya node Child GG DAG node A Child Maya node A Child Maya node B Child GG DAG node B
  • 30. Implementing Guerrilla DAG GG DAG node Maya node Child GG DAG node A Child Maya node A Child Maya node B Child GG DAG node B Child nodes can also access siblings!
  • 31. Practical example: Moving a group Group1 pCube1 pCubeShape1 pCube2 pCubeShape2 Produces an identical Guerrilla DAG hierarchy
  • 32. Practical example: Moving a group Group1 pCube1 pCubeShape1 pCube2 pCubeShape2 Attribute changed on group1 triggered
  • 33. Practical example: Moving a group Group1 pCube1 pCubeShape1 pCube2 pCubeShape2 Update cached matrix and propagate
  • 34. Practical example: Moving a group Group1 pCube1 pCubeShape1 pCube2 pCubeShape2 Finally update the game
  • 35. Results, single frame Maya Updates Maya Render Deferred Render Single frame CPU time distribution
  • 36. Results, single frame Maya Updates Maya Render Deferred Render Single frame CPU time distribution •Performance increase 40x •Most CPU time spend rendering •Much better integration with Maya  Hidden object groups  view selected  Maya LOD groups
  • 37.
  • 39. Killzone 3 (Playstation 3) •Released in February 2011 •Average team size ~120 •5TB of working data
  • 40. •Released in November 2013 •Average team size ~160 •12TB of working data •Larger Maya files •Longer load/export time Killzone Shadow Fall (Playstation 4)
  • 42. In general: Small files load faster Identify bottlenecks in file-load
  • 43. Killzone 3 / early Killzone Shadow Fall: 80% of Maya file • Mesh data • Attribute data Identify bottlenecks in file-load
  • 44. Custom attributes on native Maya nodes Export-time state: • Collapsing • Physics • Destructability • Etc. Attribute data
  • 45. Attribute-data overhead in scene size Each custom attribute on a Maya node requires:
  • 46. Attribute-data overhead in scene size Each custom attribute on a Maya node requires: • An addAttr statement in the Maya file per instance
  • 47. Attribute-data overhead in scene size Each custom attribute on a Maya node requires: • An addAttr statement in the Maya file per instance • A setAttr statement in the Maya file per instance(optional)
  • 48. Attribute-data overhead in scene size Each custom attribute on a Maya node requires: • An addAttr statement in the Maya file per instance • A setAttr statement in the Maya file per instance(optional) • A nodeAdded callback to install the attributes on a newly instanced maya node
  • 49. Attribute-data overhead in scene size In Killzone Shadow Fall: • ~20 custom attributes on a node • ~40.000 nodes in an average maya scene containing a level section • ~50.000 Maya files stored
  • 50. Solution: Extension attributes Introduced in Maya 2012 • Allows static definition of a custom attribute • Add to type of class once (e.g. transform) • Attribute definition not stored in scene • Defined in plugin Benefits: • No more addAttr calls required per instance • No callback required on nodeAdded
  • 51. Extension attributes results: •Static scene (20.000 cubes) Dynamic attributes Extension attributes Difference Scene size 85MB 15MB - 80% File load time 45 sec. 14 sec. - 66% Result: Switching to Extension attributes
  • 52. •Mesh data is large by nature •Reduce amount of maya meshes required •Look at the use of maya meshes Mesh-data overhead in scene size
  • 53. Mesh usage in Killzone 3 Building blocks • Developed during Killzone 2 • Referencing of game-data •Small section of re-usable static geometry • Custom shape (MpxSurfaceShape)
  • 54. Building blocks Custom shape generates a Maya mesh Custom shape Maya mesh shape 2 Shapes for a transform
  • 55. Building blocks Why Maya meshes of game-data? • Wireframe and smooth shaded views • Snapping • Software rendering for lightmaps • Performance in viewport 1.0
  • 56. •No snapping for artists (fixed in Maya 2013) Problems and solutions with custom shapes (MPxSurfaceShape)
  • 57. •No snapping for artists (fixed in Maya 2013) •Custom shapes need to feel as Maya meshes for artists. •Draw overrides, display layers, colors Problems and solutions with custom shapes (MPxSurfaceShape)
  • 58. •No snapping for artists (fixed in Maya 2013) •Custom shapes need to feel as Maya meshes for artists. •Draw overrides, display layers, colors •Create maya meshes on demand for lightmaps •Do not save these to file (delete after use) Problems and solutions with custom shapes (MPxSurfaceShape)
  • 59. •No snapping for artists (fixed in Maya 2013) •Custom shapes need to feel as Maya meshes for artists. •Draw overrides, display layers, colors •Create maya meshes on demand for lightmaps •Do not save these to file (delete after use) •Drawing slow due to OpenGL state switching •Use MpxModelView, or viewport 2.0 Problems and solutions with custom shapes (MPxSurfaceShape)
  • 61. What is viewport 2.0? A new viewport for Autodesk Maya • Designed for current generation hardware • Less state switching, much less CPU overhead • A new API for plugin drawing • No more MPxLocatorNode::draw, MPxSurfaceShapeUI, etc
  • 62. New possibilities of viewport 2.0 The new viewport 2.0 API offers: • More performance • Maya meshes at least x10 • More controlled integration with Maya • Depth buffer sharing • New features • Mix and match MRenderOperations
  • 63. Deferred renderer based on “Viewport 1” • (MViewportRenderer class) • Little control/integration with Maya Artists lacked: • Selection highlighting • Depth between Maya and game geometry incorrect (locators/lights) • No display of Maya meshes Viewport 2.0: Integration
  • 64. Comparing deferred and deferred_vp2
  • 65.
  • 66.
  • 67. Comparing deferred and deferred_vp2 Proper depth support, no more clutter!
  • 68. Comparing deferred and deferred_vp2 Proper depth support, no more clutter!
  • 69. Comparing deferred and deferred_vp2
  • 70. How does it work? MRenderOverride Custom Viewport 2.0 renderer • MRenderOperation A pass in MRenderOverride • MSceneRender Maya’s viewport 2 rendering pass • MUserRenderOperation Do your own! Viewport 2.0: High level API overview
  • 71. Render deferred beauty and depth (MUserRenderOperation) Deferred Viewport 2.0: Rendering operations
  • 72. Copy to Maya’s buffers (MQuadRender) Deferred Viewport 2.0: Rendering operations
  • 73. Render Maya’s view on top, preserving depth (MSceneRender) Deferred Viewport 2.0: Rendering operations
  • 74. Deferred Viewport 2.0: Rendering stages
  • 75. •Allows artists to work directly with in-game rendering •Selection highlighting, depth •Full support for Maya native geometry/manipulators etc. •Full control over what maya draws •Rendering API Agnostic (DirectX or OpenGL) Viewport 2.0: Integration advantages
  • 76.
  • 77. Debug modes as extra operations Export settings: • Visualize draw call count • Single color for each draw call Viewport 2.0: More then rendering
  • 79.
  • 80. The Future • Bringing Maya and game closer together • Background scene loading (streaming) • Storing scene elements in game-format only • Multithreading • Direct X rendering
  • 81. Conclusions • Integrating game-engine in Maya improves productivity • Carefully thinking on scene configuration saves loads! • Viewport 2.0 provides flexibility and new possibilities
  • 83. Thank you Visit us at guerrilla-games.com