SlideShare a Scribd company logo
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Look back at the development of Killzone Shadow Fall
‣ What is the Next-Gen look?
‣ Key techniques
‣ Image quality and stability
‣ Early development started in April 2011
‣ The goal was platform defining, true next-gen, Killzone
‣ New game direction
‣ Fresh look for a divided world
‣ Beautiful environments full of detail and contrasts
‣ New platform
‣ Hardware under development
‣ Difficult to define scope of the game
‣ No PC fallback for the engine
‣ Features in development throughout production
‣ Launch title
‣ Unmovable release date
‣ Limited time for experiments
‣ Sometimes you have to kill your darlings
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Levels 10 to 100 times larger than in Killzone 3
‣ Largest map is almost 8km long
‣ We don‟t have open world engine
‣ First time we ran into precision issues
‣ Doubled the amount of geometry instances
‣ 10,000 to 25,000 per level section
‣ One instance != one draw call
‣ 689,334 building blocks instances in the game
‣ 200 static lights per section
‣ Another 200 in lightmaps
‣ Roughly 4x more vertex and texel detail
‣ Early guideline that worked
‣ 40,000 triangles per character
‣ Complicated shader networks
‣ 6-12 textures per material
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Killzone Shadow Fall defining tech features
‣ Lighting
‣ Shading
‣ Reflections
‣ Effects
‣ Image fidelity and temporal stability
‣ Scalability with the amount of content
‣ Everything done with jobs
‣ All aspects of lighting complement each other
‣ BRDF
‣ Assets
‣ Lights
‣ Volumetrics
‣ Reflections
‣ Physically based lighting model
‣ Artist controllable
‣ Assets reviewed in in-game lighting environments
‣ Also integrated in Maya
‣ All lights are area lights
‣ Including textured lights
‣ Consistent specular response
‣ Sunlight
‣ Volumetric
‣ More details in GPU Pro 5
‣ Reflections match light model and area lights
‣ Identical glossiness and Fresnel response
‣ Both real-time and cube maps
‣ You should be able to just swap one for another
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Per-object light probes
‣ Lightmaps
‣ Need nice unwrapped Us
‣ Static objects only
‣ Level changes break lighting
‣ Wasteful
‣ We measured render times in days
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Decided to use light probes
‣ Static and dynamic geometry supported
‣ Works after level changes
‣ Scalable
‣ Applied per pixel
‣ Deferred pass
‣ Works on large objects
‣ Uniform look for static and dynamic objects
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Voxelize the scene
‣ 1-2m in gameplay areas
‣ 10m in background
‣ Place light probes
‣ In empty voxels
‣ Next to features
‣ Build tetrahedron structure
‣ „Light probe interpolation using tetrahedral tessellations‟
‣ Tends to generate “slivers”
‣ Add fill probes
‣ In empty space
‣ Lower frequency
‣ More uniform tetrahedrons
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Few hundred thousand probes per section
‣ Per pixel search during lighting
‣ Tetrahedrons partitioned into a sparse grid
‣ 16m3 per cell
‣ BSP tree per grid cell
‣ Light leaking problematic
‣ Store optional data in tetrahedrons
‣ Up to 3 occlusion planes
‣ Up to 4 occlusion shadow maps
‣ One per triangular tetrahedron side
‣ 15 samples per map
‣ Tech became available very late
‣ Too risky to switch
‣ Used for all dynamic objects
‣ Used outside gameplay areas
‣ Saved 500mb per section
‣ Only few levels lit exclusively by probes
‣ Most levels still use light maps
‣ In use for our next game
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Particle lighting so far
‣ Mostly unlit
‣ Forward rendering
‣ Performance and feature limitations
‣ Particles need to fit our environments
‣ Lighting matching the rest of geometry
‣ Support for all our light types
‣ Shadows
‣ Performance is important
‣ G-Buffer for particle data
‣ Small footprint
‣ Position, Normal, Depth, Accumulated lighting
‣ Flat data array
‣ Store several reference points per particle
‣ 8x8, 4x4, 2x2 or 1x1
‣ Artist chosen based on size
‣ Normals bent outwards
‣ Initialize with IBL lighting
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Integrated into regular lighting pass
‣ Runs after each on-screen light
‣ Allows to reuse shadow maps
‣ Final lighting available in particle shaders
‣ Drive transparency based on lighting
‣ Used for fog or dust
‣ Pros
‣ Generic framework - works for any point in space
‣ Builds on strengths of deferred rendering
‣ Support all current and future lighting features
‣ Cons
‣ G-Buffer size limits particle count
‣ Interpolation can be visible
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Shadow map rendering turned out to be slow
‣ Up to 60% of lighting budget
‣ 5000+ drawcalls, ~3 million triangles
‣ Tens of shadow casting lights
‣ Four sunlight shadow cascades
‣ Discovered late in production
‣ Cannot optimize art
‣ Cannot reduce lighting quality
‣ Offline generated shadow proxies
‣ Static lights and geometry
‣ Only polygons affecting shadow map
‣ 60-80% triangle reduction
‣ Single drawcall per light
‣ Dynamic objects rendered separately
‣ 500k triangles
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Proxy mesh alone does not work for sunlight
‣ Too many triangles
‣ Too large
‣ Hybrid approach
‣ Baked shadow map
‣ Proxy delta mesh
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Pros:
‣ Significant CPU and GPU cost reduction
‣ Cheap long distance sun shadows
‣ 3rd and 4th cascades only use shadow map
‣ Cons:
‣ Memory cost
‣ Breaks on level geometry change
‣ Offline process costs time
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ One of the most important ingredients of KZ:SF look
‣ Implemented as straightforward view space raymarching
‣ Support for all light configurations
‣ Easily controllable cost vs. quality
‣ Part of deferred lighting pass
‣ Rendered at half resolution
‣ Bilateral upscale to full resolution
- Not worth sampling here
‣ Raymarch step offset by random value
‣ Increased perceived quality
‣ Bilateral blur removes the dither pattern
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Plain volumetrics look bland
‣ Particle systems can add structure
‣ Complete artist control
‣ Reacts to physics, player movement, wind forces
‣ Particles rendered into 3D Scattering Amount Buffer
‣ Affects intensity of raymarch samples
‣ 1/8th of native resolution, 16 depth slices
‣ Camera space, quadratic depth distribution
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Composing with transparencies is problematic
‣ Solved by 3D Volume Light Intensity Buffer
‣ Similar idea to Scattering Amount Buffer
‣ Half resolution to match volumetrics
‣ Amount of visible volumetrics after ray marching
‣ Between camera and given depth slice
‣ Includes shadows, light attenuation and textures
‣ GPU Pro 5 - „Volumetric Light Effects in Killzone Shadow Fall‟
‣ Consecutive frames are usually very similar
‣ Regular rendering is wasteful
‣ Render image and throw it away
‣ Previous frames can improve the next
‣ Increase visual quality
‣ Decrease cost of rendering
‣ Increased quality without extra raymarch samples
‣ Reuse previous volumetric buffer
‣ Decide on color and depth similarities
‣ result = lerp(current, previous, 0.5*saturate(similarity))
‣ Change raymarch offset every frame
‣ Alternate between two configurations
‣ Effectively doubles the sample count*
* Your mileage may vary, might contain traces of nuts
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Post processing benefits from temporal reprojection
‣ Mostly rendered at lower resolution
‣ Sensitive to undersampling or rasterization artifacts
‣ Smoother motion
‣ Bloom
‣ Screen Space Ambient Occlusion
‣ Godrays
‣ Exposure measurement
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Shader effects created by FX artists
‣ Designed completely in nodegraph editor
‣ Fullscreen passes modifying g-buffer
‣ React to bullet decals or footsteps
‣ Decals write to “user” channel of our g-buffer
‣ Top-down variance shadow map used
‣ Limit rain to outdoors
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Real-time raytrace system
‣ Dynamic reflections, multiple distances
‣ Static localized cubemap zones
‣ Local reflections
‣ Static background cubemap
‣ Far away reflections
‣ Each stage falls back to next one on miss
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ The zones are placed by artists
‣ Two pass cubemap rendering
‣ Clean render with reflections disabled
‣ Secondary bounces with reflections enabled
‣ Rendering takes an hour per section
‣ Mipmap filtering matches BRDF specular cone
‣ „Local Image-based Lighting With Parallax-corrected Cubemap‟
‣ Driven by surface roughness and reflection ray length
‣ Affect reflection cone aperture and radius
‣ Determines cubemap mip selection
‣ Screen space ray-tracing
‣ Stages
‣ Ray-tracing
‣ Filtering and reprojection
‣ Composing with cubemaps
‣ Half resolution
‣ Pick different pixel from 2x2 quad every frame
‣ Cover full resolution after 4 frames
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Constant step in screen XY
‣ Smoother surfaces have smaller step
‣ Reflection vector dependent
‣ Ray passes under weapon
‣ Hit depth interpolated from last two depths
‣ Reproject hit color from last frame
‣ Secondary bounces!
‣ Output - hit color / hit mask / glossiness
‣ Generate mip chain from ray-trace results
‣ Matches BRDF just like cubemaps
‣ Use mask to discard „miss‟ pixels
‣ Not depth aware!
‣ Build the reflection buffer
‣ Use gloss buffer to pick mipmap
‣ Mip does match the cone radius
‣ Alternating samples need stabilization
‣ Temporal reprojection supersampling filter
‣ Blend with history if colors are similar
‣ Use reflection neighborhood color range
‣ „Real-Time Global Illumination and Reflections in Dust 514‟
‣ Compose with cubemaps
‣ Ray-trace mask used for blending
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Originally went for MSAA
‣ With temporal reprojection for better quality
‣ Implementation started very late
‣ Other features took priority
‣ Launch-title „noob‟ mistake
‣ Introduced small performance hit
‣ Game assets already balanced
‣ No time to find extra GPU performance
‣ Temporal reprojection + FXAA
‣ No MSAA
‣ Better image stability
‣ Accumulate pixels into history buffer
‣ Contains roughly 16 frames worth of data
‣ Uses color similarities criteria
‣ Experimented with sub-pixel jitter
Image by
Andrew Selle
‣ Numerical diffusion is a problem
‣ Image gets blurry with reprojection
‣ Usually invisible with MSAA
‣ Use back and forth error
compensation and correction method
‣ „An Unconditionally Stable MacCormack
Method‟
Image by Andrew Selle
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Single player targets 1080p 30 fps
‣ Multiplayer targets 1080p 60 fps
‣ Faster responses
‣ Smoother gameplay
‣ Did not want to downsize the content
‣ Multiplayer needs to look next-gen
‣ No time to create optimized assets
‣ Tech solution needed
‣ Needed 100% speedup
‣ But not lower quality
‣ Reprojection can help here
‣ Render buffers at 960x1080
‣ Alternate rendering of odd/even pixels
‣ Use reprojection to build 1920x1080 frame
‣ Results hard to distinguish from 1080p single player
‣ Usually 80% performance gain
‣ Keep two previous half-frames
‣ Use double reprojection
‣ Check similarity of N and N-2
‣ Color neighborhood similarity
‣ Motion continuity
‣ Accept pixel N-1 for similar
frames
‣ Otherwise just interpolate from N
‣ Keep full-resolution history buffer
‣ Only reproject in safe case
‣ Motion is coherent
‣ Colors are similar
‣ Adds extra image stability
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Recap:
‣ Physically correct lighting is a big step, go the full distance.
‣ Don‟t let the lightmaps disappoint you, fight back.
‣ It is worth investing into particle lighting and volumetrics.
‣ Real-time reflections are the next thing.
‣ Reproject all the things!
Special thanks: Andreas Varga / Guido de Haan / Hugh Malan /
Jaap van Muijden / Jeroen Krebbers / Kenzo ter Elst /
Michal Drobot / Michiel van der Leeuw / Nathan Vos / Will Vale
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Art-driven force simulation framework
‣ Several area affecting primitives
‣ Wind box, explosion, vortex
‣ Statically placed
‣ Attached to entities or player
‣ Focus on complete art-direction control
‣ Affects cloth, particles and shaders
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Calculation is running as compute job
‣ 60,000 points sampled each frame
‣ Explicit queries return forces for specific points
‣ Used for cloth simulation or particles
‣ Forces cached in grid around the player
‣ Grids - 16x16x16x25cm, 32x32x32x1m, 16x16x16x2m
‣ Data available in shaders
‣ Used for foliage, tarps or water surface
‣ Includes spring solver with few elasticity presets
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
‣ Killzone 3 prioritized streaming with bounding boxes
‣ Does not work inside buildings
‣ Shadow fall needs 10+GB RAM without streaming
‣ Have to stream almost all mipmaps
‣ PS4 GPU can report mipmap usage
‣ No change to shaders needed
‣ Precise estimation for texture streaming
‣ Works well with complicated shaders
Taking Killzone Shadow Fall Image Quality Into The Next Generation

