WPI Worcester Polytechnic Institute

------------------------------------------

Technical Game Development II

IMGD 4000
D-term 2017

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.

Recommended background: IMGD 3000

Course objectives

Info

Grading

Slides

Projects

Timeline

Resources

General Course Information

Staff

Professor: Charles Rich
email: rich at wpi.edu
office hours: Mon 11am-12pm, Thu 10-11am
place: Fuller Labs, Room B25b
phone: x5945

Teaching Assistant: Chaitany Nimkar
email: cnnimkar at wpi.edu
office hours: Tue 2:30-3:30pm, Wed 6-7pm
place: Fuller Labs, Room A22 (Zoo Lab)

Teaching Assistant: Keenan Gray
email: krgray at wpi.edu
office hours: Mon 12-2pm, Wed 3-5pm (IMGD Lab), Thu 11-1
place: Fuller Labs, Room A22 (Zoo Lab)

Communication (please use appropriately):
Prof and assistants: imgd4000-staff at cs.wpi.edu
Entire class: imgd4000-all at cs.wpi.edu

For all except personal, confidential questions please use the online forum in InstructAssist (Tools > Forum) created for this class, instead of email. If you have a question, it is very likely someone else has the same question, and this prevents us from needing to answer it multiple times. Please also feel free to provide peer answers.

Also please subscribe to all forum postings:
Administration > My Profile Options > Forum Settings > Email alerts for ALL new threads in the forum > Subscribed

Time and Place

Lectures: Mo, Th
Time: 2 - 3:50pm
Place: Salisbury Labs (SL), Room 105

Lab: We
Time: 2 - 2:50pm
Place: IMGD Lab (FL), Room 222

Book

There is no assigned textbook for the course. For development, you will make use of the many online documents for Unreal Engine. Any other needed course materials will be made available in class.

You should own a really good book (or two) on C++ programming:

Software

We will be using Unreal Engine, Version 4.15, which will be installed on all machines in the IMGD and Zoo Labs. For personal machines, you may download your own free copy here.

Unreal Engine is configured by default to work with Microsoft Visual Studio. We will be using Visual Studio 2015 Update 3, either the Professional version, which is installed in the labs, or the Community version, which you may download for free here.

Please do not ask the TA's to help you debug your code on any other versions!

Submission

Submission of all assignments (individual and team) will be done using InstructAssist. Login with your usual WPI credentials and select this course.

Topics

Here is the list of topics that may be covered in this course (not necessarily in order of appearance):

Info

Grading

Slides

Projects

Timeline

Resources

Grading Policy

Overall

Final grades reflect the extent to which understanding of the material has been demonstrated and the assigned projects completed. The base level grade is a "B" which indicates that the basic objectives on projects and exams have been met. A grade of an "A" indicates significant achievement beyond the basic objectives. A grade of a "C" indicates not all basic objectives were met, but work was satisfactory for credit. No incomplete grades are assigned unless there exist exceptional, extenuating circumstances. Similarly, no project deadline extensions or makeup exams are given unless there are exceptional, extenuating circumstances.

Breakdown

Final grades will be computed as follows:

Quickstart Project7%
Pathfinding Project12%
Behavior Tree Project12%
Game Project (Group)45%
Mid-term12%
Final12%

The bulk of the course grade involves developing game technology solo, and designing and developing a complete game as a team. Development is in Unreal Engine 4, done through a combination of "Blueprints" scripting and C++.

The grading policy for each project is provided at the time of the assignment. In general, for each project there is a basic objective for the majority of the assignment points. There may be an extended objective for demonstrating additional work and understanding. Projects, including all data and source code, as appropriate, are to be turned in online as specified in the writeups.

All projects besides the game project are to be done individually, without partners. The game project, designing and developing a complete game, must be done in groups with technical programmers from IMGD 4000 and an artist from IMGD 4500. The IMGD 4000 and IMGD 4500 instructors help organize students teams the first week of class.

There are two in-class exams. These are designed to test important class concepts that may not have been adequately demonstrated in the programming projects. The mid-term exam is roughly half-way through the term, and the final exam is towards the end of the term. The final exam is non-cumulative. Exams will be closed book and closed notes, unless otherwise indicated. The majority of each exam will cover concepts presented in class with a few questions testing additional understanding and insight.

Late Policy

Exams are done, and due, in class. Projects are due online at 11:59pm on the due date, unless otherwise noted. Any late project is penalized 50% if submitted by 11:59 on the day following the due date. No credit will be given for late projects after that.

Class Conduct

This course is intended for serious students. Participants are expected to adhere to all rules of professional behavior. 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.

For individual assignments, students are encouraged to discuss their program designs, bugs and and issues with each other, but are expected to do the actual programming by themselves. Taking someone else's work, even if just a part of a program, and passing it off as one's own is the definition of plagiarism and is a serious offense. Do not copy and paste or email code to other students (unless part of your team on the group project). If you do use code from somewhere else, attribute the source. When in doubt about possible "grey" areas, ask!

Any breach of professional ethics as evidenced, for example, by copying exams or code for the projects, using code from the Internet without attribution, cooperating more than just by discussions in study groups, misusing computer resources, or using outside help of any kind, is considered adequate reason for an NR in the course and a report to the Dean of Students. Refer to the official WPI statements on Academic Integrity for details.

Info

Grading

Slides

Projects

Timeline

Resources

Slides

Slides from class lectures and other in-class materials will be available shortly before or after they are presented.

Game Engines pdf
Pathfinding pdf
Camera Control pdf
Artificial Intelligence pdf
Movement pdf
Neuroevolution pdf
Virtual Reality pdf
Physics pdf
Networking pdf
Shaders pdf
Procedural Content Generation pdf

Info

Grading

Slides

Projects

Timeline

Resources

Projects and Due Dates

Detailed information regarding each project will be available before it is time to start working on the project. See timeline for dates.

Info

Grading

Slides

Projects

Timeline

Resources


This course web site is maintained by Charles Rich (rich at wpi.edu) with material provided by Mark Claypool