1 option
Practical Game Programming.
- Format:
- Book
- Author/Creator:
- Wang, Harris, author.
- Ridgewell, Walter, author.
- Language:
- English
- Subjects (All):
- Computer science--Textbooks.
- Computer science.
- Physical Description:
- 1 online resource
- Place of Publication:
- [Place of publication not identified] Athabasca University Press [2026]
- Language Note:
- In English.
- Summary:
- 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.
- Contents:
- Acknowledgements
- 1. Introduction
- 1.1. Introduction to Video Games and Game Programming
- 1.2. History of Video Games
- 1.3. Types of Video Games
- 1.4. Road Map of Game Development
- 1.5. Set Up Game Development IDE
- 1.6. The Allegro 5 Game Library
- Exercises, Homework Questions, and Projects
- 2. Essentials of Game Programming with Allegro
- 2.1. Common Structure of a C/C++ Program with Allegro 5
- 2.2. Handling User Input
- 2.3. Collision Detection
- 2.4. Adding Sound Effects to Games
- 2.5. Timers and Game Timing
- 2.6. Using Files for Games
- 3. Using Graphics in Games
- 3.1. Bitmap Fundamentals
- 3.2. Bitmaps Creation and Use in Allegro 5
- 3.3. Utilizing Bitmaps in a Program
- 3.4. Scaling and Rotating Bitmaps
- 3.5. Displaying a Section of a Bitmap and the Concept of a Viewport
- 3.6. Advanced Graphics Techniques in Allegro 5
- 3.7. How Transformations Help with Resolution Independence
- 3.8. Antialiasing and Texture Smoothing
- 3.9. Shaders
- 3.10. Using Premultiplied Alpha in Allegro 5
- 4. Programming Sprites in Allegro 5
- 4.1. The Fundamentals
- 4.2. Additional Sprite Handling Routines
- 4.3. Allegro Blending Function and Sprites
- 4.4. Advanced Sprite Use in Allegro 5
- 5. Programming Backgrounds for Video Games
- 5.1. Types of Backgrounds
- 5.2. Creating and Using Static Backgrounds
- 5.3. Creating and Using Scrolling Backgrounds
- 5.4. Creating and Using Dynamic Backgrounds
- 5.5. Creating and Using 3D Backgrounds
- 6. Game Design and Development Fundamentals
- 6.1. Conceive an Amazing Game
- 6.2. Transforming a Billion-Dollar Idea into a Detailed Game Design
- 6.3. Implement the Game
- 7. Advanced Topics in Practical Game Programming
- 7.1. Multithreading
- 7.2. Custom Shaders
- 7.3. Networking for Multiplayer Games
- 7.4. AI Programming
- 7.5. Optimization Techniques
- 7.6. Custom GUI Systems
- 7.7. Advanced Audio
- 8. Game Development Projects
- 8.1. Action Game: Space Shooter
- 8.2. Platform Game: Tank War
- 8.3. Adventure Game
- 8.4. Arcade Game
- 8.5. Board Game
- 8.6. Emulator Game
- 8.7. Puzzle Game
- 8.8. Role-Playing Game
- 8.9. Sports Game
- 8.10. Strategy Game
- 8.11. Utilities Game
- References and Resources
- Notes:
- Description based on print resource
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.