Class lectures are based on the following lecture notes. Games reviewed in class are listed in italics.
|
Jan. 7 |
[PDF] [PPT] | Course overview, introduction to XNA |
|
Jan. 9 |
[PDF] [PPT] | Introduction to C# |
|
Jan. 12 |
[PDF] [PPT] | Introduction to C# (properties, loops, arrays, lists) |
|
Jan. 14 |
[PDF] [PPT] | Console I/O in C#, Hunt the Wumpus assignment tips, rule of thumb for finding classes and methods, introduction to XNA Game Studio structure. Console input and parsing demonstration shown in class |
|
Jan. 16 |
[PDF] [PPT] | Random numbers and converting string to int in C#, Hunt the Wumpus assignment submission instructions, displaying a sprite in XNA (Texture2D, SpriteBatch). Console input and parsing demonstration showing how to convert a string to integer |
|
Jan. 21 |
[PDF] [PPT] | Instructions for game concept document. Controller, keyboard, and mouse input in XNA. XNA Input Recorder |
|
Jan. 23 |
[PDF] [PPT] | Procedural vs object-oriented design. Bad code smells, and code refactoring. |
|
Jan. 26 |
[PDF] [PPT] | Bad code smells (con't), code refactoring example from Chapter 3 of Fowler's Refactoring book. |
|
Jan. 28 |
[PDF] [PPT] | Classification, abstraction. C# interfaces, abstract classes, virtual and override keywords |
|
Jan. 30 |
[PDF] [PPT] |
C# delegates, Observer pattern, Strategy pattern Example implementation of Observer using C# delegates, shown in class: [PDF] [Csharp] Example implementation of Strategy pattern, shown in class: [Csharp] |
|
Feb. 2 |
[PDF] [PPT] |
Decorator pattern, Chain of Responsibility pattern Example implementation of Decorator pattern, shown in class: [Csharp] Example implementation of Chain of Responsibility pattern: [Csharp] |
|
Feb. 4 |
[PDF] [PPT] |
Chain of Responsibility pattern, Singleton pattern Example implementation of Singleton pattern, shown in class: [Csharp] |
|
Feb. 6 |
[PDF] | Midterm exam. Link is to PDF version of exam answer key. |
|
Feb. 9 |
[PDF] [PPT] |
Introduction to collision detection. Example implementation of naive n*n collision detection, shown in class: [Rar file] (use WinRar to unpack) |
|
Feb. 11 |
[PDF] [PPT] | Broad sweep techniques: space partition grids. |
|
Feb. 13 |
[PDF] [PPT] | Broad sweep techniques: quadtrees. |
|
Feb. 18 |
[PDF] [PPT] |
Moving at a constant velocity. Linear interpolation between points. Use of Catmull-Rom interpolation.
Moving along a path. Movement demonstration shown in class: [Rar file] (use WinRar to unpack) |
|
Feb. 20 |
[PDF] [PPT] |
Overview of A* pathfinding algorithm.
Moving at a fixed velocity along a path. Movement demonstration shown in class: [Rar file] (use WinRar to unpack) |
|
Feb. 23 |
[PDF] [PPT] |
Playing sounds in XNA. Finding music for your game. Sound demonstration shown in class: [Rar file] (use WinRar to unpack) |
|
Feb. 27 |
[PDF] [PPT] |
Introduction to 3D graphics in XNA. Drawing triangles, coordinate systems, basic shader. Triangle demonstration shown in class (sample from Chapter 9 of XNA text): [Rar file] (use WinRar to unpack) |
|
Mar. 2 |
[PDF] [PPT] |
Drawing triangles, world matrix, translations and rotations. Triangle demonstration shown in class (modified version of sample from Chapter 9 of XNA text): [Rar file] (use WinRar to unpack) |
|
Mar. 4 |
[PDF] [PPT] |
Drawing 3D models in XNA. Overview of Model and ModelMesh classes. Model viewing code (modified version of sample from Chapter 10 of Learning XNA 3.0 text): [Rar file] (use WinRar to unpack) |
|
Mar. 6 |
[PDF] [PPT] |
Creating a simple free-flying 3D camera in XNA. Free-flying 3D camera code (modified version of sample from Chapter 11 of Learning XNA 3.0 text): [Rar file] (use WinRar to unpack) Uses R/F keys to translate along Up vector, and IJKL for rotations instead of mouse. |
|
Mar. 9 |
[PDF] [PPT] |
Vertex and pixel shaders. Creating a simple shader in HLSL, accessed via C#/XNA. HLSL Shader code example (modified version of sample from Learning XNA 3.0 text): [Rar file] (use WinRar to unpack) |
|
Mar. 13 |
[PDF] [PPT] |
Point lights. Implementing a point light in HLSL. Connecting a shader to a C#/XNA model mesh. HLSL point light shader code example: [Rar file] (use WinRar to unpack) Use R/F to modify ambient light, T/G to modify point light intensity. WASD to rotate, and arrows to translate. |
|
Mar. 16 |
[PDF] [PPT] | Study guide for the final exam. Introduction to particle systems. |
Last updated: 3/16/2009