Game Programming Fundamentals (DIG 5637)
After laying a foundation in programming languages, students will explore meaningful projects which all game programmers should have exposure to, such as code optimization, compression, memory allocation, and file manipulation. It is important that students grasp the topics presented here to move on to larger game programming projects.
Production for Media (DIG 5529C)
This course provides a fundamental understanding of the three phases of development (Pre-Pro, Production, and Alpha), an introduction to Scrum and agile development, and experience with critical documentation like Art Style Guides. Additionally, this course will introduce software tools for time tracking and organization. Overall, the course is intended as an introduction to the terminology, language, and best practices for general video game development.
Rapid Prototype Production (DIG 5548C)
Immersed in the latest game engine technology, the platform of this course is much more open to taking risks and experimentation than the industry. Each round involves a theme which pushes you to design beyond your boundaries, whether that’s designing a game to do more than just entertain or aiming to integrate narrative in a novel way. The course also explores mobile development and leading-edge platforms such as VR. By completion, you will have worked with over twenty very different teammates and mastered the process of game creation from cradle to grave.
Students often wonder if they will have to get up and be in scenes. Well, of section they will, as that’s the entire point! However, students should have no fear, as this class is continually highlighted by alumni as the thing they most feared coming into the program, yet quickly came to appreciate (and enjoy) by the time it was complete. Students will focus on light exercises that reinforce the value of saying “yes” to their teammates and creative collaboration. Numerous storytelling and character development principles inhabit the scene work. By the end of the semester, students gain confidence giving presentations/pitches, having difficult personal conversations, and taking creative risks, knowing that a good teammate also wants to make others look good too.
Advanced Game Programming (DIG 6638)
This course will teach canonical components of game architecture and will require the student to implement several of them. The student will understand the requirements and caveats of those components, while focusing on software architecture, the object-oriented programming paradigm, design patterns and exemplary software engineering practices. We can describe games (or any software) as a conglomeration of parts glued together, and this course will focus on the context of how parts fit into the architecture. Students will construct a framework, identify and examine game engine components, and implement a selected few to assemble within the framework. By the end of the class, through project assignments, participants will have created a data-driven framework.
PreProduction & Prototyping (DIG 6547C)
This is semester one of a two semester group project. Students will join together in multidisciplinary teams of 12-20 in order to develop a polished game prototype. Almost entirely project based, the first semester will focus on industry accepted techniques for engaging in pre-production and then transitioning to the early stages of production. During this semester, deliverables, such as vertical slice, will be due.
Experimentation, Application & Innovation in Games (DIG 5856)
Game Lab is the survey and development of games being used in non-traditional applications, such as medical simulation, education and research. Each student will be required to prepare and deliver a presentation on a topic related to games being used in non-traditional applications. Students will break into self-defined groups and create an interactive game for a non-traditional application.
Applied Programming Mechanics (DIG 6635)
Programming students work with a faculty advisor to take an independent deep dive on a technical topic of their choice. Students design and implement a system and present their work to their peers. In addition to their research project, students are also introduced to DirectX 11 and HLSL, model and animation rendering in C++, various memory management, and game optimization techniques.
Interactive Entertainment Project (DIG 6718C)
In this continuation of Capstone I, students will work through the remainder of the production phase, and then proceed through alpha, ultimately producing a final project that will be shown in a final presentation at the conclusion of this semester. Often, the best of these projects moves on to be entered into competitions, such as the Intel University Games showcase, or published on platforms (Steam, Xbox, etc.).
In the final semester, students engage in experiential learning through either an internship / full time job (DIG 6944C Game Design Practicum) or creating a start-up company (DIG 6947C Digital Venture Practicum). The purpose is to gain knowledge through exposure in live workplace environments.
The internship course provides opportunities for students to work at established companies. These are paid experiences where students are supervised. Students are expected to perform satisfactorily and report on their industry experience. Students wishing to participate in the internship program are required to submit updated resumes, portfolios and obtain the position through standard industry interview processes. Students have often also landed full-time jobs, which is always exciting to see.
The venture course provides opportunities for students to work on their own product and/or company idea. Students select their own teams, concepts and manage the entire development, marketing and distribution process. The course utilizes the Lean Startup methodology and experts in the area of intellectual property rights, marketing, contracting and financial management contribute to the course.