Description:
Introduction to Game Development is an exciting introductory course focused on game development theory and practices using the advanced cross-platform .NET technology with emphasis on educational game development. Topics covered in this course include game architecture, computer graphics theory, user interaction, audio, high level shading language, animation, physics, and artificial intelligence. Students will develop games related to science (e.g., physics, chemistry, and biology), technology, engineering, and mathematics (STEM) education. The developed games can run on a variety of platforms, including Microsoft Windows, Xbox 360, and the Microsoft Zune Digital Media Player.

Required Textbooks:
1. A. Lobao, B. Evangelista, J. Farias, and R. Grootjans, Beginning XNA 3.0 Game Programming: From Novice to Professional, Apress, 2009, ISBN 1430218177.
2. A. Troelsen, Pro C# 2008 and the .NET 3.5 Platform (4th Edition), Apress, Berkeley, CA, 2007, ISBN 1590598849.

Optional Textbooks:
1. R. Grootijans, XNA 3.0 Programming Recipes: A Problem-Solution Approach, Apress, 2009, ISBN 143021855X..
2. J. Ball, XNA Game Studio Express: Developing Games for Windows and the Xbox 360, Course Technology, 2007, ISBN 1598633686.
3. A. Stellman and J. Greene, Head First C#, O’Reilly Meida, Inc., Sebastopol, CA, 2007, ISBN 0596514824.

Prerequisites:
Basic mathematical preparations in linear algebra (in particular, matrix operations), geometry, trigonometry, and calculus are required.  Students must have previous experience in one of the following languages: C++, Java, or C#.  Students also should understand basic data structures, such as trees and graphs.  A brief introduction to C# is provided and students are required to write their program in C#.  Students without the prerequisites are not permitted to take this course.
Assignments & Grading:
Undergraduate students will have 4 programming assignments and one final demonstration and presentation. Graduate students will have 4 programming assignments and one final project with presentation. Both undergraduate and graduate students have the option of one additional project for extra credits. There are no exams in this course. Reading materials and homework problems will be assigned, but not graded.

Outline:
1. Course Introduction
2. C#: A Brief Introduction
3. Math Review
4. 2D Game Basics and User Interactions
5. Audio and More 2D Games
6. Deploying Games on Xbox 360 and Zune Media Player
7. 3D Computer Graphics Basics: Part I and Part II
8. Guest Lecture: 2D and 3D Content Generation
9. Effects and HLSL Shaders
10. Content Pipeline
11. Skeletal Animation and Third Person Shooter Game
12. Advanced Topics: Physics and Artificial Intelligence
13. Guest Lecture: Games for Education
14. Student Game Demonstrations and Presentations