This is the course web page for CSCI 441 Game Programming. All reference materials and readings for this course are available as free resources on the Web; there is no assigned textbook that you need to purchase.
The course will focus on reading and writing code that illustrates fundamental concerns in video game programming. We will use Microsoft's XNA game development framework, which means the programming language will be C#.
The prerequisite for this course is CSCI 420 Graphics Programming. If you have not taken CSCI 420, then you can still enroll in 441, but be prepared to learn about graphics programming if you have not already studied this topic.
Syllabus
Homing Missile Project
Mythic 2D Project
| Week 1 | Game development tools Libraries, engines and frameworks Lab 1 Assignment 1 (due end of week 2) |
|---|---|
| Week 2 | Programming Fundamentals Trigonometry, matrix algebra, homogeneous coordinates Lab 2 Assignment 2 (due end of week 3) |
| Week 3 | Graphics programming, Lighting models Lab 3 Assignment 3 (due end of week 4) |
| Week 4 | Collision detection and resolution, 3D object selection Lab 4 Assignment 4 (due end of week 5) |
| Week 5 | Path-finding (A* algorithm) Proposal: Student mid-term project proposals (due end of week 6) Project: Project presentation (week 8) Lab 5 Assignment 5 (due end of week 6) |
| Week 6 | Finite State Machines, Aiming, Fuzzy logic Lab 6 Assignment 6 (due end of week 7) |
| Week 7 | Aiming, Chase and Evade, Flocking Lab 7 Student final exam week project proposals (due end of week 9) |
| Week 8 | Student mid-term project presentations Lab 8 |
| Week 9 | Architecture, optimization, threading Audio programming, Sound Engines Case study: Vector Force Lab 9 |
| Week 10 | Network programming, client/server architecture, shared virtual worlds Case study: Mythic Lab 10 |
| Finals Week | Student project presentations |