Download presentation
Presentation is loading. Please wait.
Published byTerence Porter Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.