Published on

  • Be the first to comment

  • Be the first to like this


  1. 1. Presentation by: Diksha Bhargava CSE VIII Sem
  2. 2.  What is a game engine ?  Run Time Engine Architecture  Tools and the asset pipeline  Types of Engines  Tools of the trade  Best rated engines  Conclusion
  3. 3.  A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices and personal computers.  Set of tools to assist in making a game  Game agnostic software components  Reusable for many different games  Multi-platform (typically)  Allows for data driven development  Makes development faster!
  4. 4.  Target Hardware  Device Drivers  Operating System  Third-Party SDKs and Middleware  Platform Independence Layer  Core Systems  Resource Manager  Rendering Engine  Profiling and Debugging Tools  Collision and Physics  Animation  Human Interface Devices (HID)  Audio  Gameplay Foundation Systems
  5. 5. • Renderer (2D or 3D) • Collision Detection • Scripting • Sound/Video • Animation • Shading/Lighting • Networking • Physics • Artificial Intelligence • Level Editor • Custom Tools
  6. 6. Digital Content Creation Tools Games are multimedia applications by nature. A game engine’s input data comes in a wide variety of forms, from 3D mesh data to texture bitmaps to animation data to audio files. All of this source data must be created and manipulated by artists. The tools that the artists use are called digital content creation (DCC) applications.
  7. 7. • Used by the Render Engine, Sound/Video Engine, Animation Engine • Anything that is in the game besides code o Models o Textures o Sounds o Videos o Animations
  8. 8. • Tells the Render Engine where to place Assets • Arranges a scene o Logically o Spatially • Tree Structure o Hierarchical • Graph Structure o Non-hierarchical
  9. 9. • Usually built onOpenGL or DirectX • Generates images in real-time from assets • Controlled by the Scene Graph • Interacts directly with the GPU
  10. 10. • Intersection of two given solids o Spheres o Planes o Tubes o Polygons • Collision Response o Event
  11. 11. • Usually uses an interpreted language (Python, etc.) • Allows custom code • Does not require the source code • Does not change any engine code • Game Specific
  12. 12. • Usually played based on an event • Built off of an external library (OpenAL,etc.) • Video is often only for cut- scenes or as part of in-game objects • Sound is for music and sound effects • Handles sound objects that can control surround sound and 3D sound
  13. 13. • Handles animation of objects on the Scene Graph • Tween animation • Rig/Skeleton Based animation • Tells the Renderer how to display the assets
  14. 14. • Calculates special effects o Shadows o Normal Maps o Particle Effects o More... • Applied by the Render Engine on objects in the Scene Graph
  15. 15. • Handles multicomputer communication o Peer to Peer o Client to Server o Distributed
  16. 16. • Handles behavior of objects based on collisions • Simulates or predicts physics models o Rigid Body Dynamics o Soft Body Physics o Fluid Dynamics
  17. 17. • Controls object interaction o Stimuli o Needs o Desires o Flocking • Often uses Finite State Machines
  18. 18. • Allows placement of multiple assets to create environments • Can allow custom scripting for AI • Primarily used for static asset placement
  19. 19. Tools used by the majority of professional game engineers are of three types : Version Control : A version control system is a tool that permits multiple users to work on a group of files collectively. It maintains a history of each file, so that changes can be tracked and resverted if necessary. Why Use Version Control?  Version control is crucial whenever soft ware is developed by a team of multiple engineers. Version control  provides a central repository from which engineers can share source code;  keeps a history of the changes made to each source file;  provides mechanisms allowing specific versions of the code base to be tagged and later retrieved;  Permits versions of the code to be branched off from the main development line, a feature often used to produce demos or make patches to older versions of the soft ware.
  20. 20.  Microsoft Visual Studio  Profiling Tools : A profiler is a tool that measures the execution time of your code. It can tell you how much time is spent in each function.  Memory Leak and Corruption Detection  A memory leak occurs when memory is allocated but never freed. Memory corruption occurs when the program inadvertently writes data to the wrong memory location,
  21. 21. Unreal Engine 4:  The Unreal Engine is a game engine developed by Epic Games, first showcased in the1998 first person shooter game Unreal.  With its code written in C++, the Unreal Engine features a high degree of portability and is a tool used by many game developers today.  Company: Epic games  Platforms (UE4): consoles, TBA, PS3.  Used in (UE3): Gears of War, Infinity Blade, Mass effect etc.
  22. 22.  Unity is a cross-platform game engine developed by Unity Technologies and used to develop video games for PC, consoles, mobile devices and With an emphasis on portability, the engine targets the following APIs: Direct3D on Windows and Xbox 360; OpenGL on Mac and Windows; OpenGL ES on Android and iOS; and proprietary APIs on video game consoles.  Platforms: Android browser, flash, iOS, Linux, Mac, PC, PS3, Wii U, Xbox 360.  Used in (Any Version): Bad Piggies, Castle Stories, Dead Trigger 2, Wasteland 2.
  23. 23.  CryEngine is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in Far Cry,  It has also been used for many third-party games under Crytek's licensing scheme, including Sniper: Ghost Warrior 2 and SNOW.
  24. 24.  This game engine has earned wide acclaim in massive multiplayer and online game circles — you can see its results in Star Wars: The Old Republic.  It offers several open-world maps and lively instances. It also offers a seamless transition between them. Easy and handy mapping tools and integrated tool set.  Cloud support for client server with HeroCloud.
  25. 25.  AppGameKit was developed out of our own need to create a one stop solution for making game apps for mobile devices.  It enables you to write codes for multiple platforms, including Android iOS, Windows, Mac, and Linux.  AGK script has powerful commands for networking, 2D graphics, and physics.
  26. 26. GE are now being used for serious games: visualization, training, medical, and military simulation applications, with the CryEngine being one example. To facilitate this accessibility, new hardware platforms are now being targeted by game engines, including mobile phones (e.g. Android, iphone) & web browsers (e.g. WebGL, Shockwave, Flash, Trinigy’s, Unity player).