Computer Game Programming • • • • Rick Barker Cecil Schmidt Carol Browning Ernest Ferguson Computer Game Programming Washburn University Special Topics Class Spring 2006 Rick Barker Washburn Environment • Intro class with small subset of C • Two semesters of Java • Art Department – Two classes on Computer Graphic Design – One class on Game Design • No special setup for gaming Computing Environment For this class • • • • No Game engine MSDN access to Visual Studio.net Or Bloodshed CPP No special graphic package, used Paint 2-dim graphics • Windows PCs, all students had their own computers, many with laptops brought to class. Choosing a Text • No game engine on campus • Basic language in Department is Java • In 2005, almost impossible to find a text with Java • Decided upon C++ – Beginning Game Programming, Michael Morrison – SAMS 2005 – Accelerated C++ Koenig&Moo - Addison-Wesley 2000 Why this game text? • Instructor had no gaming knowledge – Played Arcade games many years ago • Pong, space invaders, etc – Some shooting game on Apple IIe • Students had at least one semester of Java, OOP, and subset of procedural C – Instructor felt students could transfer their knowledge to C++ • Text starts from beginning – Build game engine from scratch, – Adding features to engine as it advanced through concepts. Course Schedule • 15 week course • First 10-11 weeks work through text – Periodically Author provides simple game that uses recent concepts and updated game engine • Student then creates mods for the game. • Last month, group work to develop a their own game as final project Mods to Text Games • Task is to create a different game using the same (or similar) basic function of the original. • Create new sprites, new backgrounds, music, etc. • Requires students to understand the existing C++ code (or learn the new statements) • Usually a new game involves additions to the Author’s Game Engine • Sometimes we added enhancements to Engine Last Month of the Semester • After finishing the text, student groups created original games – Design of game with story boards – Creation of sprites – Coding game, using final game engine • Presented games for final exam, all played – Documentation for game with story boards, definition of sprites and capabilities Students learned • C++ • How to work on their own • Applied many of the concepts they had learned in their classes to a task they wanted to do • Had to find a way to accomplish their dream game. • Windows API’s (from text use) • Text software often NOT bug free. Professor learned • RPG is not a computer language, but role playing game. • Students were interested, which translated to curiosity and exploration of subject – Both game design, language, and Windows • It worked to carefully select students for the first time offering this class • Worth trying again, we will offer it again this Fall