COMP 369 (Practical Game Programming) is a three-credit computer science course that is designed for students to learn how to develop platform-independent computer games using programming languages C/C++ with Allegro, an open-source, cross-platform library which is both powerful and versatile. Allegro can be used on Windows, Linux, and Mac platforms. Although the focus of this course is on practical game programming skills, students will also be exposed to game design, and have the opportunities to learn the basics of game design and practice their game design skills throughout the course. This course has COMP 206 (Introduction to Computer Programming (C++)), COMP 306 (C++ for Programmers), COMP 308 (Java for Programmers), or professor approval as a prerequisite.
Practical Game Programming consists of eight units (Introduction to Game Programming, Introduction to Game Programming, Game Design Basics, Programming Sprite in Games, Timing in games, Scrolling backgrounds, Using data files in game programming, Advanced topics for game programming), one assignment weighing fifteen percent, two assignments weighing twenty percent, one assignment worth twenty-five percent, and a final examination worth twenty percent. To receive credit for COMP 369, students must achieve a course composite grade of at least a “D” (fifty percent) on the final examination and on each of the four assignments.
Students should note that the final examination for COMP 369 must be taken online with an Athabasca University approved exam invigilator at an approved invigilation centre. It is the responsibility of the student to ensure that the chosen invigilation centre can accommodate online exams. For a list of invigilators who can accommodate online exams, visit the Exam Invigilation Network.
Lionel Pinkhard has been studying at Athabasca University since March of 2016 and he is halfway finished. He is enrolled in the Bachelor of Science program, with a major in Computing and Information Systems and a minor in Game Programming. He explains that “The program is interesting and challenging. I like the flexibility of the course selection and how I can study something completely unrelated and still earn credit towards the Bachelor of Science degree.” As for online learning, he states “Online learning allows me to work on my own schedule and I truly enjoy the flexibility that it offers me. However, I would have enjoyed more social interactions, sports and other events offered by traditional universities.”
Lionel started COMP 369 in June 2018 and finished in January 2019. He states, “I took an extension to this course as I was busy with five other courses that required my attention and I wanted more time to study for the exam.”
When asked to briefly introduce himself, Lionel states “I am 34 years old and from Cape Town, South Africa. I am currently working and studying part-time. I like doing many things – playing video games, reading books, watching Netflix, riding my motorcycle, flying, travelling and learning about things that interest me.”
He provides an explanation of the COMP 369, stating “The course title is quite accurate in describing the nature of the course. This is a practical course where you will be building games and doing some research. COMP 369 does not focus much on the theory of game programming.”
He continues, “The course uses the Allegro 4 library, which is quite old, for graphics, sound, and input, but the concepts could easily be applied to something else.”
Lionel concludes, stating “Knowledge of programming is essential to take on this course, with C programming being particularly useful as the games will be written in C. This could be a challenge for some due to the heavy focus on object-oriented programming in other courses. You are allowed to use C++ instead of C, but the textbook uses C and the Allegro library has some extra challenges with C++.”
When asked to explain the structure of the course, he explains that “There are four assignments and a final exam. Each assignment involves doing some research and writing a report, creating a game design, and building a game. The final exam is online and includes multiple choice and programming questions.”
Lionel would recommend this course to other students, stating “Most of the course was easy, although the assignments were time-consuming. It takes some time to compile the research, design a game, and implement the game while also creating/acquiring artwork, music, and sound effects.”
As for any tips or tricks to completing this course, Lionel states “It would be useful, though absolutely not required, to take COMP 318 before COMP 369 so that you understand the theory behind game programming. Access to a collection of games, on PC or console, would be quite useful to explore different genres and get some ideas for research and design. Also, Adobe Photoshop, Adobe Illustrator, GIMP, and/or Inkscape are useful for creating/editing art assets.”
He continues “I did not know about it at the time, but Bxfr (https://www.bfxr.net) is useful for creating simple game sound effects. This tool is discussed in COMP 486, but not COMP 369. Alternatively, Audacity is quite useful.”
He concludes, stating “I found a hardware MIDI controller to be useful for preparing game music, but it is certainly not required. I used third-party music and art assets for the later assignments.”
Whether COMP 369 is a degree or program requirement of yours, or the topics discussed above are of interest to you, this course will have you learning interesting material surrounding practical game programming.