Carnegie Mellon University

IDeATe

Integrative Design, Arts, and Technology

Game Design Course Descriptions

Portal Courses

15-104 Introduction to Computing for Creative Practice

Recommended for students from College of Fine Arts, Dietrich College of Humanities & Social Sciences, Mellon College of Science, and Tepper School of Business

An introduction to fundamental computing principles and programming techniques for creative cultural practices, with special consideration to applications in music, design and the visual arts. Intended for students with little to no prior programming experience, the course develops skills and understanding of text-based programming in a procedural style, including idioms of sequencing, selection, iteration, and recursion. Topics include data organization (arrays, files, trees), interfaces and abstraction (modular software design, using sensor data and software libraries), basic algorithms (searching and sorting), and computational principles (randomness, concurrency, complexity). Intended for students following an IDeATe concentration or minor who have not taken 15-112.

60-212 Electronic Media Studio: Interactivity and Computation for Creative Practice

Recommended for students from College of Fine Arts, Dietrich College of Humanities & Social Sciences, Mellon College of Science, and Tepper School of Business

This is an intermediate level course in "creative coding," interactive new-media art, and computational design. Ideal as a second course for students who have already had one semester of elementary programming (in any language), this course is for you if you’d like to use code to make art, design, architecture, and/or games -- AND you’re already familiar with the basics of programming, such as for() loops, if() statements, and arrays.

This course satisfies the EMS-2 (60-210: Interactivity) requirement for BFA and BXA-Art majors. As with EMS-2, students in this course will develop an understanding of the contexts, tools, and idioms of software programming in the arts. Unlike EMS-2, this course additionally satisfies the computing portal requirement for CFA students pursuing IDeATe minors and concentrations. (Students with no prior programming experience should register instead for 15-104, 15-110, or 15-112.)

This is a "studio art course in computer science," in which the objective is art and design, but the medium is student-written software. The course develops skills and understanding of text-based, imperative programming techniques in a variety of popular open-source arts-engineering toolkits, including p5.js (JavaScript), Processing (Java), and openFrameworks (C++), with the aim of applying such skills to interactive art and design, information visualization, generative media, and other creative cultural practices.

Rigorous programming exercises will develop the basic vocabulary of constructs that govern static, dynamic, and interactive form. Topics include the computational manipulation of: point, line and shape; texture, value and color; time, change and motion; reactivity, connectivity and feedback; interactive graphics, sound, and simulation; and the incorporation of various modes of input (sensors, cameras) and multimedia output.

Programs: Animation & Special Effects, Game Design, Innovation and Entrepreneurship, Learning Media, Media Design, Sound Design

Offered by: Art

62-150 Introduction to Media Synthesis and Analysis

Recommended for students from College of Engineering, Mellon College of Science, and School of Computer Science

New creative industries are empowering new modes of collaborative consumption, creation and reuse of media. This often relies on successful collaborations between cross-trained artists, designers and technologists as well as critical reflection on distribution, participation, interaction and audience. This course is designed to prepare engineers and scientists to work in these contexts. By the end of the course, students will be able to think critically across several media theory paradigms; formulate the intent of their creative work; articulate relationships to art/design practice and theory; and respond insightfully to creative outcomes. The goal is not just to make creative media rich outcomes but also to think critically about their production.

The class will introduce core concepts through foundational texts, in-class exercises, collaborative projects, and group critique. Students will ground concepts such as critical design, computational performance, embodiment, emergence, composition, participatory interfaces, and media editing through hands-on, applied exploration. Weekly lab sessions will also support the development of new skills and practical development of digitally mediated content.

Fall 2017 instructor: Nina Barbuto

Program: Animation & Special Effects Game Design Learning Media Media Design Sound Design

Offered by: Art

Collaborative and Supportive Courses

05-418 Design of Educational Games

The potential of digital games to improve education is enormous. However, it is a significant challenge to create a game that is both fun and educational. In this course, students will learn to meet this challenge by combining processes and principles from game design and instructional design. Students will also learn to evaluate their games for fun, learning, and the integration of the two. They will be guided by the EDGE framework for the analysis and design educational games. The course will involve a significant hands-on portion, in which students learn a design process to create educational games ? digital or non-digital. They will also read about existing educational games and discuss game design, instructional design, learning and transfer, and the educational effectiveness of digital games. They will analyze an educational game and present their analysis to the class.

Spring 2015 instructor: Amy Ogan

Programs: Game Design, Learning Media

Offered by: Human Computer Interaction

15-466 Computer Game Programming