More Related Content

PDF
Screen Space Reflections in The Surge
Michele Giacalone
 
PDF
Rendering AAA-Quality Characters of Project A1
Ki Hyunwoo
 
PPTX
Rendering Technologies from Crysis 3 (GDC 2013)
Tiago Sousa
 
PPTX
Shiny PC Graphics in Battlefield 3
Electronic Arts / DICE
 
PPTX
Physically Based and Unified Volumetric Rendering in Frostbite
Electronic Arts / DICE
 
PPTX
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Electronic Arts / DICE
 
PPTX
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Electronic Arts / DICE
 
PPT
Secrets of CryENGINE 3 Graphics Technology
Tiago Sousa
 
Screen Space Reflections in The Surge
Michele Giacalone
 
Rendering AAA-Quality Characters of Project A1
Ki Hyunwoo
 
Rendering Technologies from Crysis 3 (GDC 2013)
Tiago Sousa
 
Shiny PC Graphics in Battlefield 3
Electronic Arts / DICE
 
Physically Based and Unified Volumetric Rendering in Frostbite
Electronic Arts / DICE
 
Five Rendering Ideas from Battlefield 3 & Need For Speed: The Run
Electronic Arts / DICE
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Electronic Arts / DICE
 
Secrets of CryENGINE 3 Graphics Technology
Tiago Sousa
 

