Introduction to Computer Programming with Python
Harris Wang

Practical Game Programming provides a structured, accessible introduction to game development using C++ and the Allegro 5 library. Designed for upper-level undergraduate learners, it guides students through the complete development pipeline—from programming fundamentals and user input to graphics, audio, file management, and game timing. Advanced topics such as collision detection, multithreading, optimization, custom shaders, and networking are covered in depth.
This OER emphasizes both technical skills and design principles, including game conception, prototyping, UI/UX, testing, and quality assurance. Each chapter includes exercises and projects, culminating in genre-based development challenges across action, platformer, adventure, arcade, puzzle, role-playing, strategy, and more. With a focus on applied learning and creative exploration, this text equips students to build professional-quality games and prepares them for real-world development environments.
This work is licensed under a Creative Commons License (CC BY-NC-SA 4.0), except where otherwise noted. This license allows users to copy and redistribute the material in any medium or format and to remix, transform, and build upon the material as long as the original source is properly credited, the work is not used for commercial purposes, and the new creation is licensed under the same terms.