For the past little while, this blog has been trying to teach some basic computer science concepts, as well as give some insight into related areas. So far, I’ve talked about:
- Using an Arduino to blink several lights at different intervals.
- How different values are stored in memory.
- Why reading the manual is necessary, but not sufficient.
- Why asking questions and making mistakes is critical for progress.
- And of course, the importance of having a rubber duck.
Now, with the start of a new year, I want to turn this in a different direction.
For the past few years, I’ve been writing for Real Python, which has tons of content for Python programmers. Most of my articles there are in one of three areas:
- Setting up your Python programming environment.
- Using Python for simple coding problems.
- Writing games in Python.
You see, I started learning to code because I wanted to write video games. This was the early 1980’s, and games like Space Invaders, Pac Man, and Donkey Kong were the cutting edge. I remember play testing Dig Dug when it first came to my arcade. Games like Sinistar and Galaga were always well stocked with my quarters. My friends and I rented time on computer store computers to play Wizardry, Might and Magic, and Ultima. I’ve always wanted to create computer games.
At the time, when I was a teenager just learning to code in BASIC, writing computer games was a mystery. How did you draw the screen perfectly every time? How did you make those sounds? Where did all the graphics come from? How did you move the player around? There were no classes, no courses, and no libraries that I knew to help.
Now, however, times have changed:
- Python is an easily accessible language, and the Pygame and Arcade libraries make writing games easy.
- There are standalone game engines such as Unreal, Unity, and Godot, which allow individuals to create fantastic games quickly.
- Sites like Itch, OpenGameArt, and Kenney.nl offer free and low cost graphics and sounds for games.
- The Humble Bundle often offers books on game development, as well as packages filled with game graphics and sounds, all for a very low price and helping some good causes.
- Sites like GDQuest and HeartBeast offer all sorts of training in game development.
- Of course, YouTube University is always open for free, and has tons of learning resources.
- For motivation, there are tons of game jams, such as the monthly Godot Wild Jam, to help focus and hone one’s skills.
So hopefully some of you will come with me as I learn what I set out to learn so many years ago. I’ll be working mostly in Godot (because I’m a Linux user), with the occasional foray back to Python and Arcade (because Arcade is cool). I’ll keep up a weekly update here on what I’ve learned and where you can find the games I write. My first jam starts in a week or so…
My inner 14-year-old is finally excited again!