CMPUT 350 - Advanced Game Programming


This course is aimed at undergraduate students interested in state-of-the-art AI and graphics programming for video games.

C++ is the language of choice for implementing commercial video game engines. We will give a concise introduction with emphasis on efficiency, safety, and the Standard Template Library (STL). In addition, team programming using svn and the code documentation system doxygen will be covered. In the second part we give an overview of the components of our realtime strategy (RTS) game engine ORTS, its server/client architecture, scripting, and fast collision detection. In the AI section, students will learn about efficient pathfinding algorithms, planning, and scripting game AI systems in the context of RTS games. The graphics section will give an overview of OpenGL - the free software graphics library. ORTS will be used in student projects that will cover topics ranging from designing efficient GUIs over group pathfinding to high-level AI that coordinates hundreds of subordinate units. One goal is the creation of strong AI players for the next ORTS game AI competition which will be held in August 2010. We also seek to improve the OpenGL ORTS GUI.

Building smarter AI systems and effective GUIs for video games is challenging and fun. This course will give you hands-on experience which can open the door to the video games industry!


Course Work

  • Assignments
  • Project
  • Lab Exam
  • Final Exam