SlideShare a Scribd company logo
1 of 78
Project Neema
Deferred
                Lighting



S.T.A.L.K.E.R


                 Killzone 2
Technique
• Render all lights to a light buffer
• Apply the light buffer on the back buffer
• MRT
   – Depth
   – Normal
   – Specular
Flash
• We do not have MRT
  – Must use a single 8-bit texture

  – Normal and depth encoding
Flash
• Stencil optimization is important




             http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf




• Stencil testing is also available in Flash 11
Technique Overhead
– Render all object with encoding
– Render two sphere for each light
Shadow
    Mapping

                     • KillZone 2




• Assassin’s creed
In Flash?
• context3d.setRenderToTexture( DistanceFromLight, aUseDepth,aAliasing);
• context3d.clear()
• Render scene from directional light and write depth

• context3d.setRenderToBackBuffer();
• context3d.setTextureAt(0, DistanceFromLight);
• Render scene, compare depth and apply shadow
Finding Next-Gen CryEngine2
                                    [Siggraph07]




GPU Gems Convolution Blur
Cascade Shadow Map
•   Screen 4 écrans
Cascade Shadow Map
•   Screen 4 écrans
Cascade Shadow Map
•   Screen 4 écrans
Cascade Shadow Map
_context3D.setScissorRectangle(new Rectangle(300, 100, 360, 240));
Screen Space Ambient Occlusion
•   Requirement
     –   Depth


•   Technique
     –   Sample multiple times from depth
     –   Determine which pixels are occluded
SSAO Comparison

     200 Instructions 163 Instructions



      Technique 1     Technique 2
                      0.120 ms slower
Triplanar Texturing
•   Nvidia
•   Tiled UV based on vertex position for each axis
•   Albedo and normal
Triplanar Texturing


                          Z



X

             Y
Triplanar Projection




                       Simple UV Unwrap
Flash
• Shader with a lot of instructions
• Lots of sampling

• GT8600:           3 ms
• Radeon HD 2400: 1.2 ms
2D UI
Interface
•   Pro
     – It’s native!
     – Toolset
     – Multithreaded rasterizer?


• Cons
     – Not GPU-accelerated.

     – Image in game interface
++2D UI
•   Complementing Flash 11 3D
•   Technique
     – Projecting 2D elements in the scene
     – Keeping mouse events
     – Keeping vector animations and blends
     – Native text rendering
     – Game design & art helper tools
     – Easy to integrate, debug Minimal Components

•   Result in Flash
     – Final
Helpers
Helpers
• (In-game image/video)
Flash CPU
• Why
  – Single-threaded


• How
  – Azoth
        • Easy to debug (Breakpoints)


• What
  – Scene partitioning
  – Particle transformation
Alchemy
• Alchemy allows C and C++ code to run in the ActionScript
  Virtual Machine (AVM2).
• The C/C++ code is converted to AS3 using a special compiler,
  and then built into a SWC.
• This enables the porting of several existing solid and proven
  libraries.
• The compiler also performs a lot of optimization to make the
  code run faster by using fast memory access.
Alchemy Flow
What is Bullet
• Physics engine
• Simple
   –   Dynamic and static volume and mesh
   –   Apply force and impulse
   –   Generate collision callback
   –   Character controller
• But also
   – Dynamic constraint
   – Clothing
   – More…
Bullet Physics
• Open Source
• Who uses Bullet?
          Games              Movies    Software
    Grand Theft Auto IV     Megamind    Blender
   Red Dead Redemption        Bolt     Softimage
        Free Realms           2012      Irrlicht
Recast Navigation
Recast Navigation
Detour / Detour Crowd
• Detour is a pathfinding system
• It use Recast’s navigation mesh
• It Manages collision, avoidance, separation, etc.
Pyro
What is Pyro
• It’s user friendly
• It manage properties such as:
   – Life, number, size, velocity, weight, spin, motion rand
   – Wind, Angular velocity, attraction, zoom, visibility, tint
   – Sub-Emiters and a lot more!
• Support variation over time of properties
• « Per title » License
Pyro
• (In-game image/video)
From Flash to Flash 3D
• There is no such thing as Display List Management
• There is no time line
    –   No clip animation
    –   No script on frames
    –   No label and dispatch
    –   No gotoAndPlay()
• No library
    – No exported symbol
    – No centralized asset list


• Testing collision is a bit more difficult than the DisplayObject.HitTest()
From Flash to Flash3D
• Several 3D frameworks already exist for Flash 11:
    –   Alternativa
    –   Minko
    –   Flare3D
    –   Away3D
    –   Yogurt3D
    –   Frima Icefield.


