Using C++ and OpenGL George Georgiev Telerik Corporation .

12
Introduction to Game Programming Using C++ and OpenGL George Georgiev Telerik Corporation www.telerik. com

Transcript of Using C++ and OpenGL George Georgiev Telerik Corporation .

Page 1: Using C++ and OpenGL George Georgiev Telerik Corporation .

Introduction to Game Programming

Using C++ and OpenGL

George GeorgievTelerik Corporationwww.telerik.

com

Page 2: Using C++ and OpenGL George Georgiev Telerik Corporation .

Table of Contents Understanding Game Programming C++ - The industry standard language

Computer graphics 2D and 3D

Computer geometry

Graphics Libraries OpenGL

Introduction to OpenGL

Setting up OpenGL, “Hello World”2

Page 3: Using C++ and OpenGL George Georgiev Telerik Corporation .

Game ProgrammingElements, Specifics, Tools

Page 4: Using C++ and OpenGL George Georgiev Telerik Corporation .

What is Game Programming?

Game programming handles: Loading game resources

User input

Game events

Scripting

Game objects interaction

AI characters

Game sounds and visualization

Results, such as winning or losing4

Page 5: Using C++ and OpenGL George Georgiev Telerik Corporation .

What is Game Programming (2)

Game programming consists of: “Game logic” programming

Graphics programming

AI programming (not necessarily)

Audio programming (not necessarily)

Physics programming (not necessarily)

5

Page 6: Using C++ and OpenGL George Georgiev Telerik Corporation .

What is Game Programming (3)

Game programming IS NOT Game Development It is only a part of it

Game programming is cool! You can play your game and

pretend you’re debugging it

6

Page 7: Using C++ and OpenGL George Georgiev Telerik Corporation .

Specifics of Game Programming

Game programming specifics The “Game loop”

Starting from scratch

Usage of many programming concepts

System requirements

7

Page 8: Using C++ and OpenGL George Georgiev Telerik Corporation .

Specifics of Game Programming (2)

The basic “Game loop” in pseudocode

while( user doesn't exit ) check for user input run AI move enemies resolve collisions

draw graphics play sounds end while

8

Page 9: Using C++ and OpenGL George Georgiev Telerik Corporation .

Specifics of Game Programming (3)

What else is special about game programming? No strict requirements

No one expects complete accuracy

Need to balance “challenges” with “rewards”

Being fail-safe is not a priority

Small optimizations count

Greedy optimizations count9

Page 10: Using C++ and OpenGL George Georgiev Telerik Corporation .

Tools Programming languages

C / C++

C#

Java Scripting languages

Custom-made languages (very common)

Lua

Python10

Page 11: Using C++ and OpenGL George Georgiev Telerik Corporation .

Tools (2) Libraries

Graphics – Direct3D, OpenGL, OGRE

Physics – Bullet Physics Library, ODE

Many, many more APIs

DirectX

XNA

Irrlicht Engine

Unreal Engine11

Page 12: Using C++ and OpenGL George Georgiev Telerik Corporation .

Tools (3) Benchmarking tools

Mainly framerate tracking software

Fraps

Alternative development approaches Game development software

Game maker

3D modeling software with scripting capabilities

12