Department of Cognitive Science

Undergraduate Program - Graduate Program - Courses - People - Research - Lectures - Home


44829 COGS-4520-01
45283 CSCI-4520-01
Game Development I
Wednesdays 2PM-5:50PM
Sage 3101

Instructor: Marc Destefano
Office: Sage 3204
Phone: 276-3738
Email: destem [at] rpi [dot] edu
Office Hours: Mondays, 1-3PM
TA: Jeff Sult, sultj [at] rpi [dot] edu

Course Description: This class brings together software engineering and the arts to produce small real-time interactive video games. You will work with people outside your traditional discipline to create something that you could not create on your own. You will learn good software design practices, how to decompose large projects so multiple people can work on it simultaneously, and proper version control use.

Objective: My objective is to give anyone who is interested in entering the gaming industry the skill set necessary to compete. Developing video games takes a myriad of talents: art, programming, design, and most importantly, the ability to work in a team and communicate with others.

Course Policies

Preparation and Attendance: Attendance is mandatory. You are a member of a team, and constant communication with your team is necessary. This class features an intense workload, as complete games are very difficult to make, and you'll be working within a highly compressed timespan. You will spend more time with your team outside of the classroom than within.

Academic Honesty: Student relationships are built on mutual respect and trust. Students must be able to trust that their teachers have made responsible decisions about the structure and content of the course and that they are conscientiously making their best effort to help students learn. Teachers must be able to trust that students do their work conscientiously and honestly making their best effort to learn. Acts that violate this mutual respect and trust undermine the educational process. They counteract our very reason for being here at Rensselaer and will not be tolerated. Any student who engages in any form of academic dishonesty will receive an F in this course and will be reported to the Dean of Students for further disciplinary action. The Rensselaer Handbook has defined various forms of Academic Dishonesty and procedures for responding to them. All of these forms are violations of trust between students and teachers. Please familiarize yourself with this portion of the handbook.

Gender-fair language: Because the way we speak and write affects the way we think, everyone in this course is expected to use gender-fair language in all discussions and writing. A guide to gender-fair language is available from the Writing Center and from the Library.

Grading: Your grade will be based on four projects that your team will complete over the course of the semester, with teams being re-arranged after each project. At the beginning of each class when a project is due, each team will give a short presentation of their game to the class. Afterwards, each team will get feedback regarding their work. Each team will hand in a short printed document indicating what work was performed by each member of the team, with the document signed by every member of the team. This record of work will be balanced against the quality of the project to determine each student's individual grade.

Milestone
Percentage of Grade
Project 1 (2D)
20%
Project 2 (2D)
30%
Project 3 (3D)
20%
Final Project (3D)
30%

Class Schedule (not cast in stone)

Sept 2 Introduction, Python tutorial
Sept 9 Pygame tutorial, Project 1 assigned
Sept 16 Studio
Sept 23 Project 1 due, Project 2 assigned
Sept 30 Studio
Oct 7 Studio
Oct 14 Project 2 due
Oct 21 Art export tutorial
Oct 28 Panda3D tutorial, Project 3 assigned
Nov 4 Studio
Nov 11 Project 3 due, Final project assigned
Nov 18 Studio
Dec 2 Studio
Dec 9 Final project due

Resources: You'll need the following software:

Python cheat sheet

Pygame cheat sheet

Programmers - If you know C++, Python is easy to learn. You'll get over "the whitespace thing" very quickly. I recommend you read chapters 2-6 of Dive into Python to get started. Pay special attention to list slicing, list comprehension, and the differences between the __init__ method and a C++ constructor.

Artists - The way the pipeline will generally work is the following: While the models are being constructed, the programmers will use simple shapes to prototype the game mechanics. Once the model is built, rigged, and the UV map has been unwrapped, the model is then passed to the programmers for further prototyping. During this time the model is animated and textures, with the idea that the texture map can then simply be plugged into the game.

There is an SVN repository available

Assignment 1: Shmup

Panda template


Department of Cognitive Science
Rensselaer Polytechnic Institute
Carnegie 108
110 8th Street
Troy, NY 12180
Phone: (518) 276-6472
Fax: (518) 276-8268