Things you need to know George Georgiev Telerik Corporation www.telerik.com.

Slides:



Advertisements
Similar presentations
CS0004: Introduction to Programming Introduction to Programming.
Advertisements

 Currently there is no software solution that combines video and animation in to one platform.  Every single change drag changes in all of the environments.
Intro to Game Development An introduction to Swing, Java2D, JOGL, and game design Created by: Dennis Lawter and Dustin Scott.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
Game Project Tuesday Sept 18,  Game Idea  Team  Understanding available engine options  Understanding the Pipeline  Start the process Cycle.
Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
Chapter 3.2 C++, Java, and Scripting Languages “The major programming languages used in game development.”
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
MERTIS: Modifiable, Extensible, Real-Time, Interactive Simulation Leandro Basallo ◦ Ryan Leigh ◦ Sam Talaie ◦ Regan Snyder with Dr. Sergiu Dascalu and.
1 Game Design Documents. 2 Design Documentation Stages Design treatment or concept paper Design treatment or concept paper Game feasibility Game feasibility.
Game Design Documents.
XNA Game-Themed Workshop, FDG Pre-Conference Workshop, April 25, 2009 Developing Game-Themed Applications With XNA Kelvin Sung Computing and Software Systems.
Chapter 3.2 C++, Java, and Scripting Languages hacked by jeffery.
(An Introduction for Programmers)
Game Programming Using Scratch. Scratch Scratch is an IDE (Integrated Development Environment) that allows users to create and run simple graphics/games.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
A Games Class Using XNA Game Studio Express Art Gittleman California State University Long Beach
CHAPTER 1 GC 101 Introduction to computers and programs.
Independent Game Development William Monks. What is an “Indie” Game??? An indie game is a game made without the financial support of a video game publisher.
OGRE 3D. Object-oriented Graphics Rendering Engine “powers” your 3D graphics applications SDK vs. Game Engine User Input? Game State? Audio Files? Cross-platform.
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Things you need to know George Georgiev Technical Trainer GeorgeAtanasov George Atanasov Front-End Developer.
CS102 Introduction to Computer Programming
Chapter Languages, Programming and Architecture.
3rd Person Shooter Milestone 1. Timeplan & Progress table Timeplan Progress table Progress table.
Using C++ and OpenGL George Georgiev Telerik Corporation
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Tools for Game Developmet Erik Harpstead Carnegie Mellon University 1.
There are only 10 types of people in the world, those who understand binary and those who don't.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
10/9/20151 Unreal Basics CIS 488/588 Bruce R. Maxim UM-Dearborn.
AN OVERVIEW OF GAME DEVELOPMENT
Windows, Linux, Mac, Android, iOS
Ahmed Saker Indie Game Developer
Virtual Systems Engineering Course objective: To study methods for design and analysis of virtual systems What is a virtual system ? A virtual system is.
By Justin Karneeb.  Many people have different views  It is not a High-Level language  It has low functionality (innate abilities)  It has minimal.
Nostromo Tom Patecky Ross Brown. Operational Concepts Based on Ambrosia Software’s Escape Velocity series Based on Ambrosia Software’s Escape Velocity.
Graphics Qubed SCE Presentation of Epoch: Relic of Time.
CIS 601 Fall 2003 Introduction to MATLAB Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
Dr. Brian Durney Computing and Networking Sciences at UVU C S
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
About games and the industry Atanasov & Georgiev Telerik Corporation
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
Ori Hanegby Pixtazy Blog:
Game Programming Help. Content for Game programming:  Introduction to Game programming.  Different types of game  Different programming language for.
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
Examples Data Driven, Event Driven Typical Architecture Building Ogre
Game programming 1.
Chapter 1 Introduction.
About games and the industry
Introducing The Academy
Introduction to MATLAB
Unit 20 Software Part 2.
Unit 20 Software Part 2.
Game Loop Update & Draw.
Game Engines Non-game specific technology Game: Engine
Professional Environment
02 | What DirectX Can Do and Creating the Main Game Loop
Games Development 2 Tools Programming
Chapter 1 Introduction.
Presentation transcript:

Things you need to know George Georgiev Telerik Corporation

 Understanding Game programming  What is it?  Specifics  Tools and languages  C++ - The industry standard language  C++ & Game programming  Why not C# ? 2

Elements, Specifics, Tools

 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 losing 4

 Game programming consists of:  “Game logic” programming  Graphics programming  AI programming (not necessarily)  Audio programming (not necessarily)  Physics programming (not necessarily) 5

 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

 Game programming specifics  The “Game loop”  Starting from scratch  Usage of many programming concepts  System requirements 7

 A basic “Game loop” in pseudocode while( user doesn't exit ) check for user input check for user input run AI run AI move enemies move enemies resolve collisions resolve collisions draw graphics play sounds play sounds end while 8

 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 count 9

 Programming languages  C / C++  C#  Java  Scripting languages  Custom-made languages (very common)  Lua  Python 10

 Libraries and APIs  Single-purpose  Graphics – Direct3D, OpenGL, OGRE  Physics – Bullet Physics Library, ODE  Multi-purpose  DirectX  XNA  Irrlicht Engine  Unreal Engine 11

 Benchmarking tools  Mainly framerate tracking software  Fraps  Alternative development approaches  Game development software  Game maker  3D modeling software with scripting capabilities  The Internet… 12

The industry standard language

 The most widely used and popular programming language  Object-oriented  Mid-level  Compiles to binary  Fast  Low memory usage 14

 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

 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

Questions?