2. Video Game
• A video game is a game which is played with a set of rules using an audiovisual apparatus
and which can be based on a story
• Audiovisual apparatus:
• Input
• Output
• Video game produce output on an electronic display
• Also known as electronic game in which a player interacts with some sort of interface and
get feedback on a 2D or 3D display device device
• Part of both software and entertainment industry
• Considered a form of art as well
4. • Google Android
• Apple iOS
• Amazon Fire OS
• Ubuntu Touch
• Samsung Tizen OS Mobile
• Nintendo Switch / Switch V2
• Nintendo 2DS / 2DS XL
• Nintendo 3DS / 3DS XL
Mobile
Platforms
Handheld Console
Platforms
Computer
Platforms
• Microsoft Windows / UWP
• Apple MacOS
• Linux
• Google Chrome OS
Console
Platforms
• Sony PlayStation 4 / PlayStation 4 Pro
• Microsoft Xbox one / Xbox One S
• Nintendo Switch / Switch V2
5. • Web Browser (HTML / CSS / JS / WebGL)
• Google Wear OS
• Apple watchOS
• Samsung Tizen OS Wearable
• Fitbit OS
Web
Platforms
Wearable
Platforms
TV
Platforms
• Google Android TV
• Apple tvOS
• Amazon Fire TV
• Samsung Tizen OS Smart TV
Car
Platforms
• Tesla
6. • Google Cardboard
• Google Daydream
• Oculus Rift S / Quest / Go
• HTC Vive / Cosmos / Pro / Focus
• Sony PlayStation VR
• Nintendo Labo VR
• Microsoft Windows Mixed Reality
• Microsoft HoloLens / HoloLens 2
• Magic Leap One
• Nvidia GeForce Now
• Sony PlayStation Now
• Google Stadia
VR / AR
Platforms
Cloud / Streaming
Platforms
7. Game Engine
Game vs Game Engine
Game Engine Architecture
Popular Game Engines
8. • A game engine is a framework which contains a collection of tools, utilities and interfaces
that provides abstraction to the low-level details of the various tasks that make up a game.
• Game engine consists of libraries and software development kits (SDKs) that implement
common tasks related to a game such as
Scripting Input Output
Graphics Rendering Sound Physics
Animation User Interface Artificial Intelligence
Networking Optimization Testing
Game Engine
9. • A game consists of hard-coded logic, rules and components whereas a game engine
provides reusable components which can be modified to create a different game.
• Generic reusability of common tasks define how advance is a game engine
Cannot be used to build
more than one game
Can only be used to
change the same game
Can be used to build
new games of similar type
Can be used to build
new games of different types
Game Game Engine
Game vs Game Engine
Game Engine
10. Game Components Graphics Rendering, Sound, Physics, Animation, User Interface, etc.
Assets 3D Models, Textures, Fonts, Audio Clips, etc.
Core Systems Memory Management, Debugging, Parsers, Libraries
Platform Independence File System, Network Transport Layer, Threading, API Wrappers, etc.
Software Dev. Kits DirectX, OpenGL, Havok, PhysX, ODE, STL, Boost, etc.
Operating Systems Windows, macOS, Linux, Xbox OS, Orbis OS, iOS, Android, etc.
Drivers Intel Drivers, Nvidia Drivers, AMD Drivers, etc.
Hardware PC, Mac, Xbox, PlayStation, iPhone, Android Phone, etc.
Game Engine Architecture
Game Engine
11. • Unreal Engine
• Unity Engine
• Cry Engine
• Amazon Lumberyard
• Godot
• Construct
• Game Maker Studio
• Frostbite
• RAGE
• IW Engine
• id Tech
• AnvilNext
• Naughty Dog Game Engine
• Santa Monica Game Engine
Popular Game Engines
(Available to all)
Game Engine
Popular Game Engines
(Available to selected)
Game Engine
13. Game Architecture
• Game consists of three major steps executed in the following order repeatedly
Input Output
Graphics Rendering
Sound
Physics
Animation
User Interface
Artificial Intelligence
Networking
Game Processing
14. • Every game consists of a main game loop which performs a series of tasks every frame
• Main game loop runs continuously during the game. It processes input, updates the game,
and renders the output
Main Game Loop
Game Architecture
Process Input Update Game Render Output
15. • Most of the tasks are performed within a single frame (single iteration of main game loop)
while some tasks span over multiple frames
• Frame Per Second (FPS): The number of times the main game loop is executed in one
second and it varies from system to system
• High performance systems will have higher frame rates, so game time and speed must be
consistent across different systems, means that game must be frame rate independent
• Delta Time (dt): Delta time represents change with respect to time, it is the time between
current frame and previous frame. It is used to achieve frame rate independence across
different systems
Time and Speed
Main Game Loop
16. • Input is read only once per frame per device but it can be processed either in single frame
or over multiple frames
• Output is rendered and drawn every frame and it is done after updating the state of the
game (after performing all the other tasks)
• Output can also be rendered using multiple passes in sequence
Input and Output
Main Game Loop
17. References
• A Short and Simple Definition of What a Videogame Is - Nicolas Esposito
• An introduction to the video games world - S Natkin
• Game Engine Architecture - Jason Greygory