4.introduction to game programming c++ - 3d graphics and game development course
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 BulgarianTRANSCRIPT
![Page 1: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/3.jpg)
Game ProgrammingElements, Specifics, Tools
![Page 4: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/13.jpg)
C++The industry standard language
![Page 14: 4.Introduction to Game Programming C++ - 3D Graphics and Game Development Course](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/17.jpg)
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен 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](https://reader033.vdocuments.mx/reader033/viewer/2022061217/54b502534a7959c6378b4602/html5/thumbnails/18.jpg)
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