CS3540 - Game programming - Syllabus
This course introduces the different subsystems used to create a 3D game, including rendering, animation, collision, physics, audio, trigger systems, game logic, behavior trees, augmented reality and simple artificial intelligence. Offers students an opportunity to learn the inner workings of game engines and how to use multiple libraries such as physics and graphics libraries to develop a game. Discusses graphics pipeline, scene graph, level design, behavior scripting, object-oriented game design, world editors, and game scripting languages.
As part of the course, students will need access to Unity and Blender. Familiarity with, or quickly picking up, C# will be needed. Use of git is recommended.
The resources for the course should all be available freely for Northeastern students. Some textbooks are available for free via SpringerLink. Instructions for access from off-campus can be found here.
The textbooks we will be using in this class are:
Sue Blackman. Beginning 3D Game Development with Unity
Ramakrishnan Mukundan. 2012. Advanced Methods in Computer Graphics: With examples in OpenGL.
Murilo G. Coutinho. 2013. Guide to Dynamic Simulations of Rigid Bodies and Particle Systems.
Georgios N. Yannakakis and Julian Togelius. 2018. Artificial Intelligence and Games. (a draft is available on the book website)
Magy Seif El-Nasr, Anders Drachen, and Alessandro Canossa. 2013. Game Analytics: Maximizing the Value of Player Data.
Software we will use in the class:
NOTE: If you encounter issues running WebGL exports in Chrome, try a different browser.
Specific assignments may require additional software.
While not required, it is highly recommended that you use git for working on your assignments and projects.
The lecture notes for this course will be uploaded on Piazza
Online Discussions and Questions
This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org.
Find our class page at: https://piazza.com/northeastern/spring2019/cs3540/home
The course will consist of a number of individual assignments and a group project. Turnin will be handled on Blackboard (except the last assignment). Grades will be returned through Blackboard. Note that the percentage shown in Blackboard is unweighted and may not reflect the actual weighted grading.
The expected breakdown of grades is as follows, though tentative and subject to change.
Assignments: 67% (8 assignments in total)
Assignment 1: Game Development Foundations: 6%
Assignment 2: Player Controls and Interaction: 7%
Each of the remaining 6: 9%
Project Proposal: 4%
Project Playesting/Checkpoint 1: 8%
Project Playesting/Checkpoint 2: 8%
Project Presentation: 5%
Project Final: 8%
The following scale is expected to be used for final grades. A curve may be used, but is not guaranteed.
93 - 100: A
90 - 92: A-
87 - 89: B+
83 - 86: B
80 - 82: B-
77 - 79: C+
73 - 76: C
70 - 72: C-
67 - 69: D+
63 - 66: D
60 - 62: D-
0 - 59: F
Students are strongly encouraged to collaborate through discussing strategies for completing assignments and talking about the readings. However, all work that you turn in with your name on it must be in your own words or coded in your own style. Directly copied code or text from any other source is not allowed. Feel free to discuss general strategies, but any written work or code should be your own, in your own words/style. Not understanding what plagiarism does not constitute an excuse for committing it. You should familiarize yourself with the University's policies on academic dishonesty at the beginning of the semester. If you have any doubts whatsoever about whether you are breaking the rules - ask! To reiterate: plagiarism and cheating are strictly forbidden. No excuses, no exceptions. All incidents of plagiarism and cheating will be sent to OSCCR for disciplinary review.
All assignments and project milestones are due on the day and time indicated on the schedule. Anything turned in after the deadline will receive a 0.
There are no late days for the assignments and project milestones.
Special circumstances will be handled on a case-by-case basis.
Students who have documented disabilities should contact me privately to discuss any specific needs and to agree upon a reasonable accommodation. Please see the campus Disability Resource Center for information on the kinds of accommodations available through the University. Students MUST notify me at least a week before exams if they are requesting additional time so that we can find a proper room.
Title IX Information
Title IX makes it clear that violence and harassment based on sex and gender are Civil Rights offenses subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, etc. If you or someone you know has been harassed or assaulted, you can find the appropriate resources here: http://www.northeastern.edu/oidi/titleix/.