SlideShare a Scribd company logo

Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15

Slides from the Game Industry Conference 2015. * Second movie link is the same as first after conversion, here is the correct one https://youtu.be/SkEJ7ox2c8w

1 of 39
Download to read offline
„Shadow Warrior 2 and the evolution
of the Roadhog Engine”
Jarosław Pleskot
Senior Engine Programmer
Flying Wild Hog
2015
Presentation overview
1. Introduction
2. The engine evolution
a) Level construction pipeline
b) Character destruction
3. Foliage system 2.0
a) Architecture
b) Storage
c) Rendering
Shadow Warrior vs Shadow Warrior
* both games run on PS4 and XONE, SW was ported to Mac and Linux externally
Shadow Warrior Shadow Warrior 2
Production time 18 months total > 2 years
Team size 35 50
Engine programmers 2 7
PC Platform differences* PC DX9 32 bit, ported to
DX11 32/64 bit
PC DX11, 64 bit only
Multiplayer - COOP
Renderer Light Pre-Pass, nonlinear Deffered, linear, PBR
The engine evolution
Steps of the evolution
Hard Reset
(DX9, 32 bit)
Shadow Warrior
(DX9, 32 bit)
Shadow Warrior
(32/64 bit
DX11/PS4/XONE)
Shadow Warrior 2
(64 bit DX11, PS4,
XONE)
• First version of
Roadhog Engine
• Light pre-pass
renderer
• Main + render
threads + a few
worker threads
(Havok, sound,
etc)
• Foliage system
• Mirror
• Cutscenes
• Animation system
extended
• SSAO
• Skinned decals
• Job system
introduced
• Renderer ported
• New platforms
• Extensive use of
job system
• Physically based
rendering
• Multiplayer
• Procedural
character
destruction
• Big change in
level pipeline
2011 2013 2014 2016
For all FWH games before Shadow Warrior 2 level
geometry was constructed mainly outside game
editor.
• Hard reset: one big mesh + smaller meshes
• Shadow Warrior: a few parts of a level (loaded
or not) + smaller meshes + foliage
• Game editor was simple, focused on gameplay
design
Level construction pipeline
Ad

Recommended

The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014The Technology behind Shadow Warrior, ZTG 2014
The Technology behind Shadow Warrior, ZTG 2014Jarosław Pleskot
 
Terrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable SystemTerrain in Battlefield 3: A Modern, Complete and Scalable System
Terrain in Battlefield 3: A Modern, Complete and Scalable SystemElectronic Arts / DICE
 
GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11GDC 2012: Advanced Procedural Rendering in DX11
GDC 2012: Advanced Procedural Rendering in DX11smashflt
 
GDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsGDC 2014 - Deformable Snow Rendering in Batman: Arkham Origins
GDC 2014 - Deformable Snow Rendering in Batman: Arkham OriginsColin Barré-Brisebois
 
FlameWorks GTC 2014
FlameWorks GTC 2014FlameWorks GTC 2014
FlameWorks GTC 2014Simon Green
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsColin Barré-Brisebois
 

More Related Content

What's hot

CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture MappingMark Kilgard
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderEidos-Montréal
 
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
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barré-Brisebois
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shadingWuBinbo
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineWolfgang Engel
 
Paris Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemParis Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemWolfgang Engel
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overviewslantsixgames
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontElectronic Arts / DICE
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsHolger Gruen
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft ShadowsWolfgang Engel
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shadersstevemcauley
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererDavide Pasca
 

What's hot (20)

DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
CS 354 Texture Mapping
CS 354 Texture MappingCS 354 Texture Mapping
CS 354 Texture Mapping
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
 
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
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
 
Clustered defered and forward shading
Clustered defered and forward shadingClustered defered and forward shading
Clustered defered and forward shading
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing Pipeline
 
Paris Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material SystemParis Master Class 2011 - 02 Screen Space Material System
Paris Master Class 2011 - 02 Screen Space Material System
 
Modern Graphics Pipeline Overview
Modern Graphics Pipeline OverviewModern Graphics Pipeline Overview
Modern Graphics Pipeline Overview
 
Photogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars BattlefrontPhotogrammetry and Star Wars Battlefront
Photogrammetry and Star Wars Battlefront
 
Oit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked ListsOit And Indirect Illumination Using Dx11 Linked Lists
Oit And Indirect Illumination Using Dx11 Linked Lists
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Massive Point Light Soft Shadows
Massive Point Light Soft ShadowsMassive Point Light Soft Shadows
Massive Point Light Soft Shadows
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
Around the World in 80 Shaders
Around the World in 80 ShadersAround the World in 80 Shaders
Around the World in 80 Shaders
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
Implementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES rendererImplementing a modern, RenderMan compliant, REYES renderer
Implementing a modern, RenderMan compliant, REYES renderer
 

Viewers also liked

2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize2010 Prince Philip Designers Prize
2010 Prince Philip Designers PrizeDesign Council
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog VertexNaughty Dog
 
Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Dinesh Verma
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character PipelineNaughty Dog
 
Crowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaCrowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaJCI Gualeguaychú
 
IP Crammer Presentation 2015
IP Crammer Presentation 2015IP Crammer Presentation 2015
IP Crammer Presentation 2015Fuulido Narrative
 
GPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaGPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaMarta Puig-Soler
 
Comercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties LtdComercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties Ltdgoncalvessm
 
Webquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratoWebquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratomaguedawg
 
Cáncer de esófago - Tratamiento
Cáncer de esófago - TratamientoCáncer de esófago - Tratamiento
Cáncer de esófago - Tratamientoasociaciongastrocba
 
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abdelwahed Sayed
 
Econ 215 money and banking(queens college) 2012 fall term
Econ 215  money and banking(queens college) 2012 fall termEcon 215  money and banking(queens college) 2012 fall term
Econ 215 money and banking(queens college) 2012 fall termJohn Smith
 
Best Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and JapanBest Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and Japanspkowalski
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5Tim Wright
 

Viewers also liked (20)

2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize2010 Prince Philip Designers Prize
2010 Prince Philip Designers Prize
 
Launch slides part 1
Launch slides part 1Launch slides part 1
Launch slides part 1
 
Linked In Show
Linked In ShowLinked In Show
Linked In Show
 
Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
 
Naughty Dog Vertex
Naughty Dog VertexNaughty Dog Vertex
Naughty Dog Vertex
 
Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09Indian Architect & Builder - Dec 09
Indian Architect & Builder - Dec 09
 
Uncharted 2: Character Pipeline
Uncharted 2: Character PipelineUncharted 2: Character Pipeline
Uncharted 2: Character Pipeline
 
Aserti
AsertiAserti
Aserti
 
Crowdsourcing, innovacion abierta
Crowdsourcing, innovacion abiertaCrowdsourcing, innovacion abierta
Crowdsourcing, innovacion abierta
 
IP Crammer Presentation 2015
IP Crammer Presentation 2015IP Crammer Presentation 2015
IP Crammer Presentation 2015
 
Doc1
Doc1Doc1
Doc1
 
GPC Manejo paciente con Dispepsia
GPC Manejo paciente con DispepsiaGPC Manejo paciente con Dispepsia
GPC Manejo paciente con Dispepsia
 
Comercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties LtdComercial Presentation Whiteproperties Ltd
Comercial Presentation Whiteproperties Ltd
 
Webquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachilleratoWebquest nutricion 2013 bachillerato
Webquest nutricion 2013 bachillerato
 
Cáncer de esófago - Tratamiento
Cáncer de esófago - TratamientoCáncer de esófago - Tratamiento
Cáncer de esófago - Tratamiento
 
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21Abd_El_Wahed_Sayed_Abd_el_Wahed 21
Abd_El_Wahed_Sayed_Abd_el_Wahed 21
 
Econ 215 money and banking(queens college) 2012 fall term
Econ 215  money and banking(queens college) 2012 fall termEcon 215  money and banking(queens college) 2012 fall term
Econ 215 money and banking(queens college) 2012 fall term
 
