|Interactive Media & Game Development
Worcester Polytechnic Institute
|Course Title:||Technical Game Development II|
|Course Number:||IMGD 4000|
|Course Description||This course focuses on the application of advanced Computer Science topics as they impact game development. Networking and distributed systems issues are addressed, including scalability and latency compensation techniques, for designing games for online multi-player environments. AI, graphics and physics techniques specific to game development are discussed. Students will implement games or parts of games that apply advanced Computer Science topics.|
|Lectures:||Tue. & Fri. 01:00-02:50pm, Salisbury Labs (SL), Room 407|
|Lab:||Wed. 2:00-2:50pm, Fuller Labs (FL), Room 222 & A21|
|Instructor:||Prof. Robert W. Lindeman|
|E-Mail:||gogo at wpi.edu|
|E-Mail:||wangjia at wpi.edu|
In lieu of a textbook, we will be using video tutorials provided by Design 3.
Each student must purchase a one-month subscription (USD $20) to the site by going here:
Design 3 has also arranged for you to purchase a longer subscription at a discount (e.g., six months for $60). Ask the instructor for the access code if you are interested in this offer.
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. Students should be able to:
There are many other things that must come together to make a successful game. Thankfully, you have these 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 4500: Artistic Game Development II, and for the latter there is a CS course called CS 4731: Computer Graphics.
We will be working closely with students from IMGD 4500 on the main project in this course.
This course assumes you have mastered Software Engineering, and content from a course like IMGD 3000: Technical Game Deveopment I, including:
The projects will use the Unity Game Engine, which is one of the most popular game engines right now. However, in the future, another engine will undoubtedly take its place, so it is important not to view this course as "The Unity Course." Keep in mind that the "best" choice of engine for a particular project you may be working on in the future will depend on many facets. Keep an open mind, and learn much more than just Unity!
After the first project, the remainder of the projects will have you progressively build a game in teams.
Here is a list of links to things that might help you with the term project:
|10%||Project 1: It's Just 10% More!|
|10%||Project 2: Basically aMazing!!|
|10%||Project 3: Ghoulies!!|
|15%||Project 4: Who's the Boss?|
|15%||Project 5: Two Heads Are Better Than One!|
|10%||Final Project Game Completeness/Quality/Integration/Impression|
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 person 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/offices/policies/honesty.html. 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.
|Meeting||Date||Lecture Topic/Slides||In-Class Demos/Exercises/URLs||Projects|
|1||03/18 (Tue)||Intro; Game Engines||ASSIGNED: Project 1|
|Lab||03/19 (Wed)||Pitches made by Art students / Match making|
|2||03/21 (Fri)||Procedural Content Generation||DUE: Project 1
ASSIGNED: Project 2
|3||03/25 (Tue)||Procedural Content Generation||Project teams formed|
|Lab||03/26 (Wed)||SVN / FusionForge|
|4||03/28 (Fri)||Networked Games||DUE: Project 2
ASSIGNED: Project 3
|5||04/01 (Tue)||Decision Trees/State Machines
Summary of Hierarchical State Machines
|6||04/04 (Fri)||Advanced Pathfinding
Milestone 1: ALPHA - Progress presented in class
|7||04/08 (Tue)||MID-TERM EXAM|
|8||04/11 (Fri)||Scripting||DUE: Project 3
ASSIGNED: Project 4
|9||04/15 (Tue)||Basic Physics|
|Lab||04/16 (Wed)||Milestone 2: Progress presented in lab|
|10||04/18 (Fri)||Acceleration Structures; Advanced Texturing|
|04/22 (Tue)||NO CLASS!! THURSDAY SCHEDULE!!||DUE: Project 4
ASSIGNED: Project 5
Milestone 3: BETA - Playable game with Boss presented in class
|12||04/29 (Tue)||Advanced Texturing; Interactivity & Immersion|
|Lab||04/30 (Wed)||Milestone 3: Progress presented in lab|
|13||05/02 (Fri)||FINAL EXAM|
|14||05/06 (Tue)||Final Project Presentations||DUE: Project 5
(Final Project Description)
|3:00||TA Office Hours
|TA Office Hours