CS 391: Selected Topics: Game Engine Development
Course Information
Class Meetings
Tuesday, Thursday 8:30 to 9:45 am.
Instructor(s)
| Instructor: | Dr. Clifton Presser |
| Office: | Glatfelter 210 |
| Phone: | 337-6639 |
| Email: |
cpresser@gettysburg.edu
|
| Office Hours: |
Monday through Friday 10:00 am to 11:00 am.
Drop in any time my door is open.
|
|
Class web site
You are responsible for checking the class web site regularly.
Announcements and assignments will be posted. This semester we are using the
Moodle course management system.
Prerequisites
CS 216 or consent of the instructor.
Text
Madhav, Sanjay. Game Programming Algorithms and Techniques: A Platform-Agnostic Approach. Addison-Wesley. 2014.
Topics
This course will take a bottom up approach to game development so we will investigate and build various components of games and game engines.
| C++ Programming |
Animations |
Rendering Engines |
| Memory Management |
3D Math (Vectors, Matrices, Quaternions) |
Random Numbers |
| Terrain Generation |
Buffered and Unbuffered Input |
File management |
| Scripting |
Network Gaming |
Game AI |
| Collision |
Ray Casting |
Graphical User Interfaces |
| Particle Systems |
3D Audio |
Rigid Body Dynamics |
Course Goals
In this course students will:
- Build small to medium size projects using C++.
- Understand the interactions between components of computer games.
- Create programs that allow interaction with a 3D virtual environment.
- Simulate forces and collisions of objects on a computer.
- Compare and contrast graphical game programs with other types of programs (command line, event-driven etc).
Curricular Goals
CS391 fulfills the Quantitative, Inductive and Deductive Reasoning goal of the Gettysburg Curriculum. The course components that address this goal are:
- Programming.
- Simulating physics.
- Vector Mathematics.
Cluster Opportunity
This class provides a particularly good opportunity for a course cluster project that fulfills the Integrative Thinking Goal of the Gettysburg Curriculum. One could write a game, simulation or interactive experience based on a topic from a class in another discipline.
Course Credit
According to the College Catalog's section on Degree Requirements: "For transfer of credit to other institutions, the College recommends equating one course unit with 4 semester hours." This valuation is in alignment with our 32 course requirement for graduation.
The federal government defines a credit hour
as the equivalent amount of work as 50 minutes in class and two hours out of class for one semester.
Therefore, this course should be the equivalent work of three hours and twenty minutes in class and 8 hours outside of class.
Since the course meets two and a half hours per week, the schedule contains a "fourth hour" item each week which
is some program, project, or activity outside of the normal homework assignments that you must complete.
Attendance Policy
You are expected to attend class regularly and keep up with the reading.
You are expected to read the material BEFORE coming to class on the day
that it is discussed. A comprehensive list of readings is given on the
calendar on the class web page.
We will build examples during class time. Some example will span
multiple class meetings. If you miss a class, it is your responsibility
to be prepared for the next one.
Grading Policy
Homework assignments and projects must be submitted at the beginning of
class on the day they are due. Late homework will be penalized 10% per day. Homework
submitted after the assignment is graded or after an answer key is
distributed will NOT be accepted. Homework will be graded on the second
class meeting or one week after they are completed, whichever is later.
Otherwise, all students who have turned the assignment in on time will
receive a 10% bonus. Due to some peer evaluation, assignments may
not be considered completed on the same day they are submitted.
Your grade in this course will be determined by dividing the total number
of points you receive on assessments by the total number of possible
points in the course and multiplying by 100. Assessments may include
programs, tests, quizzes, a final exam, colloquium attendance and anything
else I can find to assign a point value to.
Programs will be graded according to a specification and rubric provided
with the assignment.
Each student is required to attend at least two Computer Science colloquia during the semester.
Colloquia are generally held Thursdays from 11:30 to 12:30 and include lunch. Colloquia
attendance will be worth approximately 3% of your total grade. If your schedule prevents you
from attending colloquia, please let me know as early as possible.
Grade Ranges
| A+ | > 98 and exceptional work* | A | 93 - 100 | A- | 90
- 92.99 |
| B+ | 88 - 89.99 | B | 83 - 87.99 | B- | 80 -82.99 |
| C+ | 78 - 79.99 | C | 73 - 77.99 | C- | 70 -72.99 |
| D+ | 68 - 69.99 | D | 60 - 67.99 | F | below 60 |
* An A+ requires that you have a high A average and go above and
beyond expectations for the course. This may be in adding extra
functionality to a program or investigate a topic in greater depth than
we cover in class.
Honor Code and Honor Code Violations
All Gettysburg College students are expected to abide by the Honor Code.
All work in this course is to be done individually
unless the instructor specifically states otherwise.
This includes assigned projects as well as regular class work. The use
of the
computer may make it more tempting and easier to pass off another
person’s
work as your own. This is UNACCEPTABLE.
The department is always very aggressive about enforcement of the Honor
Code.
Calendar
Important dates for this semester. Other events will be posted on the Moodle site.
| Day |
Date |
Event |
| F | 01/30/15 | Last day to add/drop. |
| T | 03/10/15 | Spring Break (no class) |
| Th | 03/12/15 | Spring Break (no class) |
| F | 04/3/15 | Last day to drop with a W. |
| M | 05/1/15 | Celebration |
| M | 05/2/15 | Celebration |
| Sunday | 05/03/15 | Final Exam 1:30 pm |
Please send questions and comments to:
cpresser@gettysburg.edu