Introduction to Game Development – Fall, 2013 Syllabus

USC School of Cinematic Arts, CTIN 483 (Section 18354D)

Instructor Student Assistants Margaret Moser Will Hellwarth Raghav Bashyal 213-740-9437 (310) 422-3054 [email protected] [email protected] [email protected]

Please use [email protected] for class questions and turning in assignments.

Course Rationale All designers need the ability to communicate their ideas to others. Because games are interactive, a functioning prototype has much greater fidelity (i.e. resembles the desired experience) and communicates the designer’s ideas more clearly than any static description can. A game designer’s ability to prototype is thus equivalent to a cinematographer’s ability to sketch – while the skill does not directly appear in the final product, it allows the designer to refine his or her ideas and communicate them in a direct way to both team members and test audiences.

A good prototype is literally an experiment; it asks questions about game design. More often than not, prototypes prove that a given design direction is not viable or worth further pursuit, and such an outcome is a valuable failure. The ultimate goal for students in this program — this semester and after — is to develop innovative and compelling games, and prototyping is the fastest, surest way to achieve that goal.

This course will teach you the basic knowledge you need to be able to create digital prototypes of your own ideas. While you should not expect to come out of this course a great programmer, you will come out a better designer, equipped to explore and test your ideas without needing help.

Students of game design benefit in several ways from understanding code.

1. In cinema, the screenplay is the conceptual document for a film, allowing all team members to begin in preproduction with a shared understanding of the goals and potential pitfalls of the final piece. The central form for preproduction in games is the digital prototype. A concise and clear prototype provides an excellent template from which to engage collaborators, to discover unexpected play patterns, and to receive constructive criticism. If a core game idea proves to be engaging and interesting, the designer can move forward with confidence when forming a team and spending resources to develop it. 2. Designers of digital games benefit from understanding, even in broad terms, what the programmers on a team do on a day-to-day basis. This is essential in order for everyone on the team to work together from a shared vision of the game. 3. The rule sets, patterns, and behaviors that form the game experience are a direct reflection of the underlying code. Code is the raw material with which interactive experiences are built, as pottery is made of clay and paintings are made of paint. The designer who understands code therefore has a much deeper understanding of games as a medium.

Course Description This production class is focused on rapidly developing game prototypes. In this core course for the Interactive Media Division, students will learn the art of creating digital game prototypes, a practice they will hone throughout their time in the program. Although students are encouraged to have previously taken CTIN 400: Fundamentals of Procedural Media (or CSCI 101), this semester begins with the fundamentals of procedural programming before introducing object oriented programming and is therefore still open to programming novices.

This class is taught in the game development environment using C# scripting. From extensive experience with this class, we have found that this combination of tools provides students with the easiest

CTIN 483 – Intro to Game Development 1 path to making game prototypes while also teaching them the fundamentals of game programming and giving them a platform which is actually being used to make award-winning, high-profile games (including Kentucky Route Zero, Deus Ex: The Fall, Thomas was Alone, and many more) across multiple platforms (Mac, PC, , Web, iOS, Android, , PS4, etc.)

Class Meetings When: Tuesdays and Thursdays 3pm – 4:50pm Where: The new XML – SCI L113

Office Hours You must schedule appointments ahead of time by emailing [email protected].

Margaret Moser – By Appointment (preferably Tuesdays or Thursdays) Will Hellwarth – By Appointment Raghav Bashyal – By Appointment

Course Pre-requisites None, though either CTIN 400 or CSCI 101 is recommended.

Materials There is no suitable textbook. We will use some material from Jeremy Gibson’s forthcoming book, which is based on earlier iterations of this class.

You can download the free version of Unity from http://unity3d.com/unity/download

There are also a few different Pro versions of the software. These include better lighting and visual effects, pathfinding, and team tools. Unity offers a 1-year educational Pro license for students for only $147 at http://www.studica.com/us/en/unity/unity-pro-4-student.html (Pro version w/o iOS Pro or Android Pro. Price expires August 30!)

Evaluation of student performance:

Homework 40% Classic Game Project 20% Final Game Project 30% Participation 10% Total: 100%

In this class, good work and satisfying all of the requirements of the assignments will earn a student a B. To receive an A, a student must show creative, exceptional work which goes beyond the basic requirements of each assignment and brings something creative or otherwise impressive to the work. While graphical art can contribute to this transition from B to A, graphical ability is not otherwise graded in this class. CTIN 483 is about learning to develop games, and students will not earn credit for art unless all of the programming requirements for the assignment or project are already met.

During the Tutorial phase of the class, homework will be assigned almost every Thursday and due the following Tuesday. This Tuesday assignment will be pass/fail based on whether the student demonstrated an effort to complete the assignment and turned the work in on time. The assignment will be examined and demonstrated in class on Tuesday, and students will then have until Thursday to finish and polish their assignments for a letter grade.

CTIN 483 – Intro to Game Development 2