Table of contents : Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: Creating Computer Games Inspiration Rather Than Imitation Playing Games Create the Resources Development Cycle Making Programming Enjoyable Python and Pygame Zero Compiled vs. Interpreted Choosing a Programming Environment Summary Chapter 2: Getting Started with Python Using the Mu Editor Python Programming Variables Strings and Format Lists Dictionaries Tuples Conditional Statements (if, elif, else) Simple Quiz Game Loops – While, For While Loop For Loop Forever Loop – while True Changing Loop Flow – break and continue Functions Variable Scope Refactoring the Code Further Improvements Summary Chapter 3: Pygame Zero Pygame Zero Development Compass Game Required Files Running Mu in Pygame Zero Mode Adding a Background Image Adding an Actor Moving the Sprite Around the Screen Making the Movements More Realistic Keeping Game State Detecting Collisions Change in Direction Keeping Score Adding a Countdown Timer Final Code for Compass Game Version 0.1 Summary Chapter 4: Game Design What Makes a Game Enjoyable? Challenging but Achievable Choices and Consequences Rewards and Progress Likeable Characters Storyline/Historical Relevance Educational Takes an Appropriate Level of Time to Play Inclusivity Age Appropriate Improving Compass Game Updated Timer Adding Obstacles Adding a High Score Try and Except Summary Chapter 5: Graphic Design Creating a Theme File Formats Bitmap Images Vector Images Useful Tools LibreOffice Draw Inkscape GIMP Creating a Computer Image from a Drawing or Photo Creating a Pixel Art Sprite Blender Create Using Code Other Sources Summary Chapter 6: Colors Color Mixing Bouncing Ball Background Color Selector Handling Mouse Events Creating the Color Selector Summary Chapter 7: Tank Game Zero Vector Image of Tank Creating a Dynamic Landscape Calculating the Trajectory Detecting a Collision Complete Game Code Improving the Game Summary Chapter 8: Sound Recording Sound Effects Creating Artificial Sound Effects Recording Audio on the Raspberry Pi Connecting a USB Microphone Using arecord Audacity Recording Sounds with Audacity Convert Audio Formats Extract Audio from Video Files Trim Audio Files Creating Music with Sonic Pi Downloading Free Sounds and Music Adding Sound Effects in Pygame Zero Playing Music in Pygame Zero Piano Game Created with Tones Summary Chapter 9: Object-Oriented Programming What Is Object-Oriented Programming? OOP Classes and Objects Creating a Class, Attributes, and Methods Creating an Instance of a Class (Object) Accessing Attributes of an Object Terminology Encapsulation and Data Abstraction Inheritance Design for Object-Oriented Programming Matching Pairs Memory Game Creating the Classes Timer Class Card Class GamePlay Class Program File Summary Chapter 10: Artificial Intelligence Memory Game with AI A Good Memory Battleships Summary Chapter 11: Improvements and Debugging Additional Techniques More About Pygame Zero More About Pygame Adding Fonts Scrolling Screen Reading from a CSV config file Joysticks and Gamepads Creating Arcade Games for Picade RetroPie Debugging Error Messages Check for Variable Names Print Statements IDE Debugging Tools Rubber Duck Debugging Performance Space Shooter Game Summary Where Next? Appendix A: Quick Reference Pygame Zero Useful Keywords Actor (Sprite) Background Image or Color Sound Effects Mouse Events Keyboard Events Displaying Text Python 3 Lists Dictionaries Conditional Statements (if, elif, else) Loops Python 3 Modules Random Math Time DateTime Appendix B: More Information Python Pygame Zero Pygame Index