Se ha denunciado esta presentación.
Senior software engineer穆道聖2012.1.4                           1
   About Me   History of 3D Game Engine   Game Platforms   3D Engine Architecture   Cross-platform Solution   Discus...
   Development experience in 3D cross-    platform engine     PC     PSP     Web                                      ...
   Why we need game engine?     Reusability     Accumulate existing know-how     High production                      ...
   RAGE           5
   id Software     John Romero     John Carmack                     6
   id Software     John Romero     John Carmack                     7
   id Software     SoftDisk      ▪ Port games from Apple to PC      ▪ PC ver. Mario     Founded id Software in 1991. 2 ...
   Mid-1990s: Id tech engine series     id Tech 1 – Doom, Doom II       ▪ BSP       ▪ PVS       ▪ LAN, Deathmatch     i...
 id Tech 4 – Doom III, Quake IV  ▪ C++ based  ▪ Physics  ▪ Shader model  ▪ Per-pixel lighting  ▪ Bump mapping  ▪ Skeletal...
11
12
   Unreal Engine: 1998     Unreal Engine 1      ▪ Object-oriented      ▪ Real-time, visual toolset      ▪ Script languag...
   Unreal Engine: 1998     Unreal Engine 3      ▪ HDRR, per-pixel lighting and dynamic shadows      ▪ Windows, Xbox 360,...
15
• PS3Console      • XBOX 360             • Wii                     • Windows          Desktop    • Linux                  ...
17
Target platform?Tools pipeline?Programming language?Game design?Reach or Rich?                        18
Decide           Scene                     Render   Materialmodel                 Draw surface         management         ...
20
   As possible as minimize draw surface     View frustum culling                                           21
   As possible as minimize draw surface     Tree hierarchy      ▪ BSP      ▪ Quad-Tree      ▪ Oct-Tree      ▪ KD-Tree   ...
23
   As possible as minimize draw surface     Preprocess visibility determination                                         ...
25
   As possible as minimize draw surface     Preprocess visibility determination                                         ...
Vertex         Index   buffer         bufferMaterial• Texture        Execute• Render state   draw call• Shader            ...
   Different platform provides different render    API     DirectX     OpenGL     OpenGL ES     Customized API       ...
   Call of Duty: Modern Warfare 3                                     29
   Core technology of Graphics     Lighting     Shadow     Texturing     Skin animation     etc…                    ...
   Algorithm                31
   Artifact Resolution                          32
   Parallel-Split Shadow Maps                                 33
   Parallel-Split Shadow Maps                                 34
35
36
37
   Deferred Rendering                         38
39
40
41
42
Platform     Non-platform-dependency codes                 dependency                                                     ...
   Unity     Microsoft Windows , Mac OS X, Xbox 360,      PlayStation 3, Wii, iPad, iPhone, Android, Web      browser   ...
45
   Tools pipeline   Engine development cost   What is your product                              46
Thank you for attending                          47
Próxima SlideShare
Cargando en…5
×

Design your 3d game engine

6.576 visualizaciones

Publicado el

Talk about how to develop a cross-platform game engine

