Programming

FIEA Video Game Programming Courses

Semester 1

Programming I (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; all students)

To provide a fundamental understanding of the entire game development process, from pre-production to scheduling, budgeting, production, alpha, staffing, planning, and essential documentation.  This cycle will view the development process across multiple delivery platforms.  The class will focus on giving the Game Development student the knowledge and experience to operate in a professional and realistic environment.

Rapid Prototype Production (DIG5548C; all students)

The course objective is to gain experience working in multidisciplinary teams.  Iteration is key as students master the life cycle of a project, collaborative brainstorming, how to learn new hardware/software platforms, and rapid prototyping through first-hand experience.  Over the course of the semester you will produce several game prototypes which demonstrate your creativity and production talents.  Most importantly, this course teaches you how to work in teams to achieve results far greater than the sum of the parts.  In order to further the team-building, trust, risk-taking, brainstorming, and creative collaboration goals of this course, improvisational acting techniques will also be explored in a separate lab. Project work dominates as students are divided into small inter-disciplinary teams to create several short productions.  Project groups are shuffled each round, exposing students to a broad mix of teammates.

Semester 2

Programming II (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. We will construct a framework, identify and examine game engine components, implement a selected few and assemble them within the framework. By the end of the class, through project assignments, participants will have created a data-driven framework.

Game Lab (DIG 5856; all students)

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.

Capstone Preproduction and Prototyping (DIG 6547C; all students)

The objective of this class is to show students how to progress from the prototype and plan that were made in the previous semester, into a finished product.  Classes will be entirely status updates, where students must present their progress each week, and receive feedback from faculty and other students.

This will be a project-based experiential learning class.  While learning to polish and refine their prototype concepts, students will be required to explore multiple sources for feedback, measuring the efficacy of their games, and reacting to this feedback on the fly by incorporating it into their scheduling.

Semester 3

Programming III (DIG 6635)

A deep understanding of modern graphics programming using DirectX 11 and HLSL, model and animation rendering in C++, and memory management. Ability to demonstrate that understanding through an extensive code base of shaders and a C++ rendering engine, as well as converse in detail on the subject of modern 3D rendering.

You will implement a large library of vertex and pixel shaders using HLSL. These shaders will encompass various lighting and texture mapping techniques, and will be incorporated into a custom C++ rendering engine. This rendering system will be used to draw static and animated models to exercise your shaders “in-game” and allow for the creation and manipulation of lights. In the last section of this course you will implement a custom memory management system.

DIG 6718C

Capstone Production (6718C; all students)

This is the second half of the capstone project (the first half was pre-production).  The objective of this class is to show students how to progress from the prototype and plan that were made in the previous semester, into a finished product.  Classes will be entirely status updates, where students must present their progress each week, and receive feedback from faculty and other students.

This will be a project-based experiential learning class.  While learning to polish and refine their prototype concepts, students will be required to explore multiple sources for feedback, measuring the efficacy of their games, and reacting to this feedback on the fly by incorporating it into their scheduling.

Semester 4

Game Design Practicum-Venture Trac (DIG 6947C; all students not on Interactive Entertainment Internship)

This class will simulate a start-up venture, whether it is a small team or a sole proprietorship. Provide an environment whereby students can learn through experimentation and feedback from peers and target market sampling. The final will include an investor business plan and product presentation. Course attendance will include lectures, presentations, workshops and reviews. Individual team meetings will be assigned with faculty and advisors.

This class will enable students to understand the many moving parts of a legal entity or business; whether the market and distribution complexities, software licensing choices, fixed assets, IP, contract and financial management. Assist students in building a discipline of continuous testing and improvement.

Interactive Entertainment Internship (DIG 6944C; all students not in Game Design Practicum)

Students can do a supervised internship in interactive entertainment industry in an approved work setting.  Your actual work hours will be determined by your intern employment contract. At the conclusion of your internship, you will present a self-assessment of your work to your peers.

Summary
Programming
Article Name
Programming
Description
Full video game programming courses and course descriptions.
FIEA
UCF
FIEA
Publisher Logo