The goal of the course is two-fold. The first goal is to teach students some of the higher-level techniques that are necessary to implement interesting computer games. In particular, a large emphasis will be on game AI. The class will also cover such topics as game networking, scheduling of tasks in computationally intensive games, and game design. The class will also briefly cover few selected topics such as collision detection and physically-based animation that are good to know even if one is developing games using a game engine. The second goal of the class is to get students familiar with programming games on various platforms using state-of-the-art game engines. To this end, the course will have a heavy programming focus. It will have a number of projects requiring students to apply the learned material to develop games using Unity 3D game engine. The students will develop games that run on a standalone PC, games that run on an Android platform and games that work in a multi-user mode. In addition to learning the material and learning how to use game engines, the projects will provide students with portfolios of games they have developed. Such a portfolio is important in getting a job in game industry. Prerequisite is 15-462 or contact the instructor for permission.

Fall 2016 instructor: Maxim Likhachev

Program: Game Design

Offered by: Computer Science

53-230 Programming for Game Designers

Game design sits at the crossroads of many different disciplines--programming, art, writing, design, engineering, psychology, and more. This course takes a practical approach to programming and how it can be used to make one a better game designer. Through individual & collaborative projects, students will learn programming tools, techniques for working with data, methods of working with teams, and prototyping strategies. This course is geared toward non-programmers looking to add programming to their game design toolset.

Spring 2015 instructor: Dave Culyba

Spring 2015 course website: 53-230 Programming for Game Designers

Program: Game Design

Offered by: Entertainment Technology

53-352 Designing Achilles in a Video Game

The influence of Greek epic poetry on the evolution of both Western heroes themselves and their portrayals in video games cannot be over overstated. Whether the medium be feature films, comic books, or games (both video games and tabletop games), all that we understand as a "hero" begins with stories the Greeks told about Achilles, the prototypical hero of all Greek culture. This course will, through both reading the source materials and playing games, examine and understand what the Greeks knew of the hero's role in story and culture and then look at how those ideas have come down to us and how we can use them to design better games. Assignments will include both analytical writing as well as explorations of gameplay in projects built by the students.

Program: Game Design

Offered by: Entertainment Technology

53-371 Role Playing Games Writing Workshop

Role playing games, mainly traditional pencil-and-paper, but recently to an extent, video RPGs as well, have matured over the last 40 years into a viable medium for modern storytelling. There is now a generation of novelists, screenwriters, playwrights and TV writers who first felt capable of telling a good story while they were an RPG games master. The course instructor is one of those writers, having won three Game of the Year awards for his RPG writing. Primarily for writers looking to work in games, this class also serves anyone interested in creating interactive stories. Additionally, more traditional linear writers who want to try their hand at "new media" will find a home in this class. The class will first examine and dissect existing RPGs (mainly using pencil and paper examples) seeking guidance for both design of RPGs as well as storytelling "best practices." Once the groundwork has been laid, the class will take an original draft story for an existing RPG world -- one from a game that was actually built -- and, having been given only the treatment document, form writing teams and 'flesh out' the story, transforming a hazy idea into form and substance, beats, missions, dialogue, Acts. Each student will be part of a three-person writing team which will first pitch a story idea for their own expanded version of the original story. Once their idea is approved, the team then design out a complete structure for that idea, followed by beat sheets, supporting characters, mission arcs, scene breakdowns, dialogue for some interactive scenes and also scripts for a single cut scene. By the end of the semester the students are delivering the backbone of their own story.

Fall 2016 instructor: Chris Klug

Program: Game Design

Offered by: Entertainment Technology

53-353 Understanding Game Engines

Students will learn the fundamental components and features of game engines (such as objects, inputs, movement, interactions, physics, UI, artwork and animation, sound, and more) and the terminology and theory behind them. Students will attend lectures and participate in example exercises to illustrate these concepts, and put these concepts to practice in their assignment work. This course does not have pre-requisites, but a basic understanding of common code concepts (variables, loops, conditional statements) is recommended.

Fall 2017 instructor: Tom Corbett

Program: Game Design

Offered by: Entertainment Technology

53-409 Game Design

As part of the IDeATe game design concentration, the goal of this course is to prepare you for a career involving the design of computer games and other interactive experiences. Students in this course will read and write about game design, and design many games of their own. Do not mistake this for a course in computer game development. This course is focused on the rules and methods of game design, which remain fairly constant regardless of the technology used to develop a game. While technology will play a significant role in our studies, technological details will not be our focus. You will study and design games of all sorts: card games, dice games, athletic games, story games, and yes, even video games. How to design games, how to design them well, and how to see your designs to completion will be what you study here. Students not meeting the prerequisite may gain access to the course by answering questions to the course instructor. Question 1: What is your name, and what degree program are you in? Question 2: What is your current GPA? Question 3: What are three of your favorite games? What is it you like about them? Question 4: Have you ever designed any games? If so, tell me about them, and what you learned while making them. If not, why not? Question 5: What is it that you hope to accomplish as a game designer?

