Game Programming

Five years ago the video and computer games market was 7 billion dollars industry that grew to a 9.5 billion dollar industry in 2007. Computer gaming is not just a teenager phenomenon but is played by different age groups. A market survey shows that 41% of Americans use some form of computer games. Many well-known multibillion dollar companies such as Sony Corporation, Walt Disney and Nintendo Inc., Microsoft, and cell phone and PDA manufacturers are investing in the development of computer games.

Clearly there is a growing demand of the programmers from this industry who can design computer games. Moreover, the technology and programming skills that are required to build a computer game are virtually the same as those required for such important learning tools as the flight simulators that are used to train pilots to fly multi-million dollar aircraft. As desktop PC's now have the graphics capabilities to run such learning simulators there is a now an expanding market for individuals with the skills to develop 3D interactive learning environments for both industrial and educational applications.

The Computer Science Department currently offers 4 courses in this area: CS 38101 Introduction to Game Programming, CS47101 Computer Graphics, CS 48101 Game Engine Concepts, and CS 49902 Game Development Practicum.

CS 38101 Introduction to Game Programming

This class introduces students to an object-oriented game engine scripting language such as the scripting languages included with the Unreal game engine or the Torque game engine. Game engine programming provides the student with experience working in teams to build a sophisticated program in an object oriented scripting language which has an extremely large number of defined classes. It also introduce students to event driven programming, data driven programming, game engine data structures, and elementary graphics concepts, and elementary AI concepts. In additions to providing a basic introduction to game programming, this class will give students the opportunity to design and build a short game as part of a team project.

Prerequisite: CS 33001 CSII Data Structures and Abstraction. Textbook: Introduction to Game Development by Steve Rabin, published by Charles River Media.

CS 47101 Computer Graphics

Interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications.

CS 48101 Game Engine Concepts

This course covers a range of topics that include: Game Memory Management; Multithreading in Games; Sprites & bitmap animation; Collision detection; Differing game types, modes, & perspectives; Game & level design; Path finding algorithms; Sound & Music; Game input devices; Artificial Intelligence in games; Physics based modeling; Advanced Lighting Techniques; Networked Gaming Algorithms; Special Effects.

Prerequisites: CS 38101 Introduction to Game Programming , CS 47101 Computer Graphics. Textbook: 3D Game Engine Design, Second Edition: A Practical Approach to Real-Time Computer Graphics by David Eberly, published by Morgan Kaufmann, 2006.

CS 48102 Game Development Practicum

This course provides students with the opportunity to design a computer game or a 3D interactive learning environment using a game engine. The classes' instructors will invite faculty or graduate students from any discipline to suggest learning environment topics that the class could implement and that would be of significant benefit to the research or teaching of that faculty member or graduate student. If a suggested project is deemed to be viable within the time frame of the class, the individual suggesting the project will be invited to participate in the class and to provide the necessary content material for the suggested learning environment. It is expected that the projects developed in this class will be pilot projects that could be used by the suggesting individuals to obtain additional funding to complete the project. Where such funding is obtained the students who participated in the pilot project development would be in a position to assist in further development of the project after the completion of this class.

Prerequisites: CS 48101 Game Engine Concepts.