Prerequisites: MATH 1104, COMP 1406, COMP 1501, and COMP 2401.
Lectures three hours a week, tutorial one and a half hours per week.
COURSE OUTLINE:
COMP 2501 A Winter 2015
Computer Game Design and Development
COURSE WEB SITE:
http://www.scs.carleton.ca/~ldnel/2501winter2015
INSTRUCTOR: Louis Nel (5370HP)
ldnel@scs.carleton.ca,
http://www.scs.carleton.ca/~ldnel
LECTURES SCHEDULE:
Times
Location
Lectures:
Tue, Thu 10:00-11:30
TB236
Tutorial: A4
Mon. 11:30-1:00
HP5151
Tutorial: A1
Mon. 2:30-4:00
HP5151
Tutorial: A3
Wed. 11:30-1:00
HP5151
OFFICE HOURS: See the course web page for instructor and TA office hours.
COURSE DESCRIPTION:
(Calendar Description)
COURSE OBJECTIVES:
-Build basic knowledge of computer game design techniques and construction through the building of a game using an industry standard graphics environment.
-To learn the issues associated with game programming that distinguish it from general purpose programming.
-To, hopefully, have an enjoyable experience
designing and developing a game with other like-minded people.
COURSE CONTENTS (May
Contain, in no particular order):
-Game Design Concepts
-Graphics and Rendering
-Mathematics of Graphics and Transformations
-C++ Programming
Language
-OpenGL Graphics Framework
-Sprites and Textures
-Collision Detection
-Game Physics
-2D Games and related issues
-3D graphics and applications to 2D
-Mathematics of Games
-Game AI
-The use of Sound in Games
- ...
CLASS
NOTES and TEXT:
The course does not follow a particular text. The lectures will be based on powerpoint slides and code examples prepared from various books and internet resources. Some of the notes are based on previous offerings of the course, some will be re-done, or edited, as the course progresses. All lecture notes and references to resources will be made available through the course web site. You are encouraged to scour the internet for useful resources and let us know of any good ones you find helpful for the course so we can post them among the other resources we have listed. Much of the content of this course is widely discussed on the internet and there are many code examples that can be downloaded. Many of the code examples are intended to accompany a particular book but are accessible even if you don't have the book.
SOFTWARE:
We will be using the Microsoft Visual Studio 2013 edition as our IDE and compiler We will be programming in C++ and targeting the OpenGL 3.0 graphics API. Many code examples on the internet and books may use the older combination of Visual Studio 2010 and the (now deprecated) OpenGL code. Be aware of this if you are making use of online resources. The lab computers in HP 5151 are set up with Visual Studio 2013, and older versions, and both the Windows. You will probably want to set up a similar enviroment on your own machine. The computer you use must have a graphics card that is capable of running OpenGL (probably any computer bought after 2009 would be fine.)
The previous versions of the courses used Microsoft XNA 4.0 Game Studio software, and Microsoft DirectX 11. This is the first year we will run on OpenGL for this course and we will all be learning as we go. Some of the demo's of concepts will be from previous versions of the course.
You need either
Microsoft Visual C++ 2013 Express installed or Microsoft Visual Studio
2013 Professional. The express editions are free software from Microsoft but the full Visual Studio is available to students for free through the "Dreamspark" program:
http://msdn04.e-academy.com/elms/Storefront/Home.aspx?campus=carleton_cs
The Herzberg building has dedicated labs for the gaming courses in rooms HP5151 and HP4175. This course also has mandatory tutorials that will run in room HP5151. See the comment about tutorials below.
TUTORIALS:
This course has mandatory tutorials. They are mandatory in that they count towards your final mark. See the tutorial section of the course website for details. There will be 10 90 minute tutorials slot that you must attend and complete. Some of these tutorials session will be progress demonstrations of your game and one will be a demonstration of a tutorial written by you and executed by one of the other students.
GRADING:
The following table summarizes the deliverables in this course (this distribution is subject to minor adjustments during the course). Note there will be a peer evaluation component associated with your final game project. That is, your peers (other students) will be asked to judge your final game deliverable as compared to those of others and this judgement will affect (weight) your mark. Also notice there is a final exam but no midterm. In place of midterm there will be a tutorial created by you and evaluated by your peers. At the end of the term there will be presentations demonstrating the final games you have built. All presentations will take place either during class times, or during tutorial times. See the lecture schedule on the course web site for dates.
Deliverable | Course Weight | comment | max mark |
Tutorials/weekly individual assignments | 20% | T1-T10, excluding T7,T9
|
|
Assignment #1 | 5% | T03 extra deliverable | |
Assignment #2 | 5% | T05 extra deliverable | |
Assignment #3 Tutorial created by you and tried by other students (in place of midterm) |
10% | T07 | |
Game Code Progress Demo | 5% | Tutorial 09 | |
Assignment #4 Final Game 4A: final game demo presentaztion. and 4B: report and code Final Game including code, presentation and documents |
30% (weighted by peer assessment) 4A 15% |
Presentation (weighted by peer assessment) |
|
Exam | 25% | Exam |
Further details on the exact computation of the final mark and peer assessments will be provided as the course progresses.
ASSIGNMENTS:
A schedule for TA office hours will
be posted on the website as soon as they are available.