The Game Programming and Design concentration is a second-year option of the Game Development diploma program. You start this concentration in the second term of your first year.
This concentration focuses primarily on game programming. Games require interaction within an immersive environment that can take many forms – from pure entertainment, to medical and military simulations, to training initiatives.
- You learn in a studio environment that reflects industry practice and uses of current technology and software.
- You gain valuable experience working on a major project through all phases – from requirements to conceptualization, design, prototyping, development, testing and delivery.
- Small class sizes and instructors with diverse skill sets and industry experience, provide one-on-one interaction in a collaborative environment.
- Throughout the program, industry experts and guest speakers are brought into the classroom to deliver specialized training.
Courses may include
These are some of the courses offered in this program. It is not a complete list and courses are subject to change in advance of the academic year.
Recognizing prior learning / transfer credits
If you have previous learning (course, employment, etc...) that's relevant to your program, you can apply to earn credit. Learn about our recognizing prior learning (RPL) process.
GAME 1030 - Communications
This course provides learners with the specific skills required to communicate effectively with clients and colleagues. Learners will have the opportunity to explore potential occupations and roles in order to identify personal strengths and areas of interest, preparing personal promotional materials. The requirements of daily communications are covered in both traditional face-to-face and digital forms.
GAME 1050 - Animation Fundamentals
This course provides learners with an introduction to the principles of animation in a variety of software. The learner will be introduced to concepts such as squash and stretch, timing, path of action and anticipation to name a few and will learn to apply them using a variety of technologies. This course will introduce the learner to the specifics of game animation requirements and they will create animation assets, sequences, and cinematics that fulfill the game project requirements.
GAME 2000 - Portfolio Development I
This course allows learners to apply the tools, techniques, and artistic skills developed in the first year to a team based or individual project where they will have the opportunity to develop knowledge of the production process. They will also be creating portfolio quality material in order to demonstrate their competency and abilities. This course will provide mentorship and will help learners focus on developing an online portfolio which will be tailored to the individual’s area of specialization.
GAME 2045 - Level Programming I
This course introduces the learner to the fundamental principles and tools used to create game levels, including programming and scripting. Topics may include the study of play mechanics, flow, game balancing, and architecture theory. Learners will use a game level editor and programming to create compelling game spaces through the hands on application of the theory. This is a foundational course that will provide learners with a solid understanding of level design methodology.
GAME 2050 - Game Programming I
GAME 2060 - Interactive Storytelling
This course introduces the learner to the analysis and design of interactive storytelling for games. Learners will be introduced to linear and non-linear storytelling techniques and will apply the theory to the development of narrative content for a game idea. They will be introduced to the challenges and benefits of interactive storytelling and to information and experiences that can generate story ideas. They will learn to develop a critical vocabulary for creating engaging player experiences.
GAME 2070 - User Interface Design
This course introduces learners to the design and creation of user interfaces. They will explore how visual organization methods, navigation, interaction devices and techniques, colour and graphics combine to create good and bad user experiences. Learners will analyze existing user interfaces and will apply visual communication and graphic design aesthetics to the development of graphical user interfaces.
GAME 2200 - Professional Portfolio
This course builds on the portfolio skills developed in the Communications and Portfolio Development I courses. This course covers the skills and knowledge that learners will require to find, apply, and compete for industry positions. This course will also provide mentorship and will help learners focus on developing an online portfolio and work samples which will be tailored to the individual employment opportunities.
GAME 2400 - Portfolio Development II
This course allows learners to apply the tools, techniques, and advanced skills developed in the 2nd year to work experience through a placement or working with an external client on a project. They will further their experience of working in multidisciplinary teams to strengthen their communication, problem solving and self-directed learning skills. Learners will identify personal outcomes they wish to attain, will assess their own performance and be evaluated by an industry partner.
GAME 3045 - Level Programming II
Learners will iteratively design, program, build and playtest game levels of their own creation. They will learn to critically analyze their levels for fun, engagement, pacing, flow, player goals and narrative goals. Learners will further explore 2D or 3D asset importing best practices that will be applied to their game levels.
GAME 3050 - Game Programming II
Students will explore how to leverage the power of the game engine using the API in order to program typical games of both 2D and 3D in nature. Strong programming practices and techniques will continue to be encouraged while comparisons between Unity and HTML5 game programming will often be made.
GAME 4001 - Studio Time
This course allows learners to apply the tools, techniques, and artistic skills to a team based project where they will have the opportunity to develop advanced knowledge of the production process and team work skills. Learners will be working in interdisciplinary teams which mimic industry and will be responsible for schedule creation, role assignment, and workload distribution, monitoring and reporting on the progress of the project.
GAME 4010 - Game Production
This course builds on the theory and process of the Iterative Design course. Students will also learn to create the documentation often associated with game projects for team and pitching purposes and develop working game mechanics and prototypes.
GAME 4020 - Self-Promotion and Entrepreneurship
This course provides some of the tools and knowledge needed for self-promotion. Learners learn how to identify potential self-promotional opportunities and become familiar with various methods and techniques such as guerrilla marketing to produce cost-effective, efficient material and devices.
GAME 4050 - Game Project
Learners will engage in a professional game production process to develop a better understanding of game development workflow and the importance of evolutionary development. Learners will work individually or in teams that mirror industry production environments to create and complete projects that meet the provided professional specifications. Learners will apply game design theory, Flash game development techniques, problem solving, communication strategies and time-management skills to the development of creative content.
INFT 2100 - Project Management
This course covers the basic theory and skills that introduce the learners to the process of effective project management and the unique challenges of Information Technology (IT) projects and methodologies.
PROG 1400 - Introduction to Object Oriented Programming
This course is an introduction to the essentials of object oriented programming (OOP). This course provides an explanation of the paradigm on which OOP is based, and how it affects programming strategies and solutions.