Games

Games are a great way to learn programming because they contain a lot of concepts that vary in complexity, from loops to arrays to input to rendering graphics to data modeling. Game rules often translate nicely to programming logic.

But games can also be challenging because there's so much going on! There's music, graphics, input, text, and more to manage. It can be a lot to digest and understand. Starting with simpler games will help you understand core concepts and build up from there. It's best to not start by building your dream fantasy anthropomorphic MMORPG.

Most languages have a way to program games in them. While there are pros and cons to different languages, don't worry too much about that when you're learning. The skills in one language will apply to another if you so choose to switch.

The best game project for learning is a game you're interested in playing and making. If you're making something just as an exercise to learn but aren't actually enjoying making that game, choose a different one!

Game Libraries & Frameworks

I recommend using libraries and frameworks when learning programming via making games. Engines like Unreal, Unity, GameMaker, and Godot are all worthwhile and will help you make games, for sure. But they abstract (hide) a lot of what's happening in a way that isn't always intuitive when learning to code. You certainly can and should use those if you're interested in them! But a lot of the game projects in Playbook are simplistic and geared towards coding outside of a GUI-based game engine.

What follows is a non-exhaustive list of game libraries I've used in a variety of capacities and recommend:

Assets

Having to make the assets of a game while learning how to code can be a lot. It's tempting to try to take it on all at once, but trying to learn how to make music, sound effects, art, game design, and code all at the same time is a recipe for exhaustion. Trust me, I've tried it.

You can instead make use of assets made by other game-makers and artists, many of which are free. Check out OpenGameArt and the Game Assets on Itch.io.

Game Projects in Projectbook

Games are often more difficult to describe than it is to see them in action or actually play them. So the game projects that follow rely more heavily on links to videos and versions playable in browsers.