A game engine is a software framework that facilitates the creation and development of video games across various platforms, providing tools for rendering, collision detection, scripting, and more. It utilizes digital content creation tools for multimedia elements and supports version control, profiling, and memory management for efficient development. Popular game engines include Unreal Engine, Unity, and CryEngine, each offering unique features and capabilities for game developers.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
18 views24 pages
Game Engine
A game engine is a software framework that facilitates the creation and development of video games across various platforms, providing tools for rendering, collision detection, scripting, and more. It utilizes digital content creation tools for multimedia elements and supports version control, profiling, and memory management for efficient development. Popular game engines include Unreal Engine, Unity, and CryEngine, each offering unique features and capabilities for game developers.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24
Game Engine
⦿ 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 ⦿ Allows for data driven development ⦿ Makes development faster! • Renderer (2D or 3D) • Collision Detection • Scripting • Sound/Video • Animation • Shading/Lighting • Networking • Physics • Artificial Intelligence • Level Editor • Custom Tools 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. • 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 • Tells the Render Engine where to place Assets • Arranges a scene o Logically o Spatially • Tree Structure o Hierarchical • Graph Structure o Non-hierarchical • Usually built onOpenGL or DirectX • Generates images in real-time from assets • Controlled by the Scene Graph • Interacts directly with the GPU • Intersection of two given solids o Spheres o Planes o Tubes o Polygons • Collision Response o Event • Usually uses an interpreted language (Python, etc.) • Allows custom code • Does not require the source code • Does not change any engine code • Game Specific • 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 • Handles animation of objects on the Scene Graph • Tween animation • Rig/Skeleton Based animation • Tells the Renderer how to display the assets • Calculates special effects o Shadows o Normal Maps o Particle Effects o More... • Applied by the Render Engine on objects in the Scene Graph • Handles multicomputer communication o Peer to Peer o Client to Server o Distributed • Handles behavior of objects based on collisions • Simulates or predicts physics models o Rigid Body Dynamics o Soft Body Physics o Fluid Dynamics • Controls object interaction o Stimuli o Needs o Desires o Flocking • Often uses Finite State Machines • Allows placement of multiple assets to create environments • Can allow custom scripting for AI • Primarily used for static asset placement 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 software 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. ⦿ 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, 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. Unity is a cross-platform game engine developed by Unity Technologies and games used for to PC, develop consoles, video mobile devices and With an emphasis engineontargetsportability, the the Direct3D on Windows following APIs: 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. ⦿ 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. ⦿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 maps and open-world instances. lively seamless It between also them.Easyoffers and handy mapping tools a transition and integrated tool set. ⦿ Cloud support for client server with HeroCloud. ⦿ 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. GE are now being used for serious games: visualizatio training, medical, and n, military applications, simulation the CryEngine being one example. with 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).