Program: Game Design

Offered by: Entertainment Technology

53-451 Research Issues in Game Development

This course covers evolving trends in technology and how they can apply to game design. Recent advancements in virtual reality, augmented reality, cloud computing, 4K video streaming, and alternative input devices are changing the way that we create, deliver, and experience games. Students will form collaborative teams to explore these platforms and address design challenges by creating games for them and testing their designs.

Fall 2016 instructor: Tom Corbett

Program: Game Design

Offered by: Entertainment Technology

53-471 Game Design, Prototyping, and Production

This is a lecture and project based course focused on the design and development of video games. The course instruction will cover principals of game design and mechanics, rapid prototyping and iterative design processes, and project management. It will examine business aspects of the industry that impact designs, including demographics, economic models, budgets, and marketing.

Students will work in collaborative, cross-disciplinary teams, forming their own "game studios" to tackle design challenges and create games of their own. Teams will engage in hands-on development, and will have roles for artists, programmers, designers, producers and more. Students from all disciplines are encouraged to join.

Spring 2015 instructor: Tom Corbett

Program: Game Design

Offered by: Entertainment Technology

60-333 Character Rigging for Production

In computer animation, rigging is the art of building a digital skeleton and control system to drive the animation of a character or object. This particular course will focus on the process needed to create fully articulated characters that are strong enough for film and/or video game production. We will start with rigging fundamentals to learn proper joint orientation for skeleton creation, focus on skinning techniques for attaching the skeleton to the character afterwards, and then work on building a system of controls to move the character in compelling ways. Certain topics will include kinematics, set driven keys, direct connections, space switching, corrective blendshapes, custom attributes, and deformation. Students interested in the artistic and technical sides of computer animation are encouraged to enroll. Previous experience with Autodesk Maya/3D animation is preferred.

Fall 2016 instructor: Spencer Diaz

Program: Animation & Special Effects, Game Design

Offered by: Art

60-419 Experimental Game Design

Experimental Game Design - Critical Games  A practical and theoretical game design course focused on innovative forms of gameplay. In this installment of Experimental Game Design the emphasis is placed on critical games: self-reflexive, subversive, inquiring, genre-bending artifacts that aim to interrogate gaming culture and the nature of play. Activities include analog and digital design exercises, frontal lectures, readings and in-depth analysis of works from the digital arts and the independent gaming world.

Fall 2016 instructor: Paolo Pedercini

Program: Game Design

Offered by: Art

76-285 Team Communication

This mini will introduce you to research and theory on how to create effective teams. In it, you will learn: - leadership strategies for managing projects and getting everyone to contribute to their best capacity - interpersonal skills for negotiating team conflict - communication strategies for working with individuals from very different professional and cultural backgrounds. - techniques for fostering trust and inspiring team innovation and creativity - how to use technology to manage teams that are geographically separated Professor Joanna Wolfe has been studying student and professional technical teams for fifteen years and is the author of multiple books and award-winning articles on team communication. This course will be hands-on with assigned readings and video cases that are discussed in class with plenty of opportunities to role-play different communication strategies and techniques.

Program: Animation & Special Effects Game Design Innovation and Entrepreneurship Intelligent Environments Learning Media Media Design Physical Computing Sound Design

Offered by: English

Archived Courses

16-465 Game Engine Programming

This course is designed to help students understand, modify, and develop game engines. Game engines consist of reusable runtime and asset pipeline code. They provide game-relevant abstractions of low-level system services and libraries, making it easier to write bug-free games that work across multiple platforms. Game engines also handle artistic content, providing or integrating with authoring tools to ease the process of creating high-fidelity games. In this course, we will discuss the problems game engines attempt to solve, examine how current state-of-the-art engines address these problems, and create our own engines based on what we learn. We will cover both the content authoring and runtime aspects of engines. Coursework will consist of frequent, tightly-scoped programming and system design assignments; expeditions through game engine source code; and two group projects -- one in an engine created from scratch, and one that requires modification of an existing engine. Prerequisites: Students will be expected to be fluent in at least one programming language. We will be working with C++, Javascript, and a smattering of Python. We will be using git for version control and code sharing. The assignments in the course will be designed to be completed on an OSX or Linux workstation (e.g. the IDeATe "virtual cluster"). Working with Windows will be possible, but might require extra effort. We will be building a 3D model pipeline around Blender, but no prior knowledge of the tool will be assumed.

Spring 2015 instructor: Jim McCann

Offered by: Robotics Institute