I just finished reading "Invent Your Own Computer Games with Python", and it's my new all-time favorite book for beginners who want to learn how to program. Al's outdone himself with this one. He does an incredible job of teaching the reader how to program in Python from scratch; whenever he comes to a concept that the reader may not be familiar with, he explains it clearly and thoroughly using simple English, and then demonstrates why the concept is useful.
The writing in this book is tight, engaging, entertaining, and just seriously impressive, and the projects are super fun too. I particularly liked the Tic-Tac-Toe project: I thought it was really clever to have the reader implement an AI for one of their games so early on in the book, instead of burying something fun like that in a later chapter.
I don't know if Al's gotten way better at writing over the past few years, or if he's gotten a great editor, or some combination of the two; but whatever the cause, this book really shines. When I read his book "Making Games with Python & Pygame" (published in 2012), I found that he sometimes explained concepts using frustratingly vague language, or introduced them in an order that bothered me, and I also noticed a few typos and bugs in that book's prose and code; I found basically zero such issues in "Invent Your Own Computer Games with Python".
The only main thing I wish he'd change is that he uses mixedCase for his variable and function names, but snake_case is the naming standard in Python programs (documented in PEP8). It's not obvious to me why he prefers mixedCase, and this seems like something that shouldn't have survived to the fourth edition of this book. All in all, though, this is a problem I'm more than willing to overlook, given how otherwise excellent this book is.
From now on, whenever a friend asks me what the best way is of learning to program, I'm going to point them directly to this book. Keep up the great work, Al!
- Paperback: 376 pages
- Publisher: No Starch Press,US; 4 edition (16 December 2016)
- Language: English
- ISBN-10: 1593277954
- ISBN-13: 978-1593277956
- Product Dimensions: 17.9 x 2.2 x 23.5 cm
- Boxed-product Weight: 726 g
- Average Customer Review: Be the first to review this item
- Amazon Bestsellers Rank: 37,834 in Books (See Top 100 in Books)