Game Architecture and Programming

15
Game Architecture and Programming St. Vincent Palloti College of Engineering and Technology Game Architecture & Programming Date: 11 th December 2015 Sumit Jain Project Lead and Game Programmer Presented by :

Transcript of Game Architecture and Programming

Page 1: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game Architecture & Programming

Date: 11th December 2015

Sumit JainProject Lead and Game Programmer

Presented by :

Page 2: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

NETWORKING

Game Developme

nt Framework

MEMORY MANAGEMENT

SCENE EFFECTS

GAME DATA & STATES

PLUGINS LIBRARY

COLLISION SYSTEM ANIMATIONS

3D RENDERING

AUDIO SYSTEM

ENGINE EDITOR PHYSICS

AI SYSTEM

NODES

2

Page 3: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Gaming EnginesPopular Game engines supporting platforms

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.

Frostbite 3D Source Game Engine Rage Engine Flash Action

Script OGRE

Unity 3D Engine Unreal game engine

Shiva Game Engine

Havoc Vision

CryEngine Game Maker

Cocos2D

Page 4: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game Programming LanguagesWhat is game programming really like ?

C++Game Engine Framework & OpenGL for

Graphics

Objective CApple IOS game development

C#, JavaGame Scripting

Python, JavaScript, LuaScripting & supporting behaviour language

Html5, Php, Web based browser games

Action ScriptFlash games

4

Page 5: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Layers of Game ArchitectureHardware Abstraction – For every platform of different hardware configuration with graphics memory,

processing power etc. It acts as an interface between application and hardware using programming through common interface.

Game Engine Framework

Game Application Screen Monitor Display

Graphics, Rendering & Physics

Game States, Data & Memory & Processing

Operating System

OpenGL & DirectX

Computer Hardware & Graphic Chipset

5

Page 6: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game Software ArchitectureGame Graphics & Framework Software Layer

Game Application

Game Engine Framework

OpenGL & DirectX Framework

Computer Chipset Memory & Graphic Card

6

Page 7: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game Development ComparisonNative Game Engine v/s Game Engine Framework

Game Engine Development

Sony GamesEA & Microsoft GamesNintendo, SEGA Games

GameloftUbisoft

Unity 3D Game EngineCry Engine

Html5 Game EngineGame Maker EngineFlash Action Script

Unreal EngineCocos2D and Box2D Game

EngineTorque 2D and 3D Game

EngineOGRE

Propriety Game Engines

Private Gaming Companies Open Source Game Engines

7

Page 8: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game ArchitectureLayers of Game Architecture

8

Page 9: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game ArchitectureLayers of Game Architecture

8

Page 10: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game ArchitectureLayers of Game Architecture

9

Page 11: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Game ArchitectureLayers of Game Architecture

8

Page 12: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Gaming Internal ConceptsGaming Development Fundamental Concepts

Game Development Elements

Points and VectorsMatrices

QuaternionsRandom Number

GenerationRotational

RepresentationsTrigonometry

Linear Algebra

GravityMass

KinematicPhysic MaterialsPhysics Force &

Torque for Motion

The Rendering LoopThe Game LoopMeasuring and

Dealing with TimeNetworked Multiplayer

StatesMultiprocessor Game

Loops

Open GL FrameworkDirectX SDK

3D Maths Physics & Collision Programming Graphics

10

Page 13: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Gaming Development Fundamental ConceptsWhat happens behind the hood ?

Main LoopInitialisation

Process Player InputPerform game logic

Render Scene, Graphics, SFX etc

Shutdown

Loading & Caching game dataGame Resources formats and

storage3D Environment Mesh

2D Sprites and Texture dataSound, Music & Animation data

Effects Cinematics Shader, Shadows

Programming Input DevicesWorking on Game Controller

Touch Devices ControllerTwo Axis Controls

Get State & Normalising Input

Game UI & StatesThe Human Game View

Player Movement ControllerScreen ElementsGame Controls

Game Events & Events DataEvent Listener & Manager

11

Page 14: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

Runtime Engine Architecture

Gaming Methods

Gameplay (Input) Programming

Animation & Tools Programming

AI Programming

Shader Graphic & Visuals Programming

Game States & Events Programming

Game UI Programming

Programming Patterns

3rd Party Plugins Node based Programming

1

4

8

5

2

3

7

6

12

Gaming Main Loop

Page 15: Game Architecture and Programming

Game Architecture and Programming

St. Vincent Palloti College of Engineering and Technology

QUESTION & ANSWER

Game Architecture?Any Questions?

Game Engine & Tools Development?

Any Questions?

Game Engine Component Framework

Any Questions?

13