1 / 25

CS 425 Game Programming I

CS 425 Game Programming I. Jan M. Allbeck. Outline. Introductions Expectations Tools and setup Quick introduction to C++ and Visual Studio What are event loops? Dark GDK tutorials. Introductions. Jan New Assistant Professor in CS at GMU From University of Pennsylvania (not Penn State)

erica-dale
Download Presentation

CS 425 Game Programming I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  3. Introductions • 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 • 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 • 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. 4 classes will be held else where: • Oct. 6th • Nov. 10th • Nov. 17th • Nov. 24th • Robinson 203B? • Assessment • Final • Working game

  7. Demo of last year’s game

  8. What sort of game would you like to build? • Feasible • Reasonable assets • Reasonable algorithms • Fun

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

  10. Tools • Dark GDK • SVN • Google code • Everyone needs an account • Blackboard?

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

  12. Dark GDK features • 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

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

  15. Google code • 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++ 16 10/27/2014

  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 18 10/27/2014

  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 22 10/27/2014

  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? 25 10/27/2014

More Related