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 a 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.
Recommended background: IMGD 3000.
(Here are the The Final Games produced by the class.)
Professor: Mark Claypool
email: claypool at cs.wpi.edu
office hours: T 3-4, Th 10-11, F 3-3:30
place: Fuller Labs, room 138
phone: x5409
Teaching Assistant: Zhe ("Jeff") Zhou
email: jeffz at cs.wpi.edu
office hours: M 3-4, T 3-4, Th 2-3, F 2-3
place: FL A22
phone: x6749
Email aliases (please use appropriately):
prof + TA: imgd4000-ta at cs.wpi.edu
class: imgd4000-all at cs.wpi.edu
Required:
Allen Sherrod. Ultimate 3D Game Engine Design & Architecture, 2007, Charles River Media, ISBN: 1584504730.
Grenville Armitage, Mark Claypool, and Philip Branch. Networking and Online Games: Understanding and Engineering Multiplayer Internet Games, John Wiley and Sons, Ltd., June 2006. ISBN 0470018577.
Final grades will be computed as follows:
The grading policy for each project will be provided at the time of the assignment.
Final grades will reflect the extent to which you have demonstrated understanding of the material and completed the assigned projects. The base level grade will be a "B" which indicates that the basic objectives on projects and exams have been met. A grade of an "A" will indicate significant achievement beyond the basic objectives. A grade of a "C" will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances. Similarly, no makeup exams will be given unless there exist exceptional, extenuating circumstances.
Late projects will be penalized 10% of total assignment value per day (with the weekend counting as one day) or partial day, and no assignments will be accepted after seven days beyond the due date. All projects are due at midnight of the due date. Projects turned in after that time will be counted late. Projects will be submitted as directed in class. Exceptions to these rules can be made only beforehand.
Cheating ... don't do it. Cheating, either by taking credit for work you did not do or getting unauthorized help on projects or exams, is a serious offense. Punishment is in an automatic NR for the course. Note, discussion among students and even sanctioned group work is encouraged, but blatant copying of writing, code, art, design, etc. without attribution of sources, is not allowed. When in doubt, ask the instructor first!
The official WPI statements on Academic Honesty Policy can be accessed at http://www.wpi.edu/Pubs/Policies/Honesty/policy.html.
(The list of reading from the texts will be provided here. In addition, supplemental reading material will be provided as links, as appropriate.)
J. Dyck, D. Pinelle, B. Brown, and C. Gutwin. Learning from Games: HCI Design Innovations in Entertainment Software, Proceedings of Graphics Interface, pages 237-246, 2003.
Allen Sherrod. Ultimate 3D Game Engine Design & Architecture, Charles River Media, 2007. Chapter 6.
Steve Rabin. Introduction to Game Development, Charles River Media Incorporated, 2005. Chapter 4.3.
Steve Rabin. Introduction to Game Development, Charles River Media Incorporated, 2005. Chapter 4.2.
Allen Sherrod. Ultimate 3D Game Engine Design & Architecture, Charles River Media, 2007. Chapter 7.
Bruce Seamo. Programming Topics, Online, Last modified November 04, 2002. Min-Max Search and Alph-Beta Search.
Steve Rabin. Introduction to Game Development, Charles River Media Incorporated, 2005. Chapter 5.3.
Sockets (read one of the below):
Grenville Armitage, Mark Claypool, and Philip Branch. Networking and Online Games: Understanding and Engineering Multiplayer Internet Games, John Wiley and Sons, Ltd., June 2006. Chapter 4.
Grenville Armitage, Mark Claypool, and Philip Branch. Networking and Online Games: Understanding and Engineering Multiplayer Internet Games, John Wiley and Sons, Ltd., June 2006. Chapter 5.
Grenville Armitage, Mark Claypool, and Philip Branch. Networking and Online Games: Understanding and Engineering Multiplayer Internet Games, John Wiley and Sons, Ltd., June 2006. Chapter 6.
Slides from the in-class lectures will be available shortly after they are presented, depending upon how things go. Here is what we have so far:
Admin | ppt | |
Human Computer Interaction | ppt | |
Physics | ppt | |
Artificial Intelligence | ppt | |
Sockets | ppt | |
Networking | ppt | Project 1 | ppt | Project 2 | ppt | Project 3 | ppt | Project 4 | ppt |
Kevin Dill. Embracing Emergent Behavior with Goal-Based AI, April 12, 2007.
Emmanuel Agu. Computer Graphics in Games, April 13, 2007.
The projects are the game development related assignments you will have for the course.
Individual: You will work alone for projects 1-3. You are not to work in groups of any kind. You are encouraged to talk about solutions with your class mates and can even help each other debug code. However, cutting and pasting and mailing code to each other is not allowed.
Groups: You will work in groups of 3 (groups of 2 or 4 are possible with permission) for the 4th project only. Working in groups will give you valuable "real-world" experience as well as provide you with a "built in" source for help.
Here are the project descriptions:
Project 1: Chess Board, (Mar 26) (Slides: ppt, pdf)
Project 2: Shallow Blue, (Apr 6) (Slides: ppt, pdf)
Project 3: Online Chess, (Apr 17) (Slides: ppt, pdf)
Project 4: A Technical Game, (Mar 16, Mar 23, Apr 9, Apr 19, Apr 27) (Slides: ppt, pdf)
In this section are any samples discussed in class, or any other demonstration-type class materials. Samples will be updated soon after the discussion in class.
Well-done examples of project 1:
Well-done examples of project 2:
Well-done examples of project 3:
The Final Games for project 4.
You have to work in groups for the projects. For some groups, it comes as naturally as a putting on socks before putting on your shoes. For others, it takes work. You might read (and re-read periodically):