Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.

Similar presentations


Presentation on theme: "CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What."— Presentation transcript:

1 CS 425 Game Programming I Jan M. Allbeck

2 Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What are event loops?  Dark GDK tutorials 10/8/20152

3 Introductions 10/8/20153  Jan  New Assistant Professor in CS at GMU  From University of Pennsylvania (not Penn State)  Background in computer graphics and animation  Help develop game concentration  Most enjoy racing games  jallbeck@gmu.edu  http://cs.gmu.edu/~jallbeck/  Office hours: Wed. 3:30-5:30pm in ENGR 5324  Ok?

4 Introductions 10/8/20154  You?  Have some programming experience!  Know C++?  Know SVN?  Know how to build a game?  Took cs325?  What is your name?  Favorite types of games?  What do you want from this class?  What kind of job do you want when you graduate?

5 Expectations 10/8/20155  Learn a new language  Gain experience  Object oriented design  Using existing libraries  Building largish software system  Working in groups  Working with someone else’s code  Learn software version management  Create segment for demo reel  Hear from real game developers  Class participation

6 10/8/20156  4 classes will be held else where:  Oct. 6 th  Nov. 10 th  Nov. 17 th  Nov. 24 th  Robinson 203B?  Assessment  Final  Working game

7 Demo of last year’s game 10/8/20157

8 What sort of game would you like to build? 10/8/20158  Feasible  Reasonable assets  Reasonable algorithms  Fun

9 What do you need to build a video game? 10/8/20159  Assets  Environment  Objects or models including characters  Animations  Code  Graphics  Loaders  Animation playback  Controllers  Collision detection and response  Cameras  Lights  Version control

10 Tools 10/8/201510  Dark GDK  SVN  Google code  Everyone needs an account  Blackboard?

11 Dark GDK 10/8/201511  http://gdk.thegamecreators.com/ http://gdk.thegamecreators.com/  Free game development environment  Harness the power and performance of C++

12 Dark GDK features 10/8/201512  Works with Microsoft Visual C++ 2008 Express  6 2D Image Formats Supported  5 3D Object File Formats Supported  Bone Based Animations  Binary Space Partitioning (BSP) Support  Polygon Collision and Response  Environment Mapping  Automatic Camera and Camera to Object Orientation Commands  Create, Position and Color Lights  Build, Texture and Map Landscapes

13 Dark GDK Demos 10/8/201513

14 SVN 10/8/201514  http://subversion.tigris.org/ http://subversion.tigris.org/  Subversion is an open source version control system.  Change management system  CVS?  Tortoise  http://tortoisesvn.tigris.org/ http://tortoisesvn.tigris.org/  A Subversion client, implemented as a windows shell extension.  Not an integration for a specific IDE

15 Google code 10/8/201515  http://code.google.com/p/cs425-fall-2009/ http://code.google.com/p/cs425-fall-2009/  Everyone will need a Google account  Email me your google user name  Open source  Project info  Downloads  Wiki  Issues  SVN

16 Moving on to C++ 10/8/201516

17 Introduction to VS and C++  Show how to get around VS  Show a bit of the C++ syntax  Talk briefly about header files and source files and libraries  Lie to you  Resources on wiki  Provide you with an example to work from  Get familiar with the lingo

18 Live VS Demo 10/8/201518

19 Types of Errors  Syntax/compiler  Linker  Run-time  Logic

20 Tips  Don’t be afraid to fail. Redesign.  Break it apart: data and methodology.  Think and draw things.  Talk it out with your teddy bear or action figure.  Compile as you go.  Iterative programming. Try and try again. Never really done.  Experience is key.  Test, test, test.  Things are going to build on top of each other.  Powerful.  There is more than one way to do things and there isn’t necessarily a right way.

21 Informal Software Engineering Concepts  Ease of programming  Simplicity  Elegancy  Space vs. Speed  Reusable and understandable  Robustness and expandability  Portability (OSX, WinXP, etc)  Philosophies and standard practices

22 Moving on to Event based Programming 10/8/201522

23 Synchronous Programs  Program WAITS for reads and writes to complete before continuing  Do stuff  Read  Write  Do stuff  Write  …  End

24 Asynchronous Programs – User Interaction  Interactive program runs in an infinite loop!  Program flow is created by events:  User actions (interactive devices)  Program actions (redraw)  Operating system actions (quit) while (not done) { event = system.GetEvent(); ProcessEvent(event); UpdateDisplay(); }

25 Dark GDK Hello Word! Demo You didn’t really think you were going to make it through a computer programming class without a “hello world” example? 10/8/201525


Download ppt "CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What."

Similar presentations


Ads by Google