simulation engines tda571 dit030 course introduction
play

Simulation Engines TDA571|DIT030 Course Introduction Tommaso - PowerPoint PPT Presentation

Simulation Engines TDA571|DIT030 Course Introduction Tommaso Piazza 1 The Course in brief Develop an interactive simulation engine Focus on software engineering Not just game programming Use the paradigm that the engine acts as


  1. Simulation Engines TDA571|DIT030 Course Introduction Tommaso Piazza 1

  2. The Course in brief  Develop an interactive simulation engine  Focus on software engineering  Not just game programming  Use the paradigm that the engine acts as middleware IDC | Interaction Design Collegium 2

  3. Learning Outcomes Understand the typical structure of simulation engines and the  requirements of specific parts of such engines Understand which public libraries and programs can be  combined with simulation engines to provide the required functionality of an interactive simulation Analyze existing simulation engines to determine functionality  and extendibility Plan several parallel extensions of a simulation engine while  minimizing dependencies Extend existing simulation engines to augment functionality  while maintaining stability and having predictable consequences on resource use Present extensions of a simulation engine through  demonstrators and public presentations IDC | Interaction Design Collegium 3

  4. Course Rationale  The games industry grows at a tremendous rate  Bigger than Hollywood  Large demand on software engineers with formal education in games programming  Modern game development requires good software engineering skills and no longer allows for the old “hacking” styles  Technical complement to the course “Game Design” IDC | Interaction Design Collegium 4

  5. Teachers Involved  Main teacher & Supervisor  Tommaso Piazza  piazza@chalmers.se  Examinator  Staffan Björk  Programme Manager  Olof Torgersson IDC | Interaction Design Collegium 5

  6. Administrative Stuff  Roll call  Fill in the form handed out  Student representatives  3 people  All information about the course in available on the course webpage  http://www.cs.chalmers.se/idc/ituniv/kurser/09/simul/  Check the webpage frequently! IDC | Interaction Design Collegium 6

  7. Grading Information  Examination in this course consists of a group project . The course has no written exam  A passing grade requires the following:  An approved written suggestion for an individual extension of the simulation engine  A passing grade on your group's project report  A passing grade on your group's project presentation  A passing grade on your personal project report  A verbal presentation of a course subject  The course is divided in two parts. One part is 2 points and represents each student's individual effort and the other is 3 points and represents the project group's collaborative effort. Possible grades are failure, 3, 4 and 5 at Chalmers or U, G and VG at Göteborgs Universitet. Grading is individual and is based on the above mentioned subjects as well as the project supervisor's judgement. IDC | Interaction Design Collegium 7

  8. Important Dates  Mon, 2 Nov 24.00  Extension suggestions should be handed in to project supervisors  Mon, 9 Nov  Approval of extension suggestions  Week 2-7  Individual presentations of themes from project members  Mon, 11 Jan 24.00  Group reports and individual reports should be handed in  Exam week  Project presentations  Failing to keep a deadline without a proper explanation in good time before the deadline will result in a failing grade! IDC | Interaction Design Collegium 8

  9. Game Engines GameBryo IDC | Interaction Design Collegium 9

  10. Example: Quake & Doom Engine  Developed by ID software  One of the first commercial engines  Games act as advertisement for the engine  Old engines are released as Open Source  Price example for Jedi Knight II  Q3A: $250000 IDC | Interaction Design Collegium 10

  11. Example: Quake & Doom Engine IDC | Interaction Design Collegium 11

  12. Example Unreal Engine  Developed by Epic Games  Multiplatform  Xbox360  PS3  PC  Popular engine  UT07, GoW, Lineage 2, Splinter Cell, BioShock...  Unreal 3 has been used in the development of more than 600 titles IDC | Interaction Design Collegium 12

  13. Example Unreal Engine IDC | Interaction Design Collegium 13

  14. Example Cry Engine  Developed by CryTek  Commercially available  Far Cry 2004  Crysis 2007  Crysis Warhead 2008  Crysis 2 yet to come http://www.crytek.com/ IDC | Interaction Design Collegium 14

  15. Example Cry Engine IDC | Interaction Design Collegium 15

  16. Key features of most engines  Rendering  Animation  Audio  Physics  Scripting  Networking  Cinematics  Editors IDC | Interaction Design Collegium 16

  17. What is a Game Engine?  “ A game engine is the underlying software behind a game. It provides the functionality which is common to all games . A 3D game engine is a game engine that is designed specifically for 3D games (basically, any game that can benefit from a 3D card) ... [it will] provide such functionality as rendering models and worlds, network communications, and interfacing with the player. By using a pre-existing game engine, game developers can skip most of the work that goes into programming a game and instead focus on the content of their particular game .” http://www.gauge3d.org IDC | Interaction Design Collegium 17

  18. Definition of Game Engine  A game engine is a top- down framework of reusable components geared towards computer game development and implementing common concepts and functionality found in most (or all) games for a specific genre IDC | Interaction Design Collegium 18

  19. Definition of Component  A component is an independent unit of deployment with contractually specified interfaces and with explicit context dependencies to other external components only IDC | Interaction Design Collegium 19

  20. Definition of Game Component  A game component system is a bottom-up framework of reusable components geared towards computer game development and implementing common concepts and functionality found in most (or all) games for a specific genre IDC | Interaction Design Collegium 20

  21. Example RenderWare  Game component framework  Open framework  Multiplatform  Interesting architecture  Genre packs IDC | Interaction Design Collegium 21

  22. Simulation Engines Advantages  Simulation engines are a relatively new concept and allow for a few advantages:  Shorter development time  Focus on gameplay.  Performance and stability IDC | Interaction Design Collegium 22

  23. Simulation Engines Disadvantages  Generalized structure:  Monolithic design  Inflexible design  Technical limitations  These can be avoided at least to some degree with well planned software engineering IDC | Interaction Design Collegium 23

  24. Computer Game Components IDC | Interaction Design Collegium 24

  25. Course Focus  Game engines and simulation engines  Not games and simulations  Software engineering for games  Technical knowledge for engine programming  Using existing frameworks and engines  Read, understand and edit external code  Documentation of game engine code  Group work in project form  Present information both to your group and outside of it IDC | Interaction Design Collegium 25

  26. Course Focus  Not focus on:  Game programming  Game design  Computer graphics  The latest in 3D and games  How to get a publisher for your game  How to start a games company  C++ programming  Software engineering  But it might contain bits and pieces of all of these things IDC | Interaction Design Collegium 26

  27. Course Contents  Introduction to simulation engines and practical information  Software engineering , architecture and design  Multimedia and scenegraphs  3D graphics  AI and network  Physics  Input and collision detections , misc.  Project demos:  Project  Deliveries  Extension suggestion, group project repot, individual report  Demonstrations  Extension demonstration, project demonstration  No written exam IDC | Interaction Design Collegium 27

  28. Course Contents, cont.  One theme each week  Two lectures per week (mostly)  Monday 10-12  Wednesday 10-12  One hour mandatory meeting for every group  Mondays or Wednesdays 13.00-17.00  Mandatory presentation each week IDC | Interaction Design Collegium 28

  29. Course Contents, cont.  In the course, we want our developed simulation engines to be:  Object oriented  Component based  General  Extendable  Effective IDC | Interaction Design Collegium 29

  30. Simulation Engine or Game Engine?  For the duration of this course, “Simulation engines” and “Game engines” are synonymous  “Game engine” will refer to middleware that can be used both for simulations and games IDC | Interaction Design Collegium 30

  31. Example America’s Army  Financed by the US military  Two purposes:  Training platform for group-based units  Advertisement to recruit new soldiers  Uses the Unreal engine IDC | Interaction Design Collegium 31

Recommend


More recommend