What's hot (20)

PPT
Crysis Next-Gen Effects (GDC 2008)
Tiago Sousa
 
PDF
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
JP Lee
 
PDF
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Tiago Sousa
 
PPTX
Moving Frostbite to Physically Based Rendering
Electronic Arts / DICE
 
PPT
CryENGINE 3 Rendering Techniques
Tiago Sousa
 
PDF
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
Philip Hammer
 
PDF
Bindless Deferred Decals in The Surge 2
Philip Hammer
 
PPTX
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
Electronic Arts / DICE
 
PPT
Star Ocean 4 - Flexible Shader Managment and Post-processing
umsl snfrzb
 
PDF
Lighting of Killzone: Shadow Fall
Guerrilla
 
PDF
Dissecting the Rendering of The Surge
Philip Hammer
 
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal
 
PPT
Light prepass
changehee lee
 
PPTX
Lighting the City of Glass
Electronic Arts / DICE
 
PDF
Siggraph2016 - The Devil is in the Details: idTech 666
Tiago Sousa
 
PPT
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
repii
 
PPTX
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
Electronic Arts / DICE
 
PDF
Rendering Techniques in Rise of the Tomb Raider
Eidos-Montréal
 
PPTX
Frostbite on Mobile
Electronic Arts / DICE
 
