Program Overview
Program Overview
The Computer Game Programming course is designed to help students build the programming skills needed to turn ideas into games. This course covers both runtime systems and asset pipelines, along with game-design exercises.
Course Goals
The course aims to teach students by building games from nearly the ground up, using C++ and OpenGL hacking, scripting, and documentation-reading. Familiarity with C++ and modern OpenGL (3.3+) API is beneficial but not required.
Work
Students will be graded out of 20 + 3 + 6 points, divided as follows:
- Class Participation: 6 points
- Small Games: 3 points
- Final Game: 20 points
Course Structure
- Class participation score will be based on contributions to discussions.
- Small games will be assigned roughly weekly to highlight basic game-related functions.
- The Final Game will be a larger undertaking by groups of 3-4.
Grading
- There are no late days; however, if the lowest small game score is less than 3, it will be replaced by a 3 when computing the grade.
Resources
The course does not have a textbook, but several documents available on the internet may be useful, including:
- The OpenGL Specifications
- docs.GL
- SDL Documentation
- cppreference.com
- Advances In Real-Time Rendering SIGGRAPH course notes
- Blender API Documentation
Tools and Software
The course will utilize various cross-platform content-creation tools, including:
- GIMP
- Inkscape
- Blender
- Audacity
- BeepBox
- JFXR
Free Game Assets
Students can access free game assets from:
- Kenney.nl
- Poly Haven
- FreePD
- Incompetech
- freesound
- gameaudiogdc
- Google Fonts
Schedule
The schedule is subject to change and includes due dates for assignments and projects.
Assignments
- Game1: Sprite-Based Game (due September 2)
- Game2: The Virtual World (due September 9)
- Game3: Require Sound (due September 16)
- Game4: Choice-Based Game (due September 23)
- Game5: Multiplayer (due October 7)
- Final A: Prototype (due October 28)
- Final B: Vertical Slice (due November 6)
- Final C: Build Out (due November 25)
- Final D: Polishing & Presskit (due December 4)
Final Project
The final project will be a larger game developed by groups of 3-4, with a launch party on December 5.
Academic Integrity
Plagiarism is taken seriously, and students are expected to give credit for code and data used in their projects. Using other people's code or data without giving credit is considered plagiarism and will result in failure of the class. Students are also expected to follow course rules, including avoiding code from previous iterations of the course and following game-specific rules.