• There are also several existing Flash helpers (Flash.MathUtils, Flash.Math.Utils3d)
• Concepts you will need to learn:
    – 3D space coordinates
    – Object transformation using Matrix3D and Vector3D
    – Shaders open new door to wonderful effects
From 3D to Flash 3D
• FP11 targets desktops, tablets and mobiles!
   – API limited to OpenGL ES 2.0 definition
   – Limit of 200 shader instructions
   – Limited shader instructions (no branching, no MAD, etc.)
• Overhead on Change Target (20%)
   – Auto MipMapping
   – Loss of depth
• Anti-aliasing only on BackBuffer
• Only support 8-bit textures (HDR)
• No MRT
From Anyone to Flash3D
•   Single-threaded
•   No mouse lock (FPS)
•   Limited keyboard in fullscreen
•   Streamable content (Web-based)
    –   Files download weight
    –   Load only when needed
    –   Limited browser cache
    –   Async resource loading
• Can use the regular Flash 2D interfaces
Tech Demo Reel
• Show all interesting elements
• Very short video of each
• “Epic music”
You might ask
• Why not using Unity ?

• What about HTML5 ?
• Alchemy is still beta, would you consider
  using it in production?
• Are you single ?
Contacts
• Jean-Philippe Doiron
  – jpd@frimastudio.com
  – @jphildoiron

• Jean-Philippe Auclair
  – jpauclair@frimastudio.com
  – @jpauclair
  – jpauclair.net
References
•   http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf
•   http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter09.html
•   http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html
•   http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
Turn in your surveys for a chance to WIN!
• Hand in your surveys to the room
  monitors

• One survey per session will be selected
  as a winner of an Adobe Press e-book or
  Video
   Introduction to Adobe Edge
   Web Design with Muse (code name) from
   Adobe
   Android App Development and Design:
   Learn by Video

• Winners will be notified via e-mail at the
  end of each day

More Related Content

What's hot

Optimization in Unity: simple tips for developing with "no surprises" / Anton...
Optimization in Unity: simple tips for developing with "no surprises" / Anton...Optimization in Unity: simple tips for developing with "no surprises" / Anton...
Optimization in Unity: simple tips for developing with "no surprises" / Anton...DevGAMM Conference
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsナム-Nam Nguyễn
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicschangehee lee
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation VitaSlide_N
 
Optimizing Large Scenes in Unity
Optimizing Large Scenes in UnityOptimizing Large Scenes in Unity
Optimizing Large Scenes in UnityNoam Gat
 
Mobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphMobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphJP Lee
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glchangehee lee
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスTakashi Imagire
 
Writing 3D Applications Using ruby-processing
Writing 3D Applications Using ruby-processingWriting 3D Applications Using ruby-processing
Writing 3D Applications Using ruby-processingPreston Lee
 
Windows game development with Unity 5
Windows game development with Unity 5Windows game development with Unity 5
Windows game development with Unity 5Jiri Danihelka
 
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray TracingSyysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray TracingElectronic Arts / DICE
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis CataldiUnreal Engine
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
 
Development and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineDevelopment and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineVinicius Vecchi
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiLuis Cataldi
 
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
 
Practical Volume Rendering for realtime applications
Practical Volume Rendering for realtime applicationsPractical Volume Rendering for realtime applications
Practical Volume Rendering for realtime applicationsStoyan Nikolov
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来Unite2017Tokyo
 

What's hot (20)

Optimization in Unity: simple tips for developing with "no surprises" / Anton...
Optimization in Unity: simple tips for developing with "no surprises" / Anton...Optimization in Unity: simple tips for developing with "no surprises" / Anton...
Optimization in Unity: simple tips for developing with "no surprises" / Anton...
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 
Cocos2d programming
Cocos2d programmingCocos2d programming
Cocos2d programming
 
Optimizing Large Scenes in Unity
Optimizing Large Scenes in UnityOptimizing Large Scenes in Unity
Optimizing Large Scenes in Unity
 
Mobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphMobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraph
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_gl
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックス
 
Writing 3D Applications Using ruby-processing
Writing 3D Applications Using ruby-processingWriting 3D Applications Using ruby-processing
Writing 3D Applications Using ruby-processing
 
Windows game development with Unity 5
Windows game development with Unity 5Windows game development with Unity 5
Windows game development with Unity 5
 
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray TracingSyysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis Cataldi
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
Development and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal EngineDevelopment and Optimization of GearVR games using Unreal Engine
Development and Optimization of GearVR games using Unreal Engine
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
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
 