PDF
Custom fabric shader for unreal engine 4
동석 김
 
Crysis Next-Gen Effects (GDC 2008)
Tiago Sousa
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
JP Lee
 
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Tiago Sousa
 
Moving Frostbite to Physically Based Rendering
Electronic Arts / DICE
 
CryENGINE 3 Rendering Techniques
Tiago Sousa
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
Philip Hammer
 
Bindless Deferred Decals in The Surge 2
Philip Hammer
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
Electronic Arts / DICE
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
umsl snfrzb
 
Lighting of Killzone: Shadow Fall
Guerrilla
 
Dissecting the Rendering of The Surge
Philip Hammer
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal
 
Light prepass
changehee lee
 
Lighting the City of Glass
Electronic Arts / DICE
 
Siggraph2016 - The Devil is in the Details: idTech 666
Tiago Sousa
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
repii
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
Electronic Arts / DICE
 
Rendering Techniques in Rise of the Tomb Raider
Eidos-Montréal
 
Frostbite on Mobile
Electronic Arts / DICE
 
Custom fabric shader for unreal engine 4
동석 김
 
Ad

Similar to Taking Killzone Shadow Fall Image Quality Into The Next Generation (20)

PPTX
The Rendering Technology of Killzone 2
Guerrilla
 
PDF
Killzone Shadow Fall Demo Postmortem
Guerrilla
 
PPT
A Bit More Deferred Cry Engine3
guest11b095
 
PDF
Deferred Rendering in Killzone 2
ozlael ozlael
 
PDF
Deferred Rendering in Killzone 2
Guerrilla
 
PPT
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
repii
 
PDF
Deferred Rendering in Killzone 2
Slide_N
 
PPTX
Real-time lightmap baking
Rosario Leonardi
 
PPTX
A Bizarre Way to do Real-Time Lighting
Steven Tovey
 
PDF
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
Guerrilla
 
PDF
Hill Stephen Rendering Tools Splinter Cell Conviction
ozlael ozlael
 
PPTX
Deferred shading
Frank Chao
 
PDF
Deferred shading
ozlael ozlael
 
PPTX
DirectX 11 Rendering in Battlefield 3
Electronic Arts / DICE
 
PDF
Lighting you up in Battlefield 3
drandom
 
PDF
Rendering Tech of Space Marine
Pope Kim
 
PPT
Deferred Lighting and Post Processing on PLAYSTATION®3
Slide_N
 
PDF
Custom SRP and graphics workflows - Unite Copenhagen 2019
Unity Technologies
 
PPTX
Summer Games University - Day 3
Clemens Kern
 
PPT
Paris Master Class 2011 - 01 Deferred Lighting, MSAA
Wolfgang Engel
 
The Rendering Technology of Killzone 2
Guerrilla
 