Design your 3d game engine

  1. 1. Senior software engineer穆道聖2012.1.4 1
  2. 2.  About Me History of 3D Game Engine Game Platforms 3D Engine Architecture Cross-platform Solution Discussion Q&A 2
  3. 3.  Development experience in 3D cross- platform engine  PC  PSP  Web 3
  4. 4.  Why we need game engine?  Reusability  Accumulate existing know-how  High production 4
  5. 5.  RAGE 5
  6. 6.  id Software  John Romero  John Carmack 6
  7. 7.  id Software  John Romero  John Carmack 7
  8. 8.  id Software  SoftDisk ▪ Port games from Apple to PC ▪ PC ver. Mario  Founded id Software in 1991. 2 .1  Apogee ▪ Commander Keen ▪ Wolfenstein 3D: texture mapping, perspective projection, raycasting 8
  9. 9.  Mid-1990s: Id tech engine series  id Tech 1 – Doom, Doom II ▪ BSP ▪ PVS ▪ LAN, Deathmatch  id Tech 2 – Quake, Quake II, Half-Life ▪ 3Dfx Voodoo, OpenGL ▪ Colored lighting ▪ Lightmap ▪ WAN  id Tech 3 – Quake III, COD ▪ Fixed-function shader script ▪ Dynamic shadow ▪ Bot 9
  10. 10.  id Tech 4 – Doom III, Quake IV ▪ C++ based ▪ Physics ▪ Shader model ▪ Per-pixel lighting ▪ Bump mapping ▪ Skeletal animation id Tech 5 ▪ Mega texture ▪ Parallax mapping ▪ Motion blur, bloom id Tech 6… 10
  11. 11. 11
  12. 12. 12
  13. 13.  Unreal Engine: 1998  Unreal Engine 1 ▪ Object-oriented ▪ Real-time, visual toolset ▪ Script language ▪ Last major software  Unreal Engine 2 ▪ PS2, Xbox, PC, DirectX7 ▪ Single thread 13
  14. 14.  Unreal Engine: 1998  Unreal Engine 3 ▪ HDRR, per-pixel lighting and dynamic shadows ▪ Windows, Xbox 360, PlayStation 3, Linux, Mac OS X, iOS, Android, and Adobe Flash Player 11 ▪ DirectX9 ▪ Multithreading ▪ Advance physics ▪ Virtual tools 14
  15. 15. 15
  16. 16. • PS3Console • XBOX 360 • Wii • Windows Desktop • Linux • Mac OSX • NDS, N3DS Handheld • PSP, Vita Device • iPhone/iPad • Android devices • IE: ActiveX WebBrowser • Chrome, Firefox, Safari…: NPAPI 16
  17. 17. 17
  18. 18. Target platform?Tools pipeline?Programming language?Game design?Reach or Rich? 18
  19. 19. Decide Scene Render Materialmodel Draw surface management module systemformat 19
  20. 20. 20
  21. 21.  As possible as minimize draw surface  View frustum culling 21
  22. 22.  As possible as minimize draw surface  Tree hierarchy ▪ BSP ▪ Quad-Tree ▪ Oct-Tree ▪ KD-Tree 22
  23. 23. 23
  24. 24.  As possible as minimize draw surface  Preprocess visibility determination 24
  25. 25. 25
  26. 26.  As possible as minimize draw surface  Preprocess visibility determination 26
  27. 27. Vertex Index buffer bufferMaterial• Texture Execute• Render state draw call• Shader 27
  28. 28.  Different platform provides different render API  DirectX  OpenGL  OpenGL ES  Customized API 28
  29. 29.  Call of Duty: Modern Warfare 3 29
  30. 30.  Core technology of Graphics  Lighting  Shadow  Texturing  Skin animation  etc… 30
  31. 31.  Algorithm 31
  32. 32.  Artifact Resolution 32
  33. 33.  Parallel-Split Shadow Maps 33
  34. 34.  Parallel-Split Shadow Maps 34
  35. 35. 35
  36. 36. 36
  37. 37. 37
  38. 38.  Deferred Rendering 38
  39. 39. 39
  40. 40. 40
  41. 41. 41
  42. 42. 42
  43. 43. Platform Non-platform-dependency codes dependency codes Abstract layer Software SceneRender Layer Game Logic development Manager kit 43
  44. 44.  Unity  Microsoft Windows , Mac OS X, Xbox 360, PlayStation 3, Wii, iPad, iPhone, Android, Web browser  Future: Flash, Google Native Client, Linux, Roku2  5000 USD 44
  45. 45. 45
  46. 46.  Tools pipeline Engine development cost What is your product 46
  47. 47. Thank you for attending 47

×