Best Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and JapanBest Practices in Patent Information: USA and Japan
Best Practices in Patent Information: USA and Japan
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
 
MCE
MCEMCE
MCE
 

Similar to Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15

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
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesGuerrilla
 
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
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 
Cg shaders with Unity3D
Cg shaders with Unity3DCg shaders with Unity3D
Cg shaders with Unity3DMichael Ivanov
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081Marek Rosa
 
Digital Image Processing and gis software systems
Digital Image Processing and gis software systemsDigital Image Processing and gis software systems
Digital Image Processing and gis software systemsNirmal Kumar
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)basisspace
 
[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering PipelineWilliam Hugo Yang
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemBo Li
 
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
 
Hpg2011 papers kazakov
Hpg2011 papers kazakovHpg2011 papers kazakov
Hpg2011 papers kazakovmistercteam
 
3D Multi Object GAN
3D Multi Object GAN3D Multi Object GAN
3D Multi Object GANYu Nishimura
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360VIKAS SINGH BHADOURIA
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2drandom
 

Similar to Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15 (20)

Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
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
 
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of GamesKillzone Shadow Fall: Creating Art Tools For A New Generation Of Games
Killzone Shadow Fall: Creating Art Tools For A New Generation Of Games
 
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
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
 
Real-time lightmap baking
Real-time lightmap bakingReal-time lightmap baking
Real-time lightmap baking
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
 
Cg shaders with Unity3D
Cg shaders with Unity3DCg shaders with Unity3D
Cg shaders with Unity3D
 
Light prepass
Light prepassLight prepass
Light prepass
 
AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081AAA game in XNA ? Miner wars 2081
AAA game in XNA ? Miner wars 2081
 
Digital Image Processing and gis software systems
Digital Image Processing and gis software systemsDigital Image Processing and gis software systems
Digital Image Processing and gis software systems
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)
 
