The Invent with Python Blog

Tue 12 November 2019

Book Review: Code This Game! by Meg Ray (Odd Dot 2019)

Posted by Al Sweigart in misc   

5 Stars: An excellent project-based book for young readers who want to move beyond Scratch.


Amazon link

Code This Game is an excellent book that teaches Python programming by guiding the reader through making a tower-defense game from scratch. This is a book that doesn't shy away from programming detail, but manages to remain fun and engaging. If you have a student or child who wants to move beyond MIT's Scratch programming tool and do "real" programming, this is a great book.

The book features a tower defense game called Attack of the Pizza Vampires, and anyone who's ever played the popular Plants vs. Zombie games will recognize its influence here. The graphics are provided from a free website download, but the reader copies the code from the book, accompanied by explanations of the relevant programming concepts.

Don't let the 300+ page count intimidate you: The pages are short and colorful, and the chapters are well-paced and let you see the progress you've made as you go from absolutely nothing to a full game. The book covers Pygame, a free software library for Python that has been used in some commercial video games, but is still simple enough to be approachable by young adults. The book itself includes a small stand to prop the pages up, making it easy to read as the reader enters the Python code into their computer.

From my experience teaching with after school coding clubs, I agree with the stated 10 to 14 age range. This book would be suitable for motivated 9 or maybe even 8 year olds and for older teenagers if they look past the colorful cartoony presentation. The code and teaching itself is solid. Your student or child might be able to read this book on their own, but I think a parent or teacher (even one without programming experience) could be a great help to follow along with. I also think this book could be useful for an after school coding club or intro to programming class: the game project is split up in such a way that it makes for a good resource to work through over multiple sessions.

I like how the book doesn't mind going into technical topics, but at the same a hard understanding of these terms isn't necessary to create the Attack of the Pizza Vampires game and get a sense of accomplishment. The introductory chapter has lots of useful tips for setting up your computer (whether Windows, macOS , or another operating system) to get Python installed and running. These "environment setup" steps are often a large stumbling block in getting a single student or entire class started on programming games, so the presence of this information shows good foresight on behalf of the authors.

Python is excellent programming language for beginners. If you're looking for a resource that teaches actual programming skills while still be approachable, I recommend Code This Game.