mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993...
Transcript of mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993...
![Page 1: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/1.jpg)
Game ToolsMARY BETH KERY - ADVANCED USER INTERFACES SPRING 2017
![Page 2: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/2.jpg)
![Page 3: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/3.jpg)
2 person team3 years
![Page 4: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/4.jpg)
300 person team10 years
Final Fantasy 15
ARTGAME DESIGNENGINEERING
PRODUCTION/BUSINESS
![Page 5: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/5.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
1. Video games are real time complex simulations, and must be efficient.
![Page 6: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/6.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
1. Video games are real time complex simulations, and must be efficient.
1999 Roller Coaster Tycoon written by one guy in x86 assembly language
![Page 7: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/7.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
1. Video games are real time complex simulations, and must be efficient.
Today, more flexibility in language
Typically Object-Oriented
Use development tools like Visual Studio or Eclipse
![Page 8: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/8.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
2. People have high expectations for interactive worlds with lots of content
![Page 9: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/9.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
2. People have high expectations for interactive worlds with lots of content
Lots of content on tight deadlines.
Glitches and crashes are BAD.
![Page 10: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/10.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
3. Real time 3D graphics simulations
Doom 1993Levels, dungeons, and rooms were not only for game pacing, but to limit the number of objects to compute and render at a time.
![Page 11: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/11.jpg)
TECHNICAL CHALLENGES OF VIDEO GAMES
3. Real time 3D graphics simulations
2016 graphics
Pixar - Piper Final Fantasy 15
![Page 12: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/12.jpg)
Gregory, Jason. Game engine architecture. CRC Press, 2009.
![Page 13: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/13.jpg)
Game EnginesTools that fit the pieces together
![Page 14: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/14.jpg)
Game Engine
![Page 15: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/15.jpg)
GAME ENGINES: HISTORY1990s First-person shooters: Doom by id Software
![Page 16: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/16.jpg)
GAME ENGINES: HISTORYArchitecture separates core software from game-
specific assets
Art assets
Game map/environments
Rules of play
3D graphics rendering
Collision detection
Audio system
ASSETS “ENGINE” SOFTWARE
![Page 17: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/17.jpg)
GAME ENGINES: HISTORY1990’s Separation of game engine allowed “mods”
by replacing assets
Art assets
Game map/environments
Rules of play
3D graphics rendering
Collision detection
Audio system
ASSETS “ENGINE” SOFTWARE
Not okay mod.
![Page 18: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/18.jpg)
Unreal Engine: A full industry-grade development environment (advanced tool)
![Page 19: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/19.jpg)
Unity: A full development environment (advanced tool)
![Page 20: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/20.jpg)
A game engine has a data driven architecture that can be used to make many games
That dragon cancer
Clockwork
Gardenarium
![Page 21: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/21.jpg)
Art assets & animation
Graphics
Physics engines
Game loop
![Page 22: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/22.jpg)
Art assets & animation
Graphics
Physics engines
Game loop
![Page 23: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/23.jpg)
Art to gameWorkflow of artists with tools and
the game engine
![Page 24: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/24.jpg)
![Page 25: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/25.jpg)
Photo or drawing
The Final Fantasy 15 team cooked food and then photographed it as reference material for 3D modelers and shaders.
![Page 26: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/26.jpg)
3D Scanning or image tracing
The Final Fantasy 15 team scanned their food and photographed it
Modelers use reference drawings from different angles
![Page 27: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/27.jpg)
Modeling Software
Final in-game model.model in progress
![Page 28: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/28.jpg)
Textures and Shading
Final in-game model.
![Page 29: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/29.jpg)
Back to the game Unreal Engine place objects in scene with map editor
![Page 30: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/30.jpg)
Visual programming languages allow animations, materials, and shaders to be written by artists
In the game engine
![Page 31: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/31.jpg)
Visual programming languages allow animations, materials, and shaders to be written by artists
In the game engine
![Page 32: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/32.jpg)
Visual programming languages allow animations, materials, and shaders to be written by artists
In the game engine
![Page 33: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/33.jpg)
Art assets & animation
Graphics
Physics engines
Game loop
![Page 34: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/34.jpg)
Shaders = VERY TECHNICAL
![Page 35: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/35.jpg)
Technical Graphics Tools
Open GL has bindings in lots of different languages
Powerful, but not easy to learn.
Some language bindings are more learner-friendly than others
![Page 36: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/36.jpg)
Technical Graphics – eyes
Full refraction at cornea
No refraction at cornea
![Page 37: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/37.jpg)
Technical Graphics – hair
Process of modeling and rendering character Lunafreya’s hair from Final Fantasy 15x
![Page 38: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/38.jpg)
Graphics – Updating the Screen
Must be efficient!
The screen must be updated every frame, at 30fps to 60fps. Rendering and shaders are computationally expensive!
![Page 39: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/39.jpg)
Graphics – Updating the ScreenOcclusion culling problem: don’t render hidden objects
Frustum culling: test if an object intersects with the frustum.
Portals: designers manually place simple primitives around chunks of the game world. The portals are invisible but cheap to test intersection on.
![Page 40: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/40.jpg)
Graphics – Updating the ScreenOcclusion culling problem: don’t render hidden objects
Frustum culling: test if an object intersects with the frustum.
Portals: designers manually place simple primitives around chunks of the game world. The portals are invisible but cheap to test intersection on.
![Page 41: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/41.jpg)
Graphics – Updating the ScreenPVS: Potential visibility set precomputed. Very efficient for small environments. PVS is submitted to the renderer and items in the set are tested to make sure they are indeed visibleBad: storage costs
![Page 42: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/42.jpg)
Art assets & animation
Graphics
Physics engines
Game loop
![Page 43: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/43.jpg)
PhysicsPhysics engines and tools
![Page 44: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/44.jpg)
PhysicsUnity or Unreal game engines have basic built-in libraries.
![Page 45: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/45.jpg)
Physics enginesCalculate on-the-fly physics simulations, optimized for a game environment.
Hard-body physics, Havok Physics EngineSoft-body physics, CryEngine Physics Engine
![Page 46: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/46.jpg)
Physics enginesSDKs with visual debuggers that allow you to run physics simulations on your object to test your code
![Page 47: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/47.jpg)
Dynamic animationEuphoria by Natural Motion encodes lots of information about human muscles, bones, and nerves to dynamically create realistic character movement like falls.
![Page 48: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/48.jpg)
Dynamic animationNatural Motion editor with visual programming.
![Page 49: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/49.jpg)
Art assets & animation
Graphics engines
Physics engines
Game loop
![Page 50: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/50.jpg)
Game loop
render scene
update player health
update monster health
physics engine
sound effects
Heads-up-display
![Page 51: mbk-Game Engine Lecturebam/uicourse/830spring17/...Real time 3D graphics simulations Doom 1993 Levels, dungeons, and rooms were not only for game pacing, but to limit the number of](https://reader036.fdocuments.us/reader036/viewer/2022071211/6023afb26c61f951e13cd218/html5/thumbnails/51.jpg)
Thank you!Questions?