CPSC310A
Video Game Development

Syllabus

A summary of the course objectives, content, policies, and schedule.

Instructor: Dr. Durell Bouchard
Office Hours: MTWTh: 2:40-3:40, F: 1:40-2:40, also by appointment or open door
Office: Trexler 365-C
E-Mail: bouchard@roanoke.edu
Phone: 375-4901

Course Objectives


This course focuses on the techniques and technologies of creating real-time interactive 3D video games. Students will use OpenGL to create game engine and a game that uses the engine. Topics include 3D Transformations, Materials, Animation, Collision Detection, and Character Animation.

Intended Learning Outcomes: At the end of the course the successful student will be able to

  1. write programs with 3D graphics using OpenGL.

  2. implement a real-time interactive 3D video game engine.

  3. evaluate the performance benefits of various computational geometry algorithms and data structures.

  4. read and present real-time rendering and animation research.

Course Content


Prerequisite: CPSC170 (MATH 201 is recommended)

Text: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.1, by Jackie Neider, Tom Davis, and Mason Woo, Addison-Wesley, 1993.

Programming Assignments: Over the course of the semester each student will create a 3D game engine and game that uses the engine. The programming assignments break these large programs down into more manageable pieces. Many of the assignments depend on the completion previous assignments. Students are encouraged to start on them immediately when assigned and not fall behind.

Final Project: In addition to programming assignments, students will have a project at the end of the semester. The project consists of researching and implementing a published real-time rendering technique. Students will present the technique and their implementation of it, during the last week of classes.

Programming Activities: Programming activities are designed to give the student a structured experience in software design, implementation, and testing, and to increase the student's ability to use and understand the tools available for software development. Unless otherwise specified, the activities must be done during class and turned in before leaving. Late work will receive no credit.

Tests and Exam: One midterm and one comprehensive final exam will be given.

Exam Dates: Midterm Exam Wednesday, February 26
Final Exam Monday, April 28 (2:00PM-5:00PM)

Co-curricular: The Department of Mathematics, Computer Science, and Physics is offering a series of lectures designed to engage the campus community in discussions of ongoing research, novel applications, and other issues that face these disciplines. You are invited to attend all of the events but participating in at least 3 is mandatory. Within one week of attending an event you must submit a one page, single-spaced, paper (to Inquire) reflecting on the discussion. If you do not turn the paper in within the one week time frame you may not count that event as one you attended.

Grading: Course grades are assigned based on the following weights and scale:

Grade Weights: midterm exam.......10% final exam.........15% activities............5%
assignments..........50% final project.......17% co-curricular......3%

Grade Scale: 93-100 A        83-86 B        73-76 C        63-66 D
90-92 A-        80-82 B-        70-72 C-        60-62 D-
87-89 B+        77-79 C+        67-69 D+        below 60 F

Course Policies


Attendance Policy: Class attendance is vital to your success in this course; material covered during missed sessions is the responsibility of the student. Conversations held in class illuminate the published class materials and are subject to evaluation on subsequent tests. Moreover in-class assignments are not available for make-up.

Late Assignment Policy: Unless otherwise specified, assignments are to be turned in before the start of class on the due date. If you anticipate being unable to meet a deadline, talk to me at least 24 hours before the deadline. In extenuating circumstances we may be able to make special arrangements. Please note that this must be discussed -- just sending an email does not automatically grant you extra time. Due to the cumulative nature of the assignments, late assignments will be accepted until the due date of the final project. However, late assignments will have 1 / d percentage points deducted for each day late, where d is the number of days between when the assignment is due and when the final project is due. Electronic "glitches" do not waive your responsibility to submit your work in a timely manner.

Make-up Policy: Everyone is expected to take tests, quizzes, and the exam at the scheduled time. Make-ups will be given only for legitimate, documented absences that the instructor has been notified of ahead of time. Make-up tests, if given, may be oral.

Academic Integrity: It is accepted that you have read and understood the standards for academic integrity at Roanoke College. All tests, exams, and assignments are to be the work of the individual student. You are encouraged to get help from the instructor if you need help with any aspect of the course including programs and assignments. Student assistants, tutors, and classmates may help you understand course concepts but may not show you how to do any particular aspect of an assignment. Copying someone else's work or turning in someone else's work is NEVER allowed. Using someone else's work or ideas as your own is plagiarism and an academic integrity offense. Examples of academic integrity violations include copying a program or part of a program (even one line) from someone else, writing code for someone else, telling someone else how to solve a problem or having someone tell you how to solve a problem. Discussion among students about programming projects should be limited to general concepts, not specific aspects of how to complete the work.

Computer Use Policies: All students must abide by the Computer Use policies of Roanoke College. Failure to do so will result in involuntary withdrawal from the course.

Electronic Devices: The use of any electronic device during a test or quiz is prohibited. This includes cell phones, personal media players, personal digital assistants, and laptops. Any use of such a device during a test or quiz will be considered a breach of academic integrity.

Disability Support Services: If you are on record with the College’s Office of Disability Support Services as having academic or physical needs requiring accommodations, please schedule an appointment with Ms. Barbara Awbrey as soon as possible. You need to discuss your accommodations with her before they can be implemented. Also, please note that arrangements for extended time on exams and testing in a semi-private setting must be made at least one week before every exam.

If you believe you are eligible for accommodations but have not yet formally contacted Disability Support Services, please contact Ms. Barbara Awbrey, the Coordinator for Disability Support Services, at 375-2247 or drop by the Center for Learning & Teaching in Fintel Library.

Weekly Schedule


Week Topic Assignment
Jan 13 Drawing with OpenGL Load 3d Model
Jan 20 Transformations 3D Objects
Jan 27 Lighting
Feb 3 Materials Load Material File
Feb 10 Texture Mapping Load Texture Map
Feb 17 Blending
Feb 24 Masking
Mar 10 Animation Frame Invariant Animation
Mar 17 Collision Oriented Bounding Box Intersection
Mar 24 Physics
Mar 31 Character Animation Load Kinect Skeleton
Apr 7 Audio
Apr 14 Final Project Final Project