07 November 2018
The game featured in my latest book, Mission Python, is called Escape and sees you solving puzzles to escape a space station on Mars where the air is slowly leaking away. The book advertises the game as working on the Raspberry Pi 3 and Raspberry Pi 2, and on Windows PCs, running Python 3.6. On these platforms, I was able to test both the build of the game and the play-through of the game to completion. The game should also work wherever Pygame Zero runs, but I haven't been able to test it everywhere. I set a high standard for accuracy and testing in my books, and only felt able to actively endorse the platforms we had thoroughly tested.
Some readers have been in touch to ask about compatibility and pass on their advice for other readers. Here's a round-up of compatibility tips and tweaks.
Does Escape from Mission Python work on the Mac?
Yes! Othelo Vieira has kindly provided installation instructions for the software on his blog. David Weissman has also been in touch to confirm it's working "flawlessly" on his iMac. Many thanks to Othelo and David.
Does the Mission Python game Escape work with Python 2?
No, sorry. Pygame Zero is only available for Python 3. You can easily download and install Python 3. The instructions are in the book.
Does the Mission Python game Escape work with Python 3.7?
The book recommends Python 3.6 because at the time of writing, Pygame wasn't available for easy installation on Python 3.7. Charles G Smith Jr has been in touch to say he's got the game working on Python 3.7. He writes: "Good News. I was able to get your escape game up and running using version 3.7 of Python. Here is what I did to make your code work with the latest version. I added the import statement of import pgzrun at the top of the program, and I also added the statement pgzrun.go() at the bottom of your program." Many thanks to Charles.
If you're less experienced with Python and/or don't already have it installed, I still recommend using Python 3.6 as described in the book to avoid the need to add extra code into all your listings.
Does the Mission Python game Escape work on older Raspberry Pis?
It doesn't crash, but it runs too slow to enjoy. It does need a Raspberry Pi 2 or Raspberry Pi 3 really.
What screen resolution does the Escape game from Mission Python require?
The game window has a height of 800 pixels, and I have been running it on a screen with a resolution of 1152x864 or higher. However, I did a quick edit to adjust the window height to 700 pixels so it can fit on a screen with a resolution of 1024x768. You may still need to hide the taskbar. You can download the smaller version of Escape here. You will need to rename the extension from .txt to .py, or paste the code into your code editor.
The tallest room in the game is the third room you visit (West Corridor, room 37), so in this version I have taken the height down from 15 to 13 tiles, so it matches the next-largest room sizes. I have repositioned the toxic floor tiles within the new room to avoid them being too close to the bottom exit, which makes them unfairly hard to avoid. I have commented the lines that I changed in this program. Note that in the draw() function, the red box that is used to clear the game area must be resized to avoid overwriting the air and energy bars, and those bars must also be moved up in the AIR section of the program.
Thank you to Ian and Ben Brown for identifying this issue.
What about other compatibility questions?
If you have any concerns, here's a low-risk way to test it works. You can download the free PDF sampler, which includes the installation instructions for Windows and Raspberry Pi together with instructions to get the game working, and you can download the final game code too. You can then test that the game works on your computer before buying the book.
Thank you to everyone who has supported the book so far. I'm excited to see your reviews and customisations!