Interactive Media & Game Development Worcester Polytechnic Institute |
IMGD |
---|
Course Title: | Technical Game Development I |
---|---|
Course Number: | IMGD-3000 |
Term | C 2009 |
Meeting Info: | Lecture: Mon., Tue., Thu., Fri. 03:00-03:50pm, Goddard Hall (GH), Room 227 Lab: Wed. 4:00-4:50pm, Fuller Labs (FL), Room 222 |
Instructor: | Prof. Robert W. Lindeman |
E-Mail: | gogo at wpi.edu |
Telephone: | x6712 |
TA: | TJ Loughlin (tjloughl at wpi.edu) |
Textbooks: |
GUIDE: The Beginner's Guide to the C4 Engine, James Brady, A. A. Cruz, James H., and David Vasquez, 2008
Secondary Books: U3DGD: Ultimate 3D Game Engine Design & Architecture, Allen Sherrod, 2007, Charles River Media, ISBN: 1-58450-473-0 Read each chapter during the week it is assigned. The books discuss much more than I can cover in class, and I will cover things not in the books. You must come to class prepared! |
The course is designed to give you an appreciation for the complexity involved in creating video games from the ground up. While playing video games has become very popular, actually building them requires developers to bring together various complex (and interesting!) technical pieces. As the bar keeps rising on game sophistication, it is more important than ever to apply sound software engineering and design principles, so that the level of software re-use and maintainabilty is increased.
It seems most game developers first got into the field because they found building games was at least as much fun as playing them. Hopefully you will feel this way too.
There are several objectives for this course:
There are many other things that must come together to make a successful game. Thankfully, you have four years, and a whole array of courses, within which to accumulate skills and experience in many of these.
Therefore, there are some things we won't be stressing in this course. The main ones include artistic skills, and traditional computer graphics skills. For the former, we have a sister course to this one called IMGD 3500: Artistic Game Development I, and for the latter there is a CS course called CS 4731: Computer Graphics.
We will be working closely with students from IMGD 3500 on the projects in this course.
33% | Three Exams |
33% | Regular Projects |
34% | Final Project |
The IMGD lab (FL-222) can be used for this course, and the game engine code for the final project will be accessible from there.
Individual projects are expected to be done individually. As such, students are encouraged to discuss their work with each other, but are also expected to do the work by themselves.
Any breach of professional ethics as evidenced, for example, by copying exams or projects, downloading code from the Internet, cooperating in more than discussions and study groups, misusing computer resources, or using outside help of any kind, will be considered adequate reason for an NR in the course.
Group projects are designed so that every member gains a significant amount of new material. In the workplace, each team member is expected to contribute. Participants in group projects in this course should keep this in mind, and act accordingly. In evaluating each group, all team members will be asked to distribute a fixed set of "points" to the rest of their team, based on how much each member contributed.
It is to be emphasized that knowledge of material and professional behavior are tied together; failure in one of them negates any excellence in the other. Students who stay in the course past the first three days agree to adhere to the strictest rules of professional behavior.
The official WPI statements on Academic Integrity can be accessed at http://www.wpi.edu/Pubs/Policies/Honesty/Students/. Those who have any doubt about what that means, and fail to gain that understanding after a discussion with the instructor, are encouraged to drop this class. Remember this warning - any breach of ethics will earn you an NR.
Week | Dates | Lecture Topic | Book Chapters | Slides | Projects |
---|---|---|---|---|---|
1 | 01/15-01/16 | Intro. to Game Development; The Game Development Process Jäger Description |
OOGD: Ch. 1-2 | Intro | Fri. 01/16: Project 1 ASSIGNED |
2 | 01/20-01/23 | Anatomy of a Game Engine: Game Core; Object-Oriented Design | GUIDE: Ch. 9 U3DGD: Ch. 2 |
Gold's Nuggets Game Engine Structure |
Tue. 01/20: Project 1 DUE Tue. 01/20: Project 2 ASSIGNED |
3 | 01/26-01/30 | Object-Oriented Design; Scene Management EXAM 1: Fri. 01/30 |
OOGD: Ch. 4 GUIDE: Ch. 11 U3DGD: Ch. 5 |
Design Patterns Scene Management |
Tue. 01/27: Project 2 DUE Tue. 01/27: Project 3 ASSIGNED Thu. 01/29: Final: Project Kickoff Fri. 01/30: Final: Web site up Fri. 01/30: Final: SourceForge up |
4 | 02/02-02/06 | Artificial Intelligence |
U3DGD: Ch. 7 & 8 | AI, part 1 AI, part 2 |
Tue. 02/03: Final: Basic structure Fri. 02/06: Final: Milestone 1 |
5 | 02/09-02/13 | Artificial Intelligence; Iterative Deveopment Techniques EXAM 2: Thu. 02/12 |
OOGD: Ch. 9 | A Star |
Wed. 02/11: Project 3 DUE |
6 | 02/16-02/20 | Iterative Development Techniques Thu. 02/19: NO CLASS - Academic Advising Day |
OOGD: Ch. 7 | Iterative Development |
Mon. 02/16: Final: Milestone 2 Fri. 02/20: Final: Milestone 3 |
7 | 02/23-02/27 | Illumination; Texturing | Illumination Texturing |
Wed. 02/25: Final: Progress presentation |
|
8 | 03/02-03/06 | EXAM 3: Tue. 03/03 FINAL PROJECT PRESENTATIONS: Thu. 03/05, 2-4pm, Olin 107; Sound |
Mon. 03/02: Final: Milestone 4 Thu. 03/05: Final Project DUE |
Time | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
9:00 | |||||
:30 | |||||
10:00 | Rob's Office Hours FL-B24a |
||||
:30 | |||||
11:00 | Rob's Office Hours FL-B24a |
TJ's Office Hours FL-318 |
|||
:30 | |||||
12:00 | |||||
:30 | |||||
1:00 | IMGD 3500 FL-222 |
IMGD 3500 FL-222 |
|||
:30 | |||||
2:00 | TJ's Office Hours FL-318 |
||||
:30 | |||||
3:00 | IMGD 3000 GH-227 |
IMGD 3000 GH-227 |
IMGD 3000 GH-227 |
IMGD 3000 GH-227 |
|
:30 | |||||
4:00 | TJ's Office Hours FL-318 |
IMGD 3000/3500 Lab FL-222 |
|||
:30 | |||||
5:00 | TJ's Office Hours FL-318 |
||||
:30 | |||||
6:00 | |||||
:30 | |||||
7:00 | |||||
:30 | |||||
8:00 | |||||
:30 |