4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

18
Introduction to Game Programming Things you need to know George Georgiev http://academy.telerik.com Technical Trainer academy.telerik.com /.../3d-game-developm ent-openg l George Atanasov Front-End Developer

description

In this presentation, part of the 3D graphics and game develpment course, we discuss what is game development and game programming.The website and all video materials are in Bulgarian.Main topics:http://academy.telerik.com/.../3d-game-development-openglTelerik Software Academy: http://www.academy.telerik.comThe website and all video materials are in Bulgarian

Transcript of 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Page 1: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Introduction to Game Programming

Things you need to know

George Georgiev

http://academy.telerik.com

Technical Trainer

academy.telerik.com

/.../3d-game-developm

ent-opengl

George AtanasovFront-End Developer

Page 2: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Table of Contents Understanding Game programming

What is it?

Specifics

Tools and languages

C++ - The industry standard language C++ & Game programming

Why not C# ?

2

Page 3: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Game ProgrammingElements, Specifics, Tools

Page 4: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

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: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

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: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

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: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Specifics of Game Programming

Game programming specifics The “Game loop”

Starting from scratch

Usage of many programming concepts

System requirements

7

Page 8: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Specifics of Game Programming (2)

A 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: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

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: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Tools Programming languages

C / C++

C#

Java

Scripting languages Custom-made languages (very

common)

Lua

Python10

Page 11: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Tools (2) Libraries and APIs

Single-purpose Graphics – Direct3D, OpenGL, OGRE

Physics – Bullet Physics Library, ODE

Multi-purpose DirectX

XNA

Irrlicht Engine

Unreal Engine11

Page 12: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Tools (3) Benchmarking tools

Mainly framerate tracking software Fraps

Alternative development approaches Game development software

Game maker

3D modeling software with scripting capabilities

The Internet… 12

Page 13: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

C++The industry standard language

Page 14: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

What is C++? The most widely used and popular programming language Object-oriented

Mid-level

Compiles to binary

Fast

Low memory usage

14

Page 15: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

C++ & Game programming

The industry standard language Most popular games are written in

C++

A lot of APIs are written in and for C / C++

Runs almost on everything

The C++ community is huge

Not a dying language

15

Page 16: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Why aren't we using C# ?

Too young as a language Can’t compare to C++’s community

Not designed to be as fast as C++ 10% faster counts in game

programming

Too high-level and style-demanding Game programming requires freedom

C# without .NET is like C++ without the “++”

The lower you go, the more you know We (you) are here to learn

16

Page 17: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно

програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки

уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop

уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC

безплатен курс "Разработка на софтуер в cloud среда"

BG Coder - онлайн състезателна система - online judge

курсове и уроци по програмиране, книги – безплатно от Наков

безплатен курс "Качествен програмен код"

алго академия – състезателно програмиране, състезания

ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия

курс мобилни приложения с iPhone, Android, WP7, PhoneGap

free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно

?

? ? ??

?? ?

?

?

?

??

?

?

? ?

Questions?

?

Introduction to Game programming

http://academy.telerik.com/

Page 18: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course

Free Trainings @ Telerik Academy

3D Graphics and Game Development academy.telerik.com/.../

3d-game-development-opengl

Telerik Software Academy academy.telerik.com

Telerik Academy @ Facebook facebook.com/TelerikAcademy

Telerik Software Academy Forums forums.academy.telerik.com