1 / 80

GMNG 4312 –Game Engines

GMNG 4312 –Game Engines. Unit 01: Introduction Alireza Tavakkoli, Ph.D. Objectives. Learn about game development Game Engine Terminologies Game Genres Game Engine Survey. Introduction. A Long Time Ago. Ubiquitous Game Engines!. A Game Engine?. So what is a Game Engine?

stan
Download Presentation

GMNG 4312 –Game Engines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GMNG 4312 –Game Engines Unit 01: Introduction Alireza Tavakkoli, Ph.D.

  2. Objectives • Learn about game development • Game Engine Terminologies • Game Genres • Game Engine Survey

  3. Introduction • A Long Time Ago Ubiquitous Game Engines!

  4. A Game Engine? • So what is a Game Engine? • Reusable Software • Easy to manipulate • Multi-platform • platform independence • Examples?

  5. Basic Game Engine Components • Core Components • Rendering Engine • Collision and Physics engine • Animation System • Audio System • Game World Object Modeler • Artificial Intelligence System • Etc.

  6. What We Cover • Overall Theories • Architecture of industrial grade engines • Game development team organizations • Major game engine sub-systems • Genre-dependent vs. Genre-agnostic systems • Game and Engine boundaries • Practical Systems • Unreal • OGRE • Unity • Tools and Techniques • Logical vs. Physical software architecture • Revision systems and software development environment

  7. Typical Game Development Team

  8. Engineers • Software design and implementation • Runtime Programmers • Engine and Game Itself • Tools Programmers • Offline tools • Example? • Sub-engine system Engineers • AI/Rendering/Physics/etc. • Gameplay • Scripting and gameplay programmers • Lead Engineers • Technical Director (CD) and Chief Technology Officer (CTO)

  9. Artists • “Content is king.” • Concept artists • Technical artists • 3D Modelers • Texture artists • Lighting artists • Animation • Animators • Motion Capture actors • Audio • Sound designers • Voice actors • Composers

  10. Game Designers • Design interactive portion of the player’s experience. • Gameplay • Senior (Macro-level) designers • Overall feel of the game • Story  chapter seq. goals and objectives • Micro-level designers • Each level individually • Geometry • Keypoints and logistics • Etc. • Writers (some can afford it!)

  11. Producers and Other Staff • Producers • Manage the scheduling and HR • Liaisons for financing, legal, marketing, etc. • Other Staff • IT • Marketing • Etc. • Publishers and Studios • Marketing and manufacture of the game title.

  12. What is a Game? • So what is a game? • General Terminology • Monopoly, chess, sports, etc. • In Academia • Game theory • In Digital • 3D images in virtual worlds • Even 2D older versions! • RaphKoster: • ”A game is an interactive experience that provides the player with an increasingly challenging sequence of patterns which he or she learns and eventually masters”.

  13. Video Games as Soft Real-Time Simulations • Soft Real-Time Interactive Agent-based Computer Simulation • Imaginary worlds • Approximation and Simplification of Complex Mathematics • SIMULATION! • Responsive • Use human/player’s input and react to it • INTERACTIVE! • One/more Opponents • Each object is potentially dynamic • AGENT_BASED! • Deadlines • Each action must happen at the time they are supposed to! • SOFT REAL-TIME! • Missed deadlines won’t be catastrophic!

  14. Mathematical Models and Game Loop • Analytical vs. Numerical Models • Analytical • y(t) = ½ g t2+v0t+y0 • Numerical • y(t+Dt)=F(y(t),y’(t),y”(t)) • Can anyone see the difference between these two models? • In Games • Use Numerical models  Each game state from its previous state(s). • Game Loop!

  15. What is a Game Engine • Doom  First Person Shooter  1st Game Engine • Separation between • core software component • rendering, collision detection system • the art assets • Models, objects, gameplay, etc. • Value? • Reusability! • Modability! • Licensing! • Lines between game and engine is often blurry!

  16. What Differentiates Game Engine from Game • Data-driven Architecture • No specific game rules • No object specific rendering • Extensible • Efficiency vs. Extensibility • Trade-offs! • Optimization vs. generalization! Customize for Similar Games Customize for Similar Game Genre Customize for Any Game Genre Just for 1 Game PacMan Hydro Thunder Engine Quake III Unreal Probably Impossible

  17. Engine Difference Across Genres • Similar in All Game Genre • User input • 3D mesh rendering • Powerful audio system • Heads-Up Display (UHD), etc. • Example of a Soft Engine (UNREAL) • First person shooter  Unreal Tournament • 3rd person shooter  Gears of War • Action-adventure  Grimm • Racing Game  Speed Star

  18. Game Genres • First Person Shooters (FPS) • Quake, Unreal Tournament, Half-Life, Counter-Strike, Call of Duty.

  19. Game Genres (continued) • First Person Shooters (FPS) • Slow on-foot roaming • Modern movements • On-foot Locomotion, driving, flying, etc. • Small view level (potentially large) • Possibly vast outdoors as well • Most technologically challenging! • Why? • Immersion in virtual reality! • Technologies: • Efficient 3D rendering • Responsive camera control • High fidelity animation • Hand held weaponry • Forgiving character collision models (floaty) • High fidelity AI • Small scale multiplayer

  20. Game Genres (continued) • First Person Shooters (FPS) • Adapting to large scale maps • Binary Space partitioning

  21. Game Genres (continued) • Third Person Shooters (FPS) • Space Panic, Donkey Kong, Pitfall, Super Mario Brothers!

  22. Game Genres (continued) • Third Person Shooters (FPS) • Can be 3D like Super Mario 64 and Galaxy!

  23. Game Genres (continued) • Third Person Action/Adventure(FPA) • Ghost Recon, Gears of war, Uncharted: Drake’s Fortune

  24. Game Genres (continued) • Third Person vs. First Person • More emphasis on character body, animation, locomotion • More fidelity in player character animation • What about online multiplayer FSPs? • Third Person Technologies: • Moving platforms and geometry • Puzzles • Follow camera • Complex camera collision system • Never clip through background geometry and foreground objects

  25. Game Genres (continued) • Fighting Games • Two player humanoids like Tekken, Soul Calibur, etc.

  26. Game Genres (continued) • Fighting Games • Two player humanoids like Tekken, Soul Calibur, etc. • Technologies • Fighting animations • Accurate hit detection • Complex user input systems • Crowds; typically static backgrounds with semi-random movements • Close-up cameras: • Little or no world subdivision and occlusion culling • However!

  27. Game Genres (continued) • Fighting Games • State-of-the-art like Fight Night • Technologies • Fighting animations • Accurate hit detection • Complex user input systems • Crowds; typically static backgrounds with semi-random movements • Close-up cameras: • Little or no world subdivision and occlusion culling • However!

  28. Game Genres (continued) • Fighting Games • State-of-the-art like Fight Night • Technologies • High definition character graphics • Realistic skin, hairs, subsurface scatter, sweat effects, etc. • High fidelity character animation • Physics based cloth and hair simulation

  29. Game Genres (continued) • Racing Games • Driving vehicles  Race! • Simulation  Realistic experience! • Technologies

  30. Game Genres (continued) • Racing Games • Driving vehicles  Race! • Simulation  Realistic experience! • Technologies • Tricks in rendering distant background! • Breaking down tracks into 2D regions • Optimized for pathfinding, AI, etc. • FPS or TPS cameras • Efficient collision resolution for cameras in tight spaces. • Tunnels, etc.

  31. Game Genres (continued) • Real-Time Strategy (RTS) • Dune II The first in this genre. • Warcraft, Age of Empires, Command and Conquer!

  32. Game Genres (continued) • Real-Time Strategy (RTS) • Dune II The first in this genre. • Warcraft, Age of Empires, Command and Conquer! • Technologies • Oblique cameras! • No viewer camera modification • Various optimizations in rendering. • Grid-base world construction • Simplified rendering • Relatively low-res units • Height-field terrain maps • User terrain modifications • Simple user interactions

  33. Game Genres (continued) • Massively Multiplayer Online(MMO) • World of Warcraft, Star Wars Galaxies, etc. • Huge number of simultaneous players!

  34. Game Genres (continued) • Massively Multiplayer Online(MMO) • One persistent large map! • A world larger than life (of its millions of logged users) • Subcategories • Role-playing • (Dream Of Mirror Online) • Real-time strategy • (Battle Forge) • First Person Shooter • (Sudden Attack) and (Soldier Front)

  35. Game Genres (continued) • Massively Multiplayer Online(MMO) • One persistent large map! • A world larger than life (of its millions of logged users) • Technologies • Massive battery of dedicated servers • Authorative state of the game • User logging • Inter-user chat VoIP • User transactions and account management • User subscriptions • Monthly charge • Pay per play • In game cost • What about graphics Fidelity?

  36. Game Genres (continued) • Other Genres? • Sports • Role Playing Games • God games • Environment/Social Simulations • Puzzles • Non-electronic • Web-based • Serious games • …….

  37. Game Engine Survey • The Quake Family • First 3D FPS ?  3DW • Doom  Quake  Quake 2  Quake 3 • Quake Engine has been used for many games • Quake2  Sin  FAKK 2  Medal of Honor • Valve’s Source Engine is based on Quake Tech. • Who wants to get the source code and play with it? • You can run the game in MSVS and debug! • What does that mean?

  38. Game Engine Survey • The Unreal Family • Epic Games Inc.  Unreal Tournament! • Unreal Engine 2  Unreal Tournament 2004 • Highly modable • Unreal Engine 3  The most powerful toolset in the industry • Rich Graphics UI, rendering, shading, animation, cinematic systems! • Game Logic Visual Programming  Kismet • Use to build almost in any game genre! • Developers Network  UDN • Free Developer Kit  UDK

  39. Game Engine Survey • The Source Family • Valve  Half-life • Microsoft XNA Game Studio • Based on MS C# CLR • Good for PC and Xbox

  40. Game Engine Survey • Other Commercial Engines • C4 Engine by Terathon • SAGE (EA’s RTS engine)

  41. Game Engine Survey • Open Source Engines • Freely available! • Licensing: • GPL • Free use  not profit • LGPL • Free use  Commercialize • Many open source engines exist • Some great, some awful! • OGRE 3D: • 3D Rendering engine • Advanced lighting, shaders, interaction, animation, HUD system!

  42. Runtime Engine Architecture • Runtime Engine Architecture. • Two components of a game engine • Tool Suite • Runtime Component • First let’s check the runtime component: • Layered Architecture! • Like all software it is based on a layered architecture.

  43. Runtime Engine Architecture • Runtime Engine Architecture. • Two components of a game engine • Tool Suite • Runtime Component • First let’s check the runtime component: • Circular Dependency • When lower layers dependon upper layers: • This is bad!

  44. Hardware • The computer system or console • PC, Xbox, etc. • What is a platform? • The hardware + The system software (OS, etc.) • Most of the things we study are platform-agnostic • As long as you write in c++ you can compile and run on any platform! • Not really 

  45. Device Drivers • The lowest-level software components • Either by OS or by the hardware vendor • IO management • Memory management • Graphics management • Really all hardware resources! • Why this is important? • Shield hardware from the upper layers including the OS! • Details • Variants • Communication

  46. Device Drivers • On PC this software controls the hardware • Running all the time. • Time-sharing • Multi-tasking • On traditional consoles • A thin library compiled into the game executable! • Owns the entire machine! • On modern consoles • System resources are shared by the OS! • Can interrupt the game execution to perform housekeeping tasks!

  47. 3rd Party SDKs and Middleware • Software Development Kits • These tools are widely used to develop system-dependent functionalities. • You don’t have to re-invent the wheel! • The functional interfaces provided by the SDKs • Application Programming Interface (API) • Examples? • OpenGL, DirectX, STL, etc.

  48. 3rd Party SDKs and Middleware • Data Structures and Algorithms • A game is an algorithm and all game components are structures – i.e. data structures. • Standard Template Library (STL) • C++’s basic I/O algorithms and data structures • STLport

  49. 3rd Party SDKs and Middleware • Data Structures and Algorithms • A game is an algorithm and all game components are structures – i.e. data structures. • Boost • A powerful implementation of a bunch of algorithms and data structures • www.boost.org • Cool huh 

  50. 3rd Party SDKs and Middleware • Data Structures and Algorithms • A game is an algorithm and all game components are structures – i.e. data structures. • Loki • a powerful generic programming template library!

More Related