I took a Java class way back in high school, and I very briefly dabbled in C# a few years back. I have had plenty of fun designing Super Mario Maker levels, and I have actually made a handful of games with RPG Maker. With that rudimentary experience in mind, I thought I would be able to make some fun little games for review of Game Builder Garage, Nintendo’s new tool for teaching video game programming principles in a digestible package. Unfortunately, I was wrong, and my games suck. Game Builder Garage packs an enormous learning curve if you want to make something that’s actually fun, which is probably as true to life as you can get, for better or worse.
Game Builder Garage can only do almost anything
Game Builder Garage contains two options from the start screen. One is Interactive Lessons, which offers seven tutorials in how to create very basic video games (that often honestly aren’t any fun to play) across many different genres, plus myriad “checkpoints” that ostensibly test the knowledge you’ve gained. The other is Free Programming, where you can design and/or play your levels, and you can share or receive levels locally or through the internet. It’s crucial to play through Interactive Lessons before attempting Free Programming because there are so many foundational programming concepts covered in the tutorials.
Two colored talking dots named Bob and Alice talk you through each tutorial, which is in turn broken up into a number of different steps, and each tutorial has an estimate of how long it will take to complete (ranging from 40 to 90 minutes). One amusing and deeply educational thing that Game Builder Garage does regularly is have you program something that actually doesn’t work right. When you see the horrifically bad result of what you’ve created, Bob will then have an “ah ha” moment and teach you the right way to do it, but seeing it done wrong helps you understand and remember why the right way is right.
Far and away though, the smartest and most accessible element of the design in Game Builder Garage is how it presents its myriad programming functions. Functions are divided into four categories — Input, Middle, Output, and Objects — and every single function is anthropomorphized with a face and personality that represents the function. Calculate functions have a face made out of calculator buttons, for example, and a Retry function that can restart a level is always reminiscing over how things would be if it could start over again. Even the more abstract functions have a face and personality that somehow manages to match, which really helps with comprehension in some cases.
Functions are always expressed as physical boxes on the game screen that you literally string together for different effects, meaning it is very much object-oriented programming. You can also rotate the game screen to help you design three-dimensional levels or tweak other assorted elements. Each function has a Settings screen where you can adjust its various parameters, and you can also copy/paste a given function to speed up programming. Using the control stick and buttons to program is a little slow and awkward compared to just using the touchscreen, but even the touch controls are a bit finicky at times. Fortunately, the game supports a USB mouse (not keyboard) when docked, which is probably your best bet.
Since Game Builder Garage provides you with such foundational building blocks to work with, you really can do an enormous number of things with it. Sidescrollers, platforming, kart racing, puzzling, pinball, and first-person shooters are all possible, and that’s really just scratching the surface. Touch and motion controls can be programmed into levels as well. And if you have the talent, you can even draw your own art textures and construct a piece of music using sound effects. You can’t make a satisfying 60-hour RPG with this game, but otherwise, there is almost no limit to the creativity you can express in bite-sized doses.
But life ain’t easy in the garage
Nonetheless, the learning curve of Game Builder Garage is steep, and the game could have gone further than it does to increase accessibility. For instance, the seven tutorials don’t actually cover every function available in the game. Rather, dozens of bonus “checkpoints” are unlocked after finishing the final tutorial that touch in brief on these functions but often without explicitly discussing them.
And speaking of the checkpoints — they often aren’t actually helpful. Their goal is to ensure you have mastered essential programming concepts by forcing you to solve a game challenge with only a finite number of options available to you. The problem is that, by nature of the game limiting what options you have, you can pretty much “brute force” your way to the solutions most of the time without actually understanding why what you did is correct. Of course, ideally you will understand why what you did is correct, but it’s not a prerequisite — which defeats the purpose of a knowledge check.
Likewise, even though Bob and Alice often go to great pains in the tutorials to explain why you’re doing what you do, that isn’t true of all things. There were many times they would instruct me to, for instance, plug in precise coordinates for objects without explaining why those numbers were optimal. These little instances would add up over time.
Additionally, Game Builder Garage seemingly has no options to create macros, whether defaults included in the game or created by the player. What I mean by all that is the game does not offer you any “premade” sets of functions for executing a task faster; for example, I can’t call up a premade bundle of functions to create an enemy with the capacity to shoot fireballs in a sidescrolling level. Instead, I would hypothetically have to create it from scratch and then copy/paste each individual function if I want to make more versions of that enemy. It’s unnecessarily tedious.
Worse than that, a lack of premade macros hinders faster learning. Learning and remembering how to make an enemy from scratch is not as simple and intuitive as just being able to summon a premade enemy and then modifying and/or reverse-engineering it. Granted, I understand that Game Builder Garage is a multifaceted tool and that even basic macros would only successfully function within a limited range of game types, but to not allow players to even make their own macros seems like a large oversight.
Lastly, one more major oversight with Game Builder Garage is that you can’t just hop online and browse other people’s games. Instead, you can only locate and download games that you already have the download code for, which in most cases mean you will have to search for levels yourself in advance on the internet. It’s needlessly restrictive and frustrating and guarantees that there are fun games you will never even know exist. Hopefully this will change with a patch in the future, but as it is, it’s awful.
Game Builder Garage literally gives back what you put into it
Realistically, adults who want to program are just going to go learn an actual programming language and/or pick up a tool like GameMaker. But for impressionable preteen children, which arguably seems to be the prime demographic for this software, Game Builder Garage on Nintendo Switch can provide a comprehensive and accessible introduction to programming, despite a few glaring oversights. However, not just anyone is going to instantly click with and love this game. It takes time, determination, and raw passion to get the most out of Game Builder Garage. But maybe that’s a good thing.
A review code for Game Builder Garage was provided by the publisher.