I Like Al Sweigart's Books, What Can I Read to Get Into Game Programming?
Fri 18 February 2022 Al Sweigart
I got an email from a reader:
Sir I am very much happy with your book. Can you please tell me other books so that I can learn how to make larger games in other programming languages?
First I recommend my own free books, since I've written a few different ones:
- Invent Your Own Computer Games with Python - For beginners with no programming experience. This book goes into simple text-based games and has a brief introduction to 2D graphics with the Pygame library.
- Make Your Own Games with Python & Pygame - For those with basic Python experience, this book has several example game programs with 2D graphics.
- The Big Book of Small Python Projects - For those with basic to no Python experience, this book has 81 small programming projects (mostly games, some simulation and digital art projects).
The /r/learnprogramming subreddit has an FAQ (Frequently Asked Questions) section on how to get started making video games.
Beyond these basic Python books, learn the Unity game engine (and the C# programming language) or the Godot game engine (and the Python-like GDScript language, though the engine also works with C#, C++, or Rust). Both of these game engines let you make games with 2D and 3D graphics for Windows, Linux, and macOS. But you can also make games for web browsers and mobile platforms like Android and iOS (iPhones). You can write your game once and create programs for all of these platforms. Unity also has the ability to make VR and AR games.
Of the two, I recommend beginners look at Godot first because it is free and simpler than the Unity ecosystem. I've looked into both of these engines a little, but I don't do development in either of these engines, nor in C# or GDScript. But here are some resources I've found:
For Unity, first watch the 18-minute video "How I learned Unity without following tutorials" from the excellent YouTube channel Game Maker's Toolkit. No matter what languages or engines you learn, you should watch the GMTK videos as they're great explanations of video game design principles.
You can download Unity for free.
For Godot, first read through the Godot FAQ. The /r/godot subreddit is also good place to ask questions.
I recommend reading my Python books on simple projects and then working in Godot. It's easy to get carried away with ideas for a grand video game, but remember that the major professional video games can have budgets over $100 million. These video games are just like major movie productions. You should aim for making simple games first, even ones that you couldn't sell. It's much better to have a dozen completed small projects than one never-finished large project. Good luck!