Games Programming

Many students become interested in computer science through computer games. How do they work? How can you understand more about them or even make your own?

There are several ways to get involved in games programming. You can either enroll in the new Major in Computer Science - Computer Games Option, a special version of the Computer Science Major with an emphasis on Games, or you can include relevant courses in any of the Computer Science and Software Engineering major programs.

There are a variety of courses offered at the School of Computer Science at McGill and many directions you can specialize in and pursue if you want to concentrate your studies on computer games, whether you want to do game research, find a job in the game industry, or just want to understand them better.

Courses

It is easy to incorporate game related courses into the Computer Science major and Software Engineering programs. A number of core and complementary computer science courses either focus on games or develop techniques that are considered important to computer game development. The main game-related courses are:

  • COMP-361 Systems Development Project. A non-trivial computer game is developed as a final project.
  • COMP-424 Topics: Artificial Intelligence 1. A background in formal AI is important for developing good comp uter opponents.
  • COMP-521 Modern Computer Games. An overview of problems and solutions in modern computer game development.
  • COMP-557 Fundamentals of Computer Graphics. Games development requires a good understanding of basic graphi c techniques.

Other important background courses for game studies include:

  • COMP-335 Software Engineering Methods. As large software projects, knowing software engineering principles is important to computer game development.
  • COMP-409 Concurrent Programming. New game hardware as well as multiplayer situations require understanding how to build correct concurrent programs.
  • COMP-435/535 Basics of Computer Networks. Many games are multiplayer, network-based.
  • COMP-507 Computational Geometry. Sight and movement planning in games require application of many geometry- based algorithms.
  • COMP-522 Modelling and Simulation. Modelling can help design and prototype games and game components.

Any of the research project courses, COMP-396, COMP-400, and for Software Engineers ECSE-495 can in general include computer games as a topic.

Research

Several professors use computer games in their research, or do research on computer games. You can find out more about current projects at:

  • The GR@M website, covering various aspects of Games Research at McGill.
  • The Mammoth project. Mammoth is a collective framework for multiplayer game research used by several facult y and students, and built by both graduate and undergraduate students.

Industry and Community

Montreal has several local game companies and branches of large game companies. Graduates have found work in EA, Ubisoft, among many others.

The School of Computer Science also holds a yearly Summer Camp for high school students. This includes game programming as a major topic.