Killzone Shadow Fall Demo Postmortem
Guerrilla
 
A Bit More Deferred Cry Engine3
guest11b095
 
Deferred Rendering in Killzone 2
ozlael ozlael
 
Deferred Rendering in Killzone 2
Guerrilla
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
repii
 
Deferred Rendering in Killzone 2
Slide_N
 
Real-time lightmap baking
Rosario Leonardi
 
A Bizarre Way to do Real-Time Lighting
Steven Tovey
 
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
Guerrilla
 
Hill Stephen Rendering Tools Splinter Cell Conviction
ozlael ozlael
 
Deferred shading
Frank Chao
 
Deferred shading
ozlael ozlael
 
DirectX 11 Rendering in Battlefield 3
Electronic Arts / DICE
 
Lighting you up in Battlefield 3
drandom
 
Rendering Tech of Space Marine
Pope Kim
 
Deferred Lighting and Post Processing on PLAYSTATION®3
Slide_N
 
Custom SRP and graphics workflows - Unite Copenhagen 2019
Unity Technologies
 
Summer Games University - Day 3
Clemens Kern
 
Paris Master Class 2011 - 01 Deferred Lighting, MSAA
Wolfgang Engel
 
Ad

More from Guerrilla (20)

PPTX
Horizon Zero Dawn: An Open World QA Case Study
Guerrilla
 
PPTX
Horizon Zero Dawn: A Game Design Post-Mortem
Guerrilla
 
PPTX
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Guerrilla
 
PPTX
Decima Engine: Visibility in Horizon Zero Dawn
Guerrilla
 
PDF
Building Non-Linear Narratives in Horizon Zero Dawn
Guerrilla
 
PPTX
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Guerrilla
 
PDF
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
Guerrilla
 
PDF
The Production and Visual FX of Killzone Shadow Fall
Guerrilla
 
PPTX
Out of Sight, Out of Mind: Improving Visualization of AI Info
Guerrilla
 
PDF
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
Guerrilla
 
PDF
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Guerrilla
 
PDF
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
Guerrilla
 
PPTX
Practical Occlusion Culling on PS3
Guerrilla
 
PPT
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
PPT
Killzone 2 Multiplayer Bots
Guerrilla
 
PPTX
Automatic Annotations in Killzone 3 and Beyond
Guerrilla
 
PDF
The Creation of Killzone 3
Guerrilla
 
PPTX
Killzone's AI: Dynamic Procedural Tactics
Guerrilla
 
PDF
The Guerrilla Guide to Game Code
Guerrilla
 
KEY
Practical Occlusion Culling in Killzone 3
Guerrilla
 
Horizon Zero Dawn: An Open World QA Case Study
Guerrilla
 
Horizon Zero Dawn: A Game Design Post-Mortem
Guerrilla
 
Putting the AI Back Into Air: Navigating the Air Space of Horizon Zero Dawn
Guerrilla
 
Decima Engine: Visibility in Horizon Zero Dawn
Guerrilla
 
Building Non-Linear Narratives in Horizon Zero Dawn
Guerrilla
 
Player Traversal Mechanics in the Vast World of Horizon Zero Dawn
Guerrilla
 
The Real-time Volumetric Cloudscapes of Horizon Zero Dawn
Guerrilla
 
The Production and Visual FX of Killzone Shadow Fall
Guerrilla
 
Out of Sight, Out of Mind: Improving Visualization of AI Info
Guerrilla
 
The Next-Gen Dynamic Sound System of Killzone Shadow Fall
Guerrilla
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Guerrilla
 
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
Guerrilla
 
Practical Occlusion Culling on PS3
Guerrilla
 
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
Killzone 2 Multiplayer Bots
Guerrilla
 
Automatic Annotations in Killzone 3 and Beyond
Guerrilla
 
The Creation of Killzone 3
Guerrilla
 
Killzone's AI: Dynamic Procedural Tactics
Guerrilla
 
The Guerrilla Guide to Game Code
Guerrilla
 
Practical Occlusion Culling in Killzone 3
Guerrilla
 

Recently uploaded (20)

PPTX
Presentation about variables and constant.pptx
safalsingh810
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PPTX
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
Presentation about variables and constant.pptx
safalsingh810
 
Exploring AI Agents in Process Industries
amoreira6
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
Maximizing Revenue with Marketo Measure: A Deep Dive into Multi-Touch Attribu...
bbedford2
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
lesson-2-rules-of-netiquette.pdf.bshhsjdj
jasmenrojas249
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Presentation about variables and constant.pptx
kr2589474
 

