This is an old revision of the document!
Table of Contents
T-624-CGDD: Computer Game Design & Development, Spring 2014
UNDER CONSTRUCTION
Basic Info
- Instructor: David Thue, Marco Bancale
- Contact: David: Office in Venus floor 2, telephone 599-6412, e-mail davidthue[ ]ru.is
- Contact: Marco: marcob[ ]licorice.is
- Presentations, Tests, and Discussions: Weekdays 10:00-12:00 (V108)
- Project Work (with Instructors on-hand): Weekdays: 13:00-16:00 (V108)
- Online Forum: Piazza Course Page
- Project Tracking Software: Trello
Description
This course covers the theory and practice of designing and developing computer games, from generating initial concepts to creating a fully playable game. Computer games are interactive environments that serve a specific goal: some enable player fun, some convey rich emotions, and some change the way that people think about the world.
The emphasis of this course will be team-based collaboration, with each team working to design and develop a game from the start to the end of the course. In support of this process, each team will progress through a structured sequence of challenges during lab time, as guided by the concepts that are discussed and practiced during class.
Books
There is no course textbook, but you have access to several books in the library: Game Programming Gems 1 through 8 (various), GPU Gems 3 (Nguyen), CryENGINE 3 Cookbook (Tracy), Unity 3.x Game Development Essentials (Goldstone). You also have access to Game Developer's Magazine (several years).
Intended Learning Outcomes
On completion of the course students are expected to be able to:
- Employ focused strategies to generate ideas for novel computer games
- Describe the formal elements of games and the relationships between them
Events & Deliverables
The term will consist of three major events. On “Pitch Day” (May 2, morning), each student team will present their game idea to the class and receive feedback from a panel of judges (comprised of both their peers and industry professionals). On “Alpha Day” (May 9, morning), each student team will conduct an evaluation of a playable prototype of their game with their peers as test participants. On “Demo Day” (week of May 19, final date TBA), each student team will present their finished game demo and run a station where students and guests can play their game.
During weeks 2 and 3 of classes (May 5 to May 16) each student team is expected to post brief daily progress updates using the course project tracking software. Each update is due by 7:00 on the weekday following the period of work covered (e.g., 7:00 on Wed for work done on Tue).
Before Alpha Day, each team is expected to write and submit an Alpha Testing Plan (due by 17:00 on May 7). NB: Any team that fails to submit their Alpha Test Plan on time will be eligible to receive at most half of the maximum grades for both the Alpha Test Plan and Alpha Day.
After Demo Day, each student is expected to write and submit a Post-Mortem that gives their personal account of working on their team’s game (due by 23:59 on May 23). Late submissions of Post-Mortems will incur a penalty of 15% per day including weekends and holidays.
Description | Material | Due | Weight |
---|---|---|---|
Pitch Day | Presentation | Fri May 2 (morning) | 10% |
Daily Updates | Cards on Trello | May 6 to Fri May 16 (by 7:00 daily) | 5% |
Alpha Test Plan | Document (1-2 pgs) | Wed May 7 (by 17:00) | 5% |
Alpha Day | Testable Prototype & Alpha Test | Fri May 9 (morning) | 10% |
Demo Day | Presentation & Final Game Demo | Week of May 19, exact date TBA | 30% |
Post-Mortem | Document (3-5 pgs) | Fri May 23 (by 23:59) | 20% |
Total | 80% |
Lab Projects
The practical classes on Wednesdays will be in the form of self-guided lab projects with assistance. The focus will be on C++ development using the Ogre 3D graphics engine and related game libraries. These projects will not be graded, but demonstrating successful results to the instructor will count towards participation grade. In addition, all source code should be uploaded into MySchool to register the completion.
Online Quizzes
Throughout the semester the instructor may provide several online quizzes in MySchool from the theoretical material. These quizzes are meant for students to review recently covered material and will not directly count towards the final grade.
Discussion System
Please use this course discussion system for posting questions regarding labs, problems or projects - or in fact anything you wish related to the course - rather than sending us emails. That way we can build a shared repository of useful questions/answers (you can of course still send us emails, but consider first whether you can post things here instead).
Tentative Schedule
Week | Lecture (Tue) | Lab (Wed) | Lecture (Thur) | Due | |
---|---|---|---|---|---|
01 (JAN 13-19) | Chapter 1: Introduction | "LAB1: Ogre Startup Sequence" | Chapter 2: Tools | ||
02 (JAN 20-26) | Chapter 7: Game Loop and Time (A) + Ogre 3D | "LAB2: Making a scene" | Chapter 7: Game Loop and Time (B) + Engine Review | ||
03 (JAN 27-02) | Chapter 4: 3D Math for Games | "LAB3: Applying Math" | Chapter 5: Engine Support Systems | PROB1 | |
04 (FEB 03-09) | Chapter 6: Resources | "LAB4: Resources" | Chapter 3: Software Engineering (A) | ||
05 (FEB 10-16) | Chapter 3: Software Engineering (B) | Problem Set 1 Review | Engine Presentations | PRESENT | |
06 (FEB 17-23) | Chapter 8: Human Interface Devices | "LAB5: Human Interface Devices" | No Class | ||
07 (FEB 24-02) | Chapter 10: Rendering (A) | "LAB6: Scene Graph" | Chapter 10: Rendering (B) | ||
08 (MAR 03-09) | Chapter 10: Shader Programming (A) | "LAB7: Programmable Shaders" | Chapter 10: Shader Programming (B) | PROB2 | |
09 (MAR 10-16) | Guests: Svanhvít + Jon CCP Tech Artists | "LAB8: Particle Systems" | Chapter 14: Gameplay Foundation Systems | ||
10 (MAR 17-23) | Guests: Steve + Logi CCP Graphics Programmers | Final Status Meetings | Guest: Patrick CCP Engine Expert | ||
11 (MAR 24-30) | Guest: Harri Atomstation Networking Expert | "LAB9: Physics Optional" Final Project Work | Guest: Claudio Pedica Gagarín Animation and AI Expert | ||
12 (MAR 31-06) | Exam Review | Final Project Work | Final Demos | PROJECT PROB3 | |
Attendance
Please note that there is a 70% attendance requirement. You must pass this attendance limit in order to take the exam. Please inform the instructor if this is hard for you for some reason such as scheduling conflicts or sick leave.
Participation Grade
Participation grade will be based on: (1) Attendance, (2) Completing lab projects, (3) Participation in online discussion. To the extent possible, this will also be based on how actively the student participates in in-class discussion (based on instructor's subjective assessment).
The base participation grade will be calculated as 10 * (0.5*(Labs_completed/8) + 0.5*(Portion of lectures attended)). The teacher can then add possible bonus points to this base grade based on optional lab points or a subjective evaluation of the student's participation throughout the semester (into which the online discussion may factor).
Grading
Part of Course | Total Weight |
---|---|
Participation | 10% |
Problem Sets | 15% |
Engine Presentation | 10% |
Final Project | 35% |
Final Written Exam | 30% |
Total 100% |