SlideShare a Scribd company logo
1 of 83
Download to read offline
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

More Related Content

What's hot

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
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Tiago Sousa
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallGuerrilla
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Ki Hyunwoo
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Tiago Sousa
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World 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
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunElectronic Arts / DICE
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect AndromedaElectronic Arts / DICE
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnGuerrilla
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemGuerrilla
 

What's hot (20)

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
 
Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)Rendering Technologies from Crysis 3 (GDC 2013)
Rendering Technologies from Crysis 3 (GDC 2013)
 
Lighting you up in Battlefield 3
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World of Horizon Zero DawnPlayer Traversal Mechanics in the Vast World of Horizon Zero Dawn
Player Traversal Mechanics in the Vast World 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
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The RunFive Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero DawnThe Real-time Volumetric Cloudscapes of Horizon Zero Dawn
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
 
Killzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo PostmortemKillzone Shadow Fall Demo Postmortem
Killzone Shadow Fall Demo Postmortem
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 
The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngineSlide_N
 
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
 

Similar to 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
 
The Next Generation of PhyreEngine
The Next Generation of PhyreEngineThe Next Generation of PhyreEngine
The Next Generation of PhyreEngine
 
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
 

More from 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
 
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
 
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
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
 
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
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Guerrilla
 

More from Guerrilla (17)

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
 
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
 
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
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
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
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 

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