Courses

Courses

Term 1

The Practice of Game Art 
This course introduces students to the fundamentals of creating 3D assets for games. Students will manage asset files, create textures in Photoshop, UV unwrap map, rig, animate, and render a model. The pipeline of concept and design process will be discussed.

The Practice of Game Design
This course examines the concepts of brainstorming, transforming an idea into a design and using different design philosophies. In addition, this course will go into basic interaction models, designing a user experience and creating 2D and 3D worlds.

Game Production
Students will be introduced to the fundamentals of game development with an emphasis on the various roles that facilitate professional video game production. Students will learn about communication, the entire planning & development process, using SCRUM methodology and get experience with organization tools like Trello, Slack and various version control solutions.

Programming for Games
Students learn about elements of programming for 2D and 3D video game development. Students will learn about physics, animation, rendering loops, handling input, and various design patterns in larger projects. Using Unity and C#, students will be introduced to all base concepts a game programmer should know.

Term 2

Unreal Game Development 1
This class introduces students to the Unreal engine, using Blueprints as the main tool to create an interactive experience. Students will learn about physics, input systems, animation and the general workflow of the Unreal engine. Students will create worlds, add interactivity and finish with several smaller projects.

Unity Mobile Project
Students will use the Unity engine for their first team project, in which they will create either a web or a mobile game. Collaborating with other programs, in this course the students will learn how to work as a team, hands-on, and go through a full development cycle. Students will finish by presenting their finished project as a vertical slice pitch.

Tool Development for Games
Students learn how to extends the editor and build tools for designers/artists. Using C#, students will extend the Unity editor to create custom plugins and tools. In addition, this course will introduce students to the traditional scripting languages such as and Python, to create basic tools for Maya.

Rendering Techniques 1
Students will be introduced to the full rendering pipeline, focussing on shaders, lighting techniques and custom rendering methods. Using various engines, students will be introduced to the many concepts of how 3D objects can be rendered and how to decide which approach to use in various situations.

Term 3

Unreal Game Development 2
Continuing in the Unreal engine, students will be introduced to C++ and use that as their main language for their Unreal projects. By diving deep into the engine, students will learn the intricacies of C++, and various design patterns. Students will learn how to create an optimized game of professional quality.

Game Engine Development
Students will go back to basics to be introduced to how game engines are built. Using core languages such as OpenGL and C++, they will find out what steps to take to create and engine from scratch.  They work as a team to create a small engine together, in which they will then create a game.

Math & Data Structures for Games
Using 3D Math, complex algorithms and custom data structures, students will learn how to create their own physics system. Students will learn about deterministic physics and how to implement this using the Unity engine and the C# language.

Portfolio Game Project
Students will create their second large project as a team, with a target platform of their own choosing. This portfolio project will be a high quality vertical slice, that can be used for students to practise and show off their new skills as junior game programmers. Collaborating with other programs, students will learn to communicate and collaborate effectively.

Term 4

Rapid Prototyping
This course focuses on teaching students how to become effective game programmers. In this intensive course, students will create games over both a one- and two-week period. By creating many small projects, students are exposed to a large amount of development platforms and challenges.

Realtime Networking for Games
This course teaches students how to create a real-time networking game from scratch, with custom networking solutions. Using their own networking approach, students will understand not only how this is used in games, but also how it works under the hood.

Programming for XR
Using state of the art hardware, students will be introduced to Virtual Reality, Augmented Reality and Mixed Reality. Students will learn about best practices for creating games for these platforms, and they will be introduced to various platforms and solutions supporting it.

Rendering Techniques 2
Building on the initial course Rendering Techniques, students will now dive deeper into the inner workings of rendering, allowing them to not only use existing techniques, but also build on top of those and create fully customized render pipelines.

Term 5

Artificial Intelligence for Games
Using state machines and behaviour trees, students will learn how to write advanced AI behaviour for non-player characters. This will go beyond basic navigation and interaction, and will dive into decision trees, custom pathfinding and creating realistic AI behavior.

Building, Testing & Data Analytics for Games
Students will explore technical challenges outside the game development process. They will be guided through the process of how to build their game through customized build pipelines and automated release systems. After this, they will be exposed to user testing techniques and data analysis platforms.

Game Architecture & Design Patterns
Students will be introduced to modern software design techniques such as Entity Component System and compare this to more traditional approaches such as Object Oriented Programming. Students will gain low-level knowledge of memory allocation and optimization techniques.

Online Services for Games
Students will be introduced to various MBAAS (Mobile Backend As A Service) solutions, and work with these solutions to create a custom scalable backend with server side logic, data storage, and binary storage. Using these techniques students will get to create their own client-side projects connected to these backends.

Term 6

Final Industry Project 1: Pre-Production*
The first of four sequential final project courses for GTDP, the goal of this class is to begin developing a professionally marketable reel comprised of the student's best work. The student will select an appropriate framework for their assembly and will work with the instructor to tailor their portfolio toward employment opportunities. As in all final project courses, the student will hone client/artist relationships by practicing the art of presentation and behavioral skills, and will develop consistent identity, resumé, reel packaging and stationary systems.

Final Industry Project 2: Production*
The second of four sequential final project courses for GTDP, the goal of this class is to establish and adhere to a portfolio production schedule akin to industry standards. In the continued aim of developing a professionally marketable reel, the student will create effective employment outreach and promotional materials. As in all final project courses, the student will hone client/artist relationships by practicing the art of presentation and behavioral skills, and will develop consistent identity, resumé, reel packaging and stationary systems.

Final Industry Project 3: Industry Presentation and Critique*
The third of four sequential final project courses for GTDP, the goal of this class is to enhance the student’s professional communication skills with a particular focus on resumés, networking, and giving presentations. As in all final project courses, the student will hone client/artist relationships by practicing the art of presentation and behavioral skills, and will develop consistent identity, resumé, reel packaging, and stationary systems.

Final Industry Project 4: Review, Post-Mortem, and Portfolio*
The last of four sequential final project courses for GPDP, the goals of this class are to synthesize outcomes from the previous final project courses to create their final version of a professionally marketable reel and to finalize preparations for job applications. The course also covers such pertinent topics as labour law, creating a professional website, and marketing oneself to prospective employers.