Skip To Content

Athabasca University

Course Outline

COMP 369 consists of eight units:

Unit 1. Introduction to Game Programming

Unit 1 covers chapters 1, 2, and 3 of the text. It introduce the world of game programming. After successfully completing this unit, students should have set up a programming environment—have chosen an IDE and a version of Allegro game library and have both properly installed—and should be ready to program in C or C++, with the Allegro game programming library.

Unit 2. Writing Computer Interactive Games with Sound and Music

Unit 2 covers chapters 4, 5, and 6 of the text. In this unit, students learn to program what is probably their first computer game; learn how to interact with players through keyboard and mouse; and learn how to play sound and music in computer games. After successfully completing this unit, students will be able to develop interactive computer games with sound and music.

Unit 3. Game Design Basics

Unit 3 covers chapter 17 of the text. From this unit, students will learn the importance of game design, including the basics of game design, phases of game development, the types of game design, and requirements for game design and design documents. After successfully completing this unit, students should be able to design a game and write up a proper game design document by following the game design basics and phases.

Unit 4. Programming Sprite in Games

Unit 4 covers chapters 7, 8, 9, and 10 of the text, and it is all about sprite programming. From this unit, students learn how to handle bitmaps and how to use various blitting functions to manipulate bitmaps. After successfully completing this unit, students will be able to put live figures into games, and that is one of the most important skills in game programming and development.

Unit 5. Timing in games

Unit 5 covers chapter 11 of the text, and it is about how to put all the game actions in a perfect game loop. As we know, many games can be played for a long time. Fortunately, game developers do not need to write that much more game code to keep the game running. The trick is, as all computer programmers would know, that programmers can put a number of game actions/codes in a loop and set up conditions for the loop to terminate or to be terminated by the player. After successfully completing this unit, students will be able to use timers, and interrupt handlers and timed game loops in game development.

Unit 6. Scrolling backgrounds

Unit 6 covers chapters 12, 13, 14, 15, and 16 of the text, and it deals with creating and handling backgrounds in computer games. After successfully completing this unit, students will be able to program tile-based backgrounds; use Mappy to create and edit tiles, levels and maps; use native Mappy files in their games; and program vertical scrolling arcade games and horizontal scrolling platform games.

Unit 7. Using data files in game programming

Unit 7 covers chapters 18 and 19 of the text. Students learn how to use Allegro data files to store game resources, and how to use Allegro datafiles and FLI animation files in games and game development.

Unit 8. Advanced topics for game programming

Unit 8 covers chapters 20, 21, and 22 of the text. It touches on some Artificial Intelligence concepts and technologies, and their uses in computer games. It also teaches the basics of multi-threaded programming, a technique that can be used to enhance the performance of computer games by utilizing the power of multi-core processors that most modern computers have today. In this unit, students will also learn the fundamentals of how to market a computer game they may have developed during the study of this course, or may soon develop in their profession or as a hobby.

Updated May 19 2016 by FST Course Production