Introduction
Game Design and Development
By Hafiz Ammar Siddiqui
1
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
Platforms
Mobile
Console
Handheld Console
Computer
Web
TV
Wearable
Car
VR / AR
Cloud / Streaming
• 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
• 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
• 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
Game Engine
Game vs Game Engine
Game Engine Architecture
Popular Game Engines
• 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
• 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
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
• 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
Game Architecture
Main Game Loop
Time and Speed
Input and Output
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
• 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
• 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
• 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
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

1-Introduction (Game Design and Development)

  • 1.
    Introduction Game Design andDevelopment By Hafiz Ammar Siddiqui 1
  • 2.
    Video Game • Avideo 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
  • 3.
  • 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 vsGame Engine Game Engine Architecture Popular Game Engines
  • 8.
    • A gameengine 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 gameconsists 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 GraphicsRendering, 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
  • 12.
    Game Architecture Main GameLoop Time and Speed Input and Output
  • 13.
    Game Architecture • Gameconsists 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 gameconsists 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 ofthe 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 isread 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 Shortand Simple Definition of What a Videogame Is - Nicolas Esposito • An introduction to the video games world - S Natkin • Game Engine Architecture - Jason Greygory