[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline[UniteKorea2013] The Unity Rendering Pipeline
[UniteKorea2013] The Unity Rendering Pipeline
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering System
 
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 ...
 
Felwyrld Tech
Felwyrld TechFelwyrld Tech
Felwyrld Tech
 
Hpg2011 papers kazakov
Hpg2011 papers kazakovHpg2011 papers kazakov
Hpg2011 papers kazakov
 
3D Multi Object GAN
3D Multi Object GAN3D Multi Object GAN
3D Multi Object GAN
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2Angel cunado_The Terrain Of KUF2
Angel cunado_The Terrain Of KUF2
 

Recently uploaded

Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...
Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...
Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...GauravBhartie
 
CCNA: Routing and Switching Fundamentals
CCNA: Routing and Switching FundamentalsCCNA: Routing and Switching Fundamentals
CCNA: Routing and Switching FundamentalsDebabrata Halder
 
GDSC Web Bootcamp - Day - 2 - JavaScript
GDSC Web Bootcamp -  Day - 2   - JavaScriptGDSC Web Bootcamp -  Day - 2   - JavaScript
GDSC Web Bootcamp - Day - 2 - JavaScriptSahithiGurlinka
 
SR Globals Profile - Building Vision, Exceeding Expectations.
SR Globals Profile -  Building Vision, Exceeding Expectations.SR Globals Profile -  Building Vision, Exceeding Expectations.
SR Globals Profile - Building Vision, Exceeding Expectations.srglobalsenterprises
 
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHI
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHIINTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHI
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHIKiranKandhro1
 
nervous system ppt pptx anatomy system of nerves
nervous system ppt pptx anatomy system of nervesnervous system ppt pptx anatomy system of nerves
nervous system ppt pptx anatomy system of nervesPhebeLois1
 
Module 2_ Divide and Conquer Approach.pptx
Module 2_ Divide and Conquer Approach.pptxModule 2_ Divide and Conquer Approach.pptx
Module 2_ Divide and Conquer Approach.pptxnikshaikh786
 
Model Approved Food/ sanitary Grade Flow Meter
Model Approved Food/ sanitary Grade Flow MeterModel Approved Food/ sanitary Grade Flow Meter
Model Approved Food/ sanitary Grade Flow MeterManasMicrosystems
 
biofilm fouling of the membrane present in aquaculture
biofilm fouling of the membrane present in aquaculturebiofilm fouling of the membrane present in aquaculture
biofilm fouling of the membrane present in aquacultureVINETUBE2
 
S. Kim, NeurIPS 2023, MLILAB, KAISTAI
S. Kim,  NeurIPS 2023,  MLILAB,  KAISTAIS. Kim,  NeurIPS 2023,  MLILAB,  KAISTAI
S. Kim, NeurIPS 2023, MLILAB, KAISTAIMLILAB
 
Introduction to Binary Tree and Conersion of General tree to Binary Tree
Introduction to Binary Tree  and Conersion of General tree to Binary TreeIntroduction to Binary Tree  and Conersion of General tree to Binary Tree
Introduction to Binary Tree and Conersion of General tree to Binary TreeSwarupaDeshpande4
 
CHAPTER 1_ HTML and CSS Introduction Module
CHAPTER 1_ HTML and CSS Introduction ModuleCHAPTER 1_ HTML and CSS Introduction Module
CHAPTER 1_ HTML and CSS Introduction Modulessusera4f8281
 
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...C Sai Kiran
 
Presentation of Helmet Detection Using Machine Learning.pptx
Presentation of Helmet Detection Using Machine Learning.pptxPresentation of Helmet Detection Using Machine Learning.pptx
Presentation of Helmet Detection Using Machine Learning.pptxasmitaTele2
 
Get start with Machine Learning and Vertexai
Get start with Machine Learning and VertexaiGet start with Machine Learning and Vertexai
Get start with Machine Learning and VertexaiAshishChanchal1
 
CDE_Sustainability Performance_20240214.pdf
CDE_Sustainability Performance_20240214.pdfCDE_Sustainability Performance_20240214.pdf
CDE_Sustainability Performance_20240214.pdf8-koi
 
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.pptMohanumar S
 
Architectural Preservation - Heritage, focused on Saudi Arabia
Architectural Preservation - Heritage, focused on Saudi ArabiaArchitectural Preservation - Heritage, focused on Saudi Arabia
Architectural Preservation - Heritage, focused on Saudi ArabiaIgnacio J. Palma, Arch PhD.
 
Pointers and Array, pointer and String.pptx
Pointers and Array, pointer and String.pptxPointers and Array, pointer and String.pptx
Pointers and Array, pointer and String.pptxAnanthi Palanisamy
 
GDSC Google Cloud Study jam Web Bootcamp - Day-4 Session 4
GDSC  Google Cloud Study jam Web Bootcamp - Day-4  Session 4GDSC  Google Cloud Study jam Web Bootcamp - Day-4  Session 4
GDSC Google Cloud Study jam Web Bootcamp - Day-4 Session 4SahithiGurlinka
 

Recently uploaded (20)

Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...
Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...
Microstrip Bandpass Filter Design using EDA Tolol such as keysight ADS and An...
 
CCNA: Routing and Switching Fundamentals
CCNA: Routing and Switching FundamentalsCCNA: Routing and Switching Fundamentals
CCNA: Routing and Switching Fundamentals
 
GDSC Web Bootcamp - Day - 2 - JavaScript
GDSC Web Bootcamp -  Day - 2   - JavaScriptGDSC Web Bootcamp -  Day - 2   - JavaScript
GDSC Web Bootcamp - Day - 2 - JavaScript
 
SR Globals Profile - Building Vision, Exceeding Expectations.
SR Globals Profile -  Building Vision, Exceeding Expectations.SR Globals Profile -  Building Vision, Exceeding Expectations.
SR Globals Profile - Building Vision, Exceeding Expectations.
 
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHI
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHIINTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHI
INTERACTIVE AQUATIC MUSEUM AT BAGH IBN QASIM CLIFTON KARACHI
 
nervous system ppt pptx anatomy system of nerves
nervous system ppt pptx anatomy system of nervesnervous system ppt pptx anatomy system of nerves
nervous system ppt pptx anatomy system of nerves
 
Module 2_ Divide and Conquer Approach.pptx
Module 2_ Divide and Conquer Approach.pptxModule 2_ Divide and Conquer Approach.pptx
Module 2_ Divide and Conquer Approach.pptx
 
Model Approved Food/ sanitary Grade Flow Meter
Model Approved Food/ sanitary Grade Flow MeterModel Approved Food/ sanitary Grade Flow Meter
Model Approved Food/ sanitary Grade Flow Meter
 
biofilm fouling of the membrane present in aquaculture
biofilm fouling of the membrane present in aquaculturebiofilm fouling of the membrane present in aquaculture
biofilm fouling of the membrane present in aquaculture
 
S. Kim, NeurIPS 2023, MLILAB, KAISTAI
S. Kim,  NeurIPS 2023,  MLILAB,  KAISTAIS. Kim,  NeurIPS 2023,  MLILAB,  KAISTAI
S. Kim, NeurIPS 2023, MLILAB, KAISTAI
 
Introduction to Binary Tree and Conersion of General tree to Binary Tree
Introduction to Binary Tree  and Conersion of General tree to Binary TreeIntroduction to Binary Tree  and Conersion of General tree to Binary Tree
Introduction to Binary Tree and Conersion of General tree to Binary Tree
 
CHAPTER 1_ HTML and CSS Introduction Module
CHAPTER 1_ HTML and CSS Introduction ModuleCHAPTER 1_ HTML and CSS Introduction Module
CHAPTER 1_ HTML and CSS Introduction Module
 
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...
Introduction to Machine Learning Unit-1 Notes for II-II Mechanical Engineerin...
 
Presentation of Helmet Detection Using Machine Learning.pptx
Presentation of Helmet Detection Using Machine Learning.pptxPresentation of Helmet Detection Using Machine Learning.pptx
Presentation of Helmet Detection Using Machine Learning.pptx
 
Get start with Machine Learning and Vertexai
Get start with Machine Learning and VertexaiGet start with Machine Learning and Vertexai
Get start with Machine Learning and Vertexai
 
CDE_Sustainability Performance_20240214.pdf
CDE_Sustainability Performance_20240214.pdfCDE_Sustainability Performance_20240214.pdf
CDE_Sustainability Performance_20240214.pdf
 
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt
20CE501PE – INDUSTRIAL WASTE MANAGEMENT.ppt
 
Architectural Preservation - Heritage, focused on Saudi Arabia
Architectural Preservation - Heritage, focused on Saudi ArabiaArchitectural Preservation - Heritage, focused on Saudi Arabia
Architectural Preservation - Heritage, focused on Saudi Arabia
 
Pointers and Array, pointer and String.pptx
Pointers and Array, pointer and String.pptxPointers and Array, pointer and String.pptx
Pointers and Array, pointer and String.pptx
 
GDSC Google Cloud Study jam Web Bootcamp - Day-4 Session 4
GDSC  Google Cloud Study jam Web Bootcamp - Day-4  Session 4GDSC  Google Cloud Study jam Web Bootcamp - Day-4  Session 4
GDSC Google Cloud Study jam Web Bootcamp - Day-4 Session 4
 

Shadow Warrior 2 and the evolution of the Roadhog Engine, GIC15

  • 1. „Shadow Warrior 2 and the evolution of the Roadhog Engine” Jarosław Pleskot Senior Engine Programmer Flying Wild Hog 2015
  • 2. Presentation overview 1. Introduction 2. The engine evolution a) Level construction pipeline b) Character destruction 3. Foliage system 2.0 a) Architecture b) Storage c) Rendering
  • 3. Shadow Warrior vs Shadow Warrior * both games run on PS4 and XONE, SW was ported to Mac and Linux externally Shadow Warrior Shadow Warrior 2 Production time 18 months total > 2 years Team size 35 50 Engine programmers 2 7 PC Platform differences* PC DX9 32 bit, ported to DX11 32/64 bit PC DX11, 64 bit only Multiplayer - COOP Renderer Light Pre-Pass, nonlinear Deffered, linear, PBR
  • 5. Steps of the evolution Hard Reset (DX9, 32 bit) Shadow Warrior (DX9, 32 bit) Shadow Warrior (32/64 bit DX11/PS4/XONE) Shadow Warrior 2 (64 bit DX11, PS4, XONE) • First version of Roadhog Engine • Light pre-pass renderer • Main + render threads + a few worker threads (Havok, sound, etc) • Foliage system • Mirror • Cutscenes • Animation system extended • SSAO • Skinned decals • Job system introduced • Renderer ported • New platforms • Extensive use of job system • Physically based rendering • Multiplayer • Procedural character destruction • Big change in level pipeline 2011 2013 2014 2016
  • 6. For all FWH games before Shadow Warrior 2 level geometry was constructed mainly outside game editor. • Hard reset: one big mesh + smaller meshes • Shadow Warrior: a few parts of a level (loaded or not) + smaller meshes + foliage • Game editor was simple, focused on gameplay design Level construction pipeline
  • 7. Level construction pipeline • Shadow Warrior 2 has randomized maps • Four levels of randomization: • large scale randomization: level blocks connected together with special parts (connectors) + background blocks • small scale randomization : ability to change/hide/show parts of a block • random interiors • random weather
  • 8. Level construction pipeline • Now level construction is done in the game editor • A lot of new features added including: • Terrain system(meshes creation+painting) • Geometry brush (simple meshes) • Wire modifier (static meshes deformation) • Scaling support
  • 9. Character destruction Hard Reset: • ragdoll breaking • swapping chunks • spawning character parts as static meshes • swapping textures „Hard Reset – Case Study”, Tomasz Baran, 2012
  • 10. Character destruction Hard Reset: + fast + low memory cost - limited to noncontinues meshes (robots) - predefined places of destruction
  • 11. Character destruction Shadow Warrior: • ragdoll breaking with skinned mesh cloning • character is made of parts (standard, gore, skeleton) • spawning character parts as static meshes • skinned decals
  • 12. Character destruction Shadow Warrior: + excellent quality of meshes + low CPU time cost - a lot of work for character artists - predefined places of cuts
  • 13. Character destruction Shadow Warrior 2: • real-time procedural character splitting (mesh+ragdoll) • holes • spawning parts as static meshes • material modifiers • skinned decals YOUTUBE: Shadow Warrior 2 - 15 Glorious Minutes of Gameplay [E3 2015]
  • 14. Character destruction Shadow Warrior 2: + unique cuts + less work for artists - more memory, splitting time - some constraints for artists Still under development look for future presentations for details
  • 16. Foliage system before SW2 • Levels in Shadow Warrior created in 3dsmax • Spawn meshes technique invented * Spawn meshes – meshes with relative foliage density stored as vertex color * „The Techonology behind Shadow Warrior”, Jarosław Pleskot, 2014
  • 17. Foliage system 2.0 – requirements • Denser foliage • Levels created in game editor • Random level generation (level blocks, predefined parts of a block changed) Must reinvent the foliage system! Use (spatially) bigger meshes and reduce an instance size to lower the gather time
  • 18. Foliage system 2.0 – architecture • Main classes: • Foliage Area • Foliage Layer • Foliage Palette • Foliage Set • Foliage Element
  • 19. Foliage system 2.0 – layers • Foliage layer - contains instance transformations in local space • One Foliage Layer per gameobject with foliage painted • Objects can be moved, rotated, scaled in editor, foliage will be updated properly Foliage Area Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”…
  • 20. Foliage system 2.0 – layers • On level start we build foliage grid using foliage layers of all created objects (random levels) Foliage Area Foliage Layer „A” Foliage Layer „B” Foliage Layer „N”… World Placeable „A” Placeable „B” Placeable „N”…
  • 21. Foliage system 2.0 – layers • A foliage layer stores full FP32 positions and FP16 normals together with coloring values, set ids and seeds for a random number generator • Foliage can be blocked in some areas using foliage blockers (eg. don’t want foliage under a randomly placed fountain) • 100-200 layers per level block used • Artist can change brush parameters without repainting the layer
  • 22. Foliage system 2.0 – palette • Painting using Foliage Set (Brush) • One set can contain many elements • Each element can specify many meshes and painting properties for all meshes in the element Foliage Palette Foliage Set „A” Foliage Element 1 Foliage Element N … Foliage Set „N” Foliage Element 1 Foliage Element N … …
  • 23. Foliage system 2.0 – palette editor
  • 24. Foliage system 2.0 – painting • Density counted for every set individually • Can erase instances of a single set or all of them at once • Painting on translucents as an option (e.g. over/under water) • Angle limit (eg. painting the stairs)
  • 25. Foliage system 2.0 – coloring • Constant or background color mode • Can randomize color in HSL space • Can blend out coloring using object space Z coord and multiplier
  • 26. Foliage system 2.0 – grids • Multi resolution grids (2 levels: 4x4 and 64x64 meters, one grid per batch) in Shadow Warrior DX11
  • 27. Foliage system 2.0 – storage (grid) • Now more batches used and visibility test used for foliage (software Z buffer visibility) • One grid per batch changed to one grid for all batches to reduce grid total traverse time and to evade redundant visibility tests
  • 28. Foliage system 2.0 – storage Instance size reduced from 32 to 16 bytes struct SObject { Half4 m_plane0; // 8 Half4 m_plane1; // 16 Half4 m_plane2; // 24 Vec3Packed64 m_position;// 32 }; struct SObject { Half4 m_euler; // 8 Int16 m_worldZ; // 10 UInt8 m_localX; // 11 UInt8 m_localY; // 12 UInt32 m_coloring; // 16 };
  • 29. Foliage system 2.0 – storage • Rotation stored as FP16 euler angles • XY position relative to node corner • Z in worldspace • Position resolution ~1,6 cm, min/max Z = ±512 m • Size generated at runtime • Batch and LoD index in m_euler.W struct SObject { Half4 m_euler; // 8 Int16 m_worldZ; // 10 UInt8 m_localX; // 11 UInt8 m_localY; // 12 UInt32 m_coloring; // 16 };
  • 30. Foliage system 2.0 – imposters Imposter system was created for static meshes • Diffuse + normal maps • Many angles Adopted for the foliage system: • Yaw only rotation • Sharpening • Background color
  • 31. Foliage system 2.0 – imposters • Enabled by default • From 1 to 16 angles, default 4 • 3 texture sizes, default 128 (size == bigger dimension of single image, power of 2) • Range ratio, default 0.5 (?) • Generation background color • Sharpening option
  • 32. Foliage system 2.0 – imposters meshes 100 % imposters, 100 % imposters, 20 %Level of detail: • 3 stages for high and ultra setting, • 2 stages for low setting (20% of instances) • Dissolve between stages
  • 33. Foliage system 2.0 – imposters OFF
  • 34. Foliage system 2.0 – imposters ON
  • 35. Foliage system 2.0 – terrain • Foliage is usually placed on the terrain • Editing the terrain must update the foliage • When painting we get positions and normals from g-buffer • When updating terrain they are recaluclated from heightmap
  • 36. Foliage system 2.0 – backend OFF• Traversing grid and gathering data for a renderer using one separate job, many arrays of vertices copied to a single dynamic VB / passed to imposter system • Rendering: - main G-Buffer pass - directional shadowmap pass - ids for picking, editor only
  • 37. Foliage system 2.0 – to do list • Coloring on imposters • Dedicated instancing vertex format • Reaction to the passing characters ? Movies 1. https://youtu.be/hFz5OAVFSC8 2. https://youtu.be/SkEJ7ox2c8w
  • 38. Acknowledgment Łukasz Zdunowski – Lead Artist Zbigniew Siatecki – Senior Environment Artist Marcin Sapiejewski – Senior Environment Artist Przemysław Witkowski – 3D/Engine Programmer Artur Maksara - Producer + our entire team and GIC staff.
  • 39. Thank you for your attention Questions? Contact: Email: jarek.pleskot AT flyingwildhog.com Twitter: @JaroslawPleskot Facebook: Jarosław Pleskot