Practical Game Programming
Not rated yetRate this bookExplore game development through C/C++ and Allegro 5. Harris Wang and Walter Ridgewell connect programming, graphics, sound, and design in a practical textbook for upper-level undergraduate learners and independent developers.
Read on the publisher’s website. Opens in a new tab.
FreeAbout this book
Published in June 2026 by Remix, an imprint of Athabasca University Press, Practical Game Programming follows the development of interactive games from core programming tasks to complete projects. Its emphasis is applied: technical features become components of a playable experience rather than isolated demonstrations.
The publisher describes coverage of input, graphics, audio, file handling, timing, collision detection, and advanced programming. Design, prototyping, interfaces, testing, and quality assurance connect implementation with the player’s experience. Genre-based projects provide opportunities to bring these strands together.
The publisher lists 560 pages; the PDF identifier is ISBN 9781998944224. This page provides an original guide to the opening section, with official links for the complete book. The full text remains with the publisher under CC BY-NC-SA 4.0; its cover has separate reuse restrictions.
Book summary
Study overview of the reviewed opening
Section 1.1 presents game programming as the coordination of several computing skills. Visual output, player input, audio, simulation, artificial intelligence, and interface design contribute to one interactive system. The educational value lies in connecting these elements through working software.
The authors choose C/C++ and Allegro 5 for a practical route into that work. Allegro supplies facilities for graphics, events, input, audio, timers, files, and supporting add-ons. The opening also identifies a cross-platform toolchain built around Visual Studio Code, GCC, CMake, and Ninja.
The section’s learning roadmap moves from understanding games to constructing them. It introduces the intended progression without yet supplying the detailed implementations. Treat this opening as orientation: later chapters and projects develop the techniques it announces.
Suggested study approach
Academic Master editorial guidance: Begin with a small learning journal. Before studying an implementation, write down what you expect it to do, which part you understand, and what you need to investigate. After reading, revise that explanation in your own words.
Choose one modest project goal and keep an evidence trail: a short description, changes made, observations, and unresolved questions. When an experiment behaves unexpectedly, record the conditions before changing several things at once. This creates a useful basis for discussion with an instructor or study partner. These suggestions are independent study advice, not exercises reproduced from the textbook.
Questions for discussion
- How would you distinguish a programming tool from a design decision?
- What evidence would convince you that you understand a concept well enough to explain it to a classmate?
- How could a learning journal help you identify the cause of an unsuccessful experiment?
Book contents and further reading
Open the publisher’s chapter navigation and introductory text.
For related undergraduate course context, see Athabasca University’s COMP 369 outline. This is a related course reference, not a claim that this edition is universally assigned.
Sources and coverage
Based on the publisher’s 2026 edition details, copyright notice, contents, and section 1.1, “Introduction to Video Games and Game Programming.” The detailed overview covers section 1.1 only; later sections and chapters have not been summarised. Consult the official book details and the reviewed opening section.
This page provides book information and study material. Full-text access is provided by the original publisher or authorised source; a listing does not grant permission to republish the book.
Read our Library Access & Copyright policyIntegrated systems
Recognise how several computing skills contribute to an interactive game.
Tool roles
Distinguish the programming language, supporting library, and build tools.
Learning roadmap
Use the opening to identify later topics for closer study.
Reflective practice
Keep an independent record of questions and experiments.
Reader ratings & reviews
Share your thoughts
Your review helps other students choose the right resources.



