|
Intro |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
Chapter 6: Colors |
|
|
Color Mixing |
|
|
Bouncing Ball |
|
|
Background Color Selector |
|
|
Handling Mouse Events |
|
|
Creating the Color Selector |
|
|
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 |
|
|
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 |
|
|
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) |
|