Practical Volume Rendering for realtime applications
Practical Volume Rendering for realtime applicationsPractical Volume Rendering for realtime applications
Practical Volume Rendering for realtime applications
 
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
【Unite 2017 Tokyo】Anima2Dについて語るで!2Dアニメーションの未来
 

Similar to Developing Next-Generation Games with Stage3D (Molehill)

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
 
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
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesPooya Eimandar
 
Oculus insight building the best vr aaron davies
Oculus insight building the best vr   aaron daviesOculus insight building the best vr   aaron davies
Oculus insight building the best vr aaron daviesMary Chan
 
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
 
3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)mistercteam
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architectureDhaval Kaneria
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
[Osxdev]metal
[Osxdev]metal[Osxdev]metal
[Osxdev]metalNAVER D2
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
 
Java on the GPU: Where are we now?
Java on the GPU: Where are we now?Java on the GPU: Where are we now?
Java on the GPU: Where are we now?Dmitry Alexandrov
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法Unite2017Tokyo
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法Unity Technologies Japan K.K.
 
CG simple openGL point & line-course 2
CG simple openGL point & line-course 2CG simple openGL point & line-course 2
CG simple openGL point & line-course 2fungfung Chen
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...gamifi.cc
 
Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)Alexander Dolbilov
 
Future Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsFuture Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsElectronic Arts / DICE
 

Similar to Developing Next-Generation Games with Stage3D (Molehill) (20)

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
 
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 ...
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
Oculus insight building the best vr aaron davies
Oculus insight building the best vr   aaron daviesOculus insight building the best vr   aaron davies
Oculus insight building the best vr aaron davies
 
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 ...
 
Cocos2d game programming 2
Cocos2d game programming 2Cocos2d game programming 2
Cocos2d game programming 2
 
3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)3 boyd direct3_d12 (1)
3 boyd direct3_d12 (1)
 
A funtro to real-time ray-tracing
A funtro to real-time ray-tracingA funtro to real-time ray-tracing
A funtro to real-time ray-tracing
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architecture
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
[Osxdev]metal
[Osxdev]metal[Osxdev]metal
[Osxdev]metal
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
Java on the GPU: Where are we now?
Java on the GPU: Where are we now?Java on the GPU: Where are we now?
Java on the GPU: Where are we now?
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
 
CG simple openGL point & line-course 2
CG simple openGL point & line-course 2CG simple openGL point & line-course 2
CG simple openGL point & line-course 2
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)
 
