Ana Petrova, Vladimir Vladimirov, Valeri Georgiev, Adventive alien ...
Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End...
-
date post
24-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End...
![Page 1: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/html5/thumbnails/3.jpg)
Game ProgrammingElements, Specifics, Tools
![Page 4: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/html5/thumbnails/10.jpg)
Tools Programming languages
C / C++
C#
Java
Scripting languages Custom-made languages (very
common)
Lua
Python10
![Page 11: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/html5/thumbnails/13.jpg)
C++The industry standard language
![Page 14: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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: Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.](https://reader035.fdocuments.in/reader035/viewer/2022062516/56649dcf5503460f94ac41c1/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