Taking Killzone Shadow Fall Image Quality Into The Next Generation

  • 2. ‣ Look back at the development of Killzone Shadow Fall ‣ What is the Next-Gen look? ‣ Key techniques ‣ Image quality and stability
  • 3. ‣ Early development started in April 2011 ‣ The goal was platform defining, true next-gen, Killzone ‣ New game direction ‣ Fresh look for a divided world ‣ Beautiful environments full of detail and contrasts
  • 4. ‣ New platform ‣ Hardware under development ‣ Difficult to define scope of the game ‣ No PC fallback for the engine ‣ Features in development throughout production
  • 5. ‣ Launch title ‣ Unmovable release date ‣ Limited time for experiments ‣ Sometimes you have to kill your darlings
  • 16. ‣ Levels 10 to 100 times larger than in Killzone 3 ‣ Largest map is almost 8km long ‣ We don‟t have open world engine ‣ First time we ran into precision issues
  • 17. ‣ Doubled the amount of geometry instances ‣ 10,000 to 25,000 per level section ‣ One instance != one draw call ‣ 689,334 building blocks instances in the game ‣ 200 static lights per section ‣ Another 200 in lightmaps
  • 18. ‣ Roughly 4x more vertex and texel detail ‣ Early guideline that worked ‣ 40,000 triangles per character ‣ Complicated shader networks ‣ 6-12 textures per material
  • 20. ‣ Killzone Shadow Fall defining tech features ‣ Lighting ‣ Shading ‣ Reflections ‣ Effects ‣ Image fidelity and temporal stability ‣ Scalability with the amount of content ‣ Everything done with jobs
  • 21. ‣ All aspects of lighting complement each other ‣ BRDF ‣ Assets ‣ Lights ‣ Volumetrics ‣ Reflections
  • 22. ‣ Physically based lighting model ‣ Artist controllable ‣ Assets reviewed in in-game lighting environments ‣ Also integrated in Maya
  • 23. ‣ All lights are area lights ‣ Including textured lights ‣ Consistent specular response ‣ Sunlight ‣ Volumetric ‣ More details in GPU Pro 5
  • 24. ‣ Reflections match light model and area lights ‣ Identical glossiness and Fresnel response ‣ Both real-time and cube maps ‣ You should be able to just swap one for another
  • 27. ‣ Per-object light probes ‣ Lightmaps ‣ Need nice unwrapped Us ‣ Static objects only ‣ Level changes break lighting ‣ Wasteful ‣ We measured render times in days
  • 30. ‣ Decided to use light probes ‣ Static and dynamic geometry supported ‣ Works after level changes ‣ Scalable ‣ Applied per pixel ‣ Deferred pass ‣ Works on large objects ‣ Uniform look for static and dynamic objects
  • 32. ‣ Voxelize the scene ‣ 1-2m in gameplay areas ‣ 10m in background
  • 33. ‣ Place light probes ‣ In empty voxels ‣ Next to features
  • 34. ‣ Build tetrahedron structure ‣ „Light probe interpolation using tetrahedral tessellations‟ ‣ Tends to generate “slivers”
  • 35. ‣ Add fill probes ‣ In empty space ‣ Lower frequency ‣ More uniform tetrahedrons
  • 44. ‣ Few hundred thousand probes per section ‣ Per pixel search during lighting ‣ Tetrahedrons partitioned into a sparse grid ‣ 16m3 per cell ‣ BSP tree per grid cell
  • 45. ‣ Light leaking problematic ‣ Store optional data in tetrahedrons ‣ Up to 3 occlusion planes ‣ Up to 4 occlusion shadow maps ‣ One per triangular tetrahedron side ‣ 15 samples per map
  • 46. ‣ Tech became available very late ‣ Too risky to switch ‣ Used for all dynamic objects ‣ Used outside gameplay areas ‣ Saved 500mb per section ‣ Only few levels lit exclusively by probes ‣ Most levels still use light maps ‣ In use for our next game
  • 48. ‣ Particle lighting so far ‣ Mostly unlit ‣ Forward rendering ‣ Performance and feature limitations ‣ Particles need to fit our environments ‣ Lighting matching the rest of geometry ‣ Support for all our light types ‣ Shadows ‣ Performance is important
  • 49. ‣ G-Buffer for particle data ‣ Small footprint ‣ Position, Normal, Depth, Accumulated lighting ‣ Flat data array ‣ Store several reference points per particle ‣ 8x8, 4x4, 2x2 or 1x1 ‣ Artist chosen based on size ‣ Normals bent outwards ‣ Initialize with IBL lighting
  • 51. ‣ Integrated into regular lighting pass ‣ Runs after each on-screen light ‣ Allows to reuse shadow maps ‣ Final lighting available in particle shaders ‣ Drive transparency based on lighting ‣ Used for fog or dust
  • 52. ‣ Pros ‣ Generic framework - works for any point in space ‣ Builds on strengths of deferred rendering ‣ Support all current and future lighting features ‣ Cons ‣ G-Buffer size limits particle count ‣ Interpolation can be visible
  • 55. ‣ Shadow map rendering turned out to be slow ‣ Up to 60% of lighting budget ‣ 5000+ drawcalls, ~3 million triangles ‣ Tens of shadow casting lights ‣ Four sunlight shadow cascades ‣ Discovered late in production ‣ Cannot optimize art ‣ Cannot reduce lighting quality
  • 56. ‣ Offline generated shadow proxies ‣ Static lights and geometry ‣ Only polygons affecting shadow map ‣ 60-80% triangle reduction ‣ Single drawcall per light ‣ Dynamic objects rendered separately ‣ 500k triangles
  • 60. ‣ Proxy mesh alone does not work for sunlight ‣ Too many triangles ‣ Too large ‣ Hybrid approach ‣ Baked shadow map ‣ Proxy delta mesh
  • 62. ‣ Pros: ‣ Significant CPU and GPU cost reduction ‣ Cheap long distance sun shadows ‣ 3rd and 4th cascades only use shadow map ‣ Cons: ‣ Memory cost ‣ Breaks on level geometry change ‣ Offline process costs time
  • 65. ‣ One of the most important ingredients of KZ:SF look ‣ Implemented as straightforward view space raymarching ‣ Support for all light configurations ‣ Easily controllable cost vs. quality ‣ Part of deferred lighting pass ‣ Rendered at half resolution ‣ Bilateral upscale to full resolution - Not worth sampling here
  • 66. ‣ Raymarch step offset by random value ‣ Increased perceived quality ‣ Bilateral blur removes the dither pattern
  • 68. ‣ Plain volumetrics look bland ‣ Particle systems can add structure ‣ Complete artist control ‣ Reacts to physics, player movement, wind forces ‣ Particles rendered into 3D Scattering Amount Buffer ‣ Affects intensity of raymarch samples ‣ 1/8th of native resolution, 16 depth slices ‣ Camera space, quadratic depth distribution
  • 73. ‣ Composing with transparencies is problematic ‣ Solved by 3D Volume Light Intensity Buffer ‣ Similar idea to Scattering Amount Buffer ‣ Half resolution to match volumetrics ‣ Amount of visible volumetrics after ray marching ‣ Between camera and given depth slice ‣ Includes shadows, light attenuation and textures ‣ GPU Pro 5 - „Volumetric Light Effects in Killzone Shadow Fall‟
  • 74. ‣ Consecutive frames are usually very similar ‣ Regular rendering is wasteful ‣ Render image and throw it away ‣ Previous frames can improve the next ‣ Increase visual quality ‣ Decrease cost of rendering
  • 75. ‣ Increased quality without extra raymarch samples ‣ Reuse previous volumetric buffer ‣ Decide on color and depth similarities ‣ result = lerp(current, previous, 0.5*saturate(similarity)) ‣ Change raymarch offset every frame ‣ Alternate between two configurations ‣ Effectively doubles the sample count* * Your mileage may vary, might contain traces of nuts
  • 77. ‣ Post processing benefits from temporal reprojection ‣ Mostly rendered at lower resolution ‣ Sensitive to undersampling or rasterization artifacts ‣ Smoother motion ‣ Bloom ‣ Screen Space Ambient Occlusion ‣ Godrays ‣ Exposure measurement
  • 79. ‣ Shader effects created by FX artists ‣ Designed completely in nodegraph editor ‣ Fullscreen passes modifying g-buffer ‣ React to bullet decals or footsteps ‣ Decals write to “user” channel of our g-buffer ‣ Top-down variance shadow map used ‣ Limit rain to outdoors
  • 84. ‣ Real-time raytrace system ‣ Dynamic reflections, multiple distances ‣ Static localized cubemap zones ‣ Local reflections ‣ Static background cubemap ‣ Far away reflections ‣ Each stage falls back to next one on miss
  • 86. ‣ The zones are placed by artists ‣ Two pass cubemap rendering ‣ Clean render with reflections disabled ‣ Secondary bounces with reflections enabled ‣ Rendering takes an hour per section ‣ Mipmap filtering matches BRDF specular cone ‣ „Local Image-based Lighting With Parallax-corrected Cubemap‟
  • 87. ‣ Driven by surface roughness and reflection ray length ‣ Affect reflection cone aperture and radius ‣ Determines cubemap mip selection
  • 88. ‣ Screen space ray-tracing ‣ Stages ‣ Ray-tracing ‣ Filtering and reprojection ‣ Composing with cubemaps ‣ Half resolution ‣ Pick different pixel from 2x2 quad every frame ‣ Cover full resolution after 4 frames
  • 90. ‣ Constant step in screen XY ‣ Smoother surfaces have smaller step ‣ Reflection vector dependent ‣ Ray passes under weapon ‣ Hit depth interpolated from last two depths ‣ Reproject hit color from last frame ‣ Secondary bounces! ‣ Output - hit color / hit mask / glossiness
  • 91. ‣ Generate mip chain from ray-trace results ‣ Matches BRDF just like cubemaps ‣ Use mask to discard „miss‟ pixels ‣ Not depth aware! ‣ Build the reflection buffer ‣ Use gloss buffer to pick mipmap ‣ Mip does match the cone radius
  • 92. ‣ Alternating samples need stabilization ‣ Temporal reprojection supersampling filter ‣ Blend with history if colors are similar ‣ Use reflection neighborhood color range ‣ „Real-Time Global Illumination and Reflections in Dust 514‟ ‣ Compose with cubemaps ‣ Ray-trace mask used for blending
  • 94. ‣ Originally went for MSAA ‣ With temporal reprojection for better quality ‣ Implementation started very late ‣ Other features took priority ‣ Launch-title „noob‟ mistake ‣ Introduced small performance hit ‣ Game assets already balanced ‣ No time to find extra GPU performance
  • 95. ‣ Temporal reprojection + FXAA ‣ No MSAA ‣ Better image stability ‣ Accumulate pixels into history buffer ‣ Contains roughly 16 frames worth of data ‣ Uses color similarities criteria ‣ Experimented with sub-pixel jitter Image by Andrew Selle
  • 96. ‣ Numerical diffusion is a problem ‣ Image gets blurry with reprojection ‣ Usually invisible with MSAA ‣ Use back and forth error compensation and correction method ‣ „An Unconditionally Stable MacCormack Method‟ Image by Andrew Selle
  • 99. ‣ Single player targets 1080p 30 fps ‣ Multiplayer targets 1080p 60 fps ‣ Faster responses ‣ Smoother gameplay ‣ Did not want to downsize the content ‣ Multiplayer needs to look next-gen ‣ No time to create optimized assets ‣ Tech solution needed
  • 100. ‣ Needed 100% speedup ‣ But not lower quality ‣ Reprojection can help here ‣ Render buffers at 960x1080 ‣ Alternate rendering of odd/even pixels ‣ Use reprojection to build 1920x1080 frame ‣ Results hard to distinguish from 1080p single player ‣ Usually 80% performance gain
  • 101. ‣ Keep two previous half-frames ‣ Use double reprojection ‣ Check similarity of N and N-2 ‣ Color neighborhood similarity ‣ Motion continuity ‣ Accept pixel N-1 for similar frames ‣ Otherwise just interpolate from N
  • 102. ‣ Keep full-resolution history buffer ‣ Only reproject in safe case ‣ Motion is coherent ‣ Colors are similar ‣ Adds extra image stability
  • 104. ‣ Recap: ‣ Physically correct lighting is a big step, go the full distance. ‣ Don‟t let the lightmaps disappoint you, fight back. ‣ It is worth investing into particle lighting and volumetrics. ‣ Real-time reflections are the next thing. ‣ Reproject all the things! Special thanks: Andreas Varga / Guido de Haan / Hugh Malan / Jaap van Muijden / Jeroen Krebbers / Kenzo ter Elst / Michal Drobot / Michiel van der Leeuw / Nathan Vos / Will Vale
  • 106. ‣ Art-driven force simulation framework ‣ Several area affecting primitives ‣ Wind box, explosion, vortex ‣ Statically placed ‣ Attached to entities or player ‣ Focus on complete art-direction control ‣ Affects cloth, particles and shaders
  • 108. ‣ Calculation is running as compute job ‣ 60,000 points sampled each frame ‣ Explicit queries return forces for specific points ‣ Used for cloth simulation or particles ‣ Forces cached in grid around the player ‣ Grids - 16x16x16x25cm, 32x32x32x1m, 16x16x16x2m ‣ Data available in shaders ‣ Used for foliage, tarps or water surface ‣ Includes spring solver with few elasticity presets
  • 111. ‣ Killzone 3 prioritized streaming with bounding boxes ‣ Does not work inside buildings ‣ Shadow fall needs 10+GB RAM without streaming ‣ Have to stream almost all mipmaps ‣ PS4 GPU can report mipmap usage ‣ No change to shaders needed ‣ Precise estimation for texture streaming ‣ Works well with complicated shaders