Future Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsFuture Directions for Compute-for-Graphics
Future Directions for Compute-for-Graphics
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Developing Next-Generation Games with Stage3D (Molehill)

  • 1.
  • 2.
  • 3.
  • 5. Deferred Lighting S.T.A.L.K.E.R Killzone 2
  • 6. Technique • Render all lights to a light buffer • Apply the light buffer on the back buffer • MRT – Depth – Normal – Specular
  • 7. Flash • We do not have MRT – Must use a single 8-bit texture – Normal and depth encoding
  • 8. Flash • Stencil optimization is important http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf • Stencil testing is also available in Flash 11
  • 9. Technique Overhead – Render all object with encoding – Render two sphere for each light
  • 10.
  • 11.
  • 12. Shadow Mapping • KillZone 2 • Assassin’s creed
  • 13.
  • 14. In Flash? • context3d.setRenderToTexture( DistanceFromLight, aUseDepth,aAliasing); • context3d.clear() • Render scene from directional light and write depth • context3d.setRenderToBackBuffer(); • context3d.setTextureAt(0, DistanceFromLight); • Render scene, compare depth and apply shadow
  • 15.
  • 16.
  • 17. Finding Next-Gen CryEngine2 [Siggraph07] GPU Gems Convolution Blur
  • 18.
  • 19.
  • 20. Cascade Shadow Map • Screen 4 écrans
  • 21. Cascade Shadow Map • Screen 4 écrans
  • 22. Cascade Shadow Map • Screen 4 écrans
  • 23. Cascade Shadow Map _context3D.setScissorRectangle(new Rectangle(300, 100, 360, 240));
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Screen Space Ambient Occlusion • Requirement – Depth • Technique – Sample multiple times from depth – Determine which pixels are occluded
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. SSAO Comparison 200 Instructions 163 Instructions Technique 1 Technique 2 0.120 ms slower
  • 37.
  • 38.
  • 39.
  • 40. Triplanar Texturing • Nvidia • Tiled UV based on vertex position for each axis • Albedo and normal
  • 42. Triplanar Projection Simple UV Unwrap
  • 43.
  • 44.
  • 45. Flash • Shader with a lot of instructions • Lots of sampling • GT8600: 3 ms • Radeon HD 2400: 1.2 ms
  • 46. 2D UI
  • 47. Interface • Pro – It’s native! – Toolset – Multithreaded rasterizer? • Cons – Not GPU-accelerated. – Image in game interface
  • 48. ++2D UI • Complementing Flash 11 3D • Technique – Projecting 2D elements in the scene – Keeping mouse events – Keeping vector animations and blends – Native text rendering – Game design & art helper tools – Easy to integrate, debug Minimal Components • Result in Flash – Final
  • 49.
  • 50.
  • 53. Flash CPU • Why – Single-threaded • How – Azoth • Easy to debug (Breakpoints) • What – Scene partitioning – Particle transformation
  • 54. Alchemy • Alchemy allows C and C++ code to run in the ActionScript Virtual Machine (AVM2). • The C/C++ code is converted to AS3 using a special compiler, and then built into a SWC. • This enables the porting of several existing solid and proven libraries. • The compiler also performs a lot of optimization to make the code run faster by using fast memory access.
  • 56.
  • 57. What is Bullet • Physics engine • Simple – Dynamic and static volume and mesh – Apply force and impulse – Generate collision callback – Character controller • But also – Dynamic constraint – Clothing – More…
  • 58. Bullet Physics • Open Source • Who uses Bullet? Games Movies Software Grand Theft Auto IV Megamind Blender Red Dead Redemption Bolt Softimage Free Realms 2012 Irrlicht
  • 59.
  • 60.
  • 63.
  • 64. Detour / Detour Crowd • Detour is a pathfinding system • It use Recast’s navigation mesh • It Manages collision, avoidance, separation, etc.
  • 65.
  • 66. Pyro
  • 67. What is Pyro • It’s user friendly • It manage properties such as: – Life, number, size, velocity, weight, spin, motion rand – Wind, Angular velocity, attraction, zoom, visibility, tint – Sub-Emiters and a lot more! • Support variation over time of properties • « Per title » License
  • 68.
  • 70. From Flash to Flash 3D • There is no such thing as Display List Management • There is no time line – No clip animation – No script on frames – No label and dispatch – No gotoAndPlay() • No library – No exported symbol – No centralized asset list • Testing collision is a bit more difficult than the DisplayObject.HitTest()
  • 71. From Flash to Flash3D • Several 3D frameworks already exist for Flash 11: – Alternativa – Minko – Flare3D – Away3D – Yogurt3D – Frima Icefield. • There are also several existing Flash helpers (Flash.MathUtils, Flash.Math.Utils3d) • Concepts you will need to learn: – 3D space coordinates – Object transformation using Matrix3D and Vector3D – Shaders open new door to wonderful effects
  • 72. From 3D to Flash 3D • FP11 targets desktops, tablets and mobiles! – API limited to OpenGL ES 2.0 definition – Limit of 200 shader instructions – Limited shader instructions (no branching, no MAD, etc.) • Overhead on Change Target (20%) – Auto MipMapping – Loss of depth • Anti-aliasing only on BackBuffer • Only support 8-bit textures (HDR) • No MRT
  • 73. From Anyone to Flash3D • Single-threaded • No mouse lock (FPS) • Limited keyboard in fullscreen • Streamable content (Web-based) – Files download weight – Load only when needed – Limited browser cache – Async resource loading • Can use the regular Flash 2D interfaces
  • 74. Tech Demo Reel • Show all interesting elements • Very short video of each • “Epic music”
  • 75. You might ask • Why not using Unity ? • What about HTML5 ? • Alchemy is still beta, would you consider using it in production? • Are you single ?
  • 76. Contacts • Jean-Philippe Doiron – jpd@frimastudio.com – @jphildoiron • Jean-Philippe Auclair – jpauclair@frimastudio.com – @jpauclair – jpauclair.net
  • 77. References • http://www.guerrilla-games.com/publications/dr_kz2_rsx_dev07.pdf • http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter09.html • http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html • http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
  • 78. Turn in your surveys for a chance to WIN! • Hand in your surveys to the room monitors • One survey per session will be selected as a winner of an Adobe Press e-book or Video Introduction to Adobe Edge Web Design with Muse (code name) from Adobe Android App Development and Design: Learn by Video • Winners will be notified via e-mail at the end of each day

Editor's Notes

  1. This slide will be sent to all speakers as a separate attachment. If you could please include as your final slide in your presentations, this will help get more attendees to respond.