I've only taught my Honors Programming II Game Programming class for 3 days now and I'm evaluating my students C# skills with various beginner programs. In addition, I am introducing Gaming concepts with my students using the free online book called The Art of Computer Game Design by Chris Crawford. I am also using some the Video Gaming Webcast that Microsoft has available with Matthew Mead who is a Computer Science Instructor from Digipen Institute of Technology. The Webcasts does not cover XNA but does cover programming games in C# and it covers many important topics that my students need to know before they can even program games.
Matthew does a good job at explaining these concepts:
1Session 1: Overview of Game Development Process (Level 100)
2 Session 2: Basic Programming Concepts and Introduction to C# (Level 100)
3 Session 3: Overview of Game Elements (Level 100)
4 Session 4: Introduction to Sprites and Animation (Level 100)
5 Session 5: Transformation and Collision of Sprites (Level 100)
6 Session 6: Player Control of Sprites (Level 100)
7 Session 7: Game Music and Sound Effects (Level 100)
8 Session 8: Creating Sprite Behavior (Level 100)
My students will start to program in C# their first game called Brix next week.
As its name implies, this is a Windows-based game named Brix. It is a classic bricks game where the player manipulates a pad that moves horizontally. The pad can move right and left using the Right and Left arrow keys. The ball rests on the pad. When the Spacebar is pressed, the ball begins moving. When the ball hits a brick, the brick reflects the ball and vanishes. When all the bricks are hit, the game is over.
They will learn new concepts in C# and then apply those concepts to the game as well as other console app programs. As a teacher, I'm excited about teaching theme programming. The theme is gaming and I can not only teach students the programming language but talk about gaming concepts as well. Needless to say, my students are extremely motivated and want to learn more.
There was a reason why I put xbox controllers on their PC and told them that soon they will programming XNA games that use the controller. For now, my students fingers and thumbs are aching to use the controller. This helps with motivation!
More next week as we begin our game program.