Ask the Developer, Vol. 1: Game Builder Garage
Content pre-recorded in accordance with current COVID-19 health and safety guidelines
This article has been translated from the original Japanese content.
Part 1: What if I turn it around?
To kick off this Ask the Developer series, in which Nintendo developers convey in their own words Nintendo’s thoughts about creating products and the specific points they are particular about, we are talking to two people who were involved in developing the Game Builder Garage™ game.
First, could you briefly introduce yourselves and talk about the work you have been in charge of so far?
Naoki Masuda (referred to as Masuda from this point on): I'm Masuda, the director and programmer of Game Builder Garage. Previously, I was in charge of planning and programming of Nintendo Labo™1.
1 Nintendo Labo kits provide players with the tools to build and play with various “Toy-Con” creations—such as pianos, motorbikes, and robots—by combining cardboard and the Nintendo Switch™ system.
Kosuke Teshima (referred to as Teshima from this point on): I am Teshima. As a subdirector, I was in charge of coordinating the "Interactive Lessons" for Game Builder Garage. Before that, I was involved in creating the text for the Discover2 portion of Nintendo Labo.
2 The Discover portion of Nintendo Labo is where players can learn how the Toy-Con work.
Thank you very much. So, could you briefly introduce Game Builder Garage?
Masuda: Sure. Game Builder Garage is software that makes designing your own games easy and fun simply by connecting mysterious creatures called Nodon. Even if you find programming difficult, you will gradually understand it with easy-to-understand steps in the “Interactive Lessons” and eventually can create your own games.
What was the motivation behind the design of this software?
Masuda: After developing the Nintendo Labo: VR Kit, which was the fourth installment in the series, I wondered if we could draw inspiration from the Toy-Con Garage VR portion of that game to create a separate product. In the case of the Nintendo Labo: VR Kit, after the player had a general understanding of creating Toy-Con, they could enjoy making their own VR games with Toy-Con Garage VR. But I thought about making the applications more broad–not just for VR.
Programming in the Toy-Con Garage with Nintendo Labo: VR
Did you feel like you had some unfinished business with the Toy-Con Garage?
Masuda: No, not exactly, but I did feel that we could evolve it further. The Toy-Con Garage tool is the final practical application part of the Nintendo Labo: VR Kit, and at first, we expected that only a handful of people would get to it. However, after holding a Toy-Con Garage contest, I realized that there were many interesting and rewarding games among all of the original games created by players using Toy-Con Garage, and I wanted more people to experience the joy of creating their own games. I also wanted to find a way to make it easier for people to have the fun of creating games through trial and error.
Teshima: Even within the development team for Nintendo Labo, designers who don't usually do programming have been using the Toy-Con Garage feature to create their own games. But sometimes, they’d stop partway through, because they didn't know how to continue making the game they wanted to make. And then they would come and ask Masuda-san, who developed the Toy-Con Garage. And they gradually learned how to make games. At that time, Masuda-san answered all their questions, so you became like their technical support, didn’t you? (Laughing)
Masuda: After hearing all those questions from designers and seeing all the games created by players, I realized that this Toy-Con Garage portion is fun and that we might be able to expand that fun if we had a system that provides guidance on how to create games using Toy-Con Garage, making it more approachable for players.
In other words, the challenge with the Toy-Con Garage was about explaining how to create, and your objective this time was to resolve that challenge?
Masuda: That’s right. With the Nintendo Labo series, you learn how the hardware works by making and playing with the cardboard Toy-Con. And then, by applying that knowledge, some people could go as far as creating their own original games using the Toy-Con Garage. By acting as “technical support” and answering those questions from our designers, I thought, “What if I turn this order around?” To put it another way, Nintendo Labo started by providing an understanding of how the hardware worked and eventually led to the creation of software, while Game Builder Garage uses the creation of software as an entry point for the user to experience programming firsthand. Nintendo Labo has the “Make” portion, which I personally think are the coolest assembly instructions in the world, and I thought of applying this know-how to the “make” part of programming. I thought this would help people enjoy the “Make, Play, Discover” aspects of Nintendo Labo from a different angle.
In other words, you wanted to bring the final software creation elements of Nintendo Labo to the fore.
Teshima: Yes, and just like Masuda-san became “tech support” for the designers, I thought if there were a guide or navigator for the players, they would better be able to enjoy the possibility of being able to make their own games!
Then, the tutorial guide for the interactive lessons is…actually, Masuda-san?
Teshima:Yes, I guess you can say that it’s Masuda-san's alter ego. (Laughing)
I’m curious about the navigator—Masuda-san’s alter ego. What exactly is this “navigation” in the interactive lessons?
Teshima: Specifically, there are seven types of interactive lessons with which you can use Nodon and enjoy game programming. That’s the main part of this software. This interactive component guides you through the completion of several games from beginning to end.
Interactive lessons guide you through some of the basics of game programming
To what extent will the players be guided?
Teshima: At the start, an instructor character named Bob appears. He will guide you every step of the way. Characters called “Nodon” are used for the actual programming, and Bob moves around the screen as the player manipulates these Nodon characters. Bob gives detailed instructions from start to finish, such as "Put a Nodon here" or "Connect this Nodon to that Nodon.”
Move and connect Nodon to program your creations
I see. It seems that even beginners can finish making a game. By the way, can elementary school students also enjoy programming?
Masuda: We asked elementary school students who were interested in programming to play the software in the development stage.
And what was their reaction?
Masuda: Their reactions were really encouraging to us. On the spot, the students were able to reach the stage where they could get through the lessons we could prepare at that time…Well… they did more than get through it… Those students’ enthusiasm was incredible… (Laughing)
Teshima: They were like, “More! More!” They weren’t satisfied with just the lessons we had prepared for the monitor testing, and we ended up finding ourselves in deep trouble when the students started to try out some unfinished parts that were still in development. (Laughing)
Masuda: Their concentration was amazing. (Laughing)
Teshima: In addition, a fourth grader even created his own game through the Free Programming part of the game beyond the interactive lessons, which made me realize that we were on to something.
I see, so it has been proven that even elementary school students can actually create games.
Teshima: Of course, individuals are going to come to the game with different skill levels.
Is it safe to say that the interactive lessons will help with those differences?
Teshima: Yes, it is. The lessons are designed so that even first graders can make games while having fun. On top of that, there’s also a mode that teaches you more about the mechanics and the Nodon characters that were mentioned in the lesson. And if you want to do more, you can try free programming. I hope that having multiple options will help players of different skill levels enjoy the game.
Part 2: Idol group
Please tell us more about the Nodon that you mentioned earlier. How were those characters born?
Teshima: At the beginning of the project, our key phrase was "creating is fun," so I was constantly consulting with the designers to create a fun atmosphere, no matter what–even on the programming screen. And I thought, “Hmm... we may not be able to achieve this goal with these methods...” In Toy-Con Garage from Nintendo Labo and the Game Builder Garage of this title, you create games by arranging different functions, called "nodes.” As we were discussing this project, someone suggested that we should treat the "nodes" like an idol group (a pop-music idol group).
Teshima: Right. The idea came up as, “Why don't we anthropomorphize the various functioning nodes and create a unit like an idol group, releasing an original song?” If you integrate each role into a song, one by one, you might understand how each mechanism works...
I see. I definitely see it, when you think of it as a group of people with different roles and personalities.
Teshima: At first, it was a joke that came up from a side chat, when we were struggling to find ways to make the game programming screen feel fun. (Laughs) I thought that an idol group was too extreme of an idea, but it was obvious that it’s hard to understand the workings of nodes at a quick glance, so we thought that by giving them a personality, character, or face that comes from each of their functions, they may be more recognizable. We then also thought, “If players grow to like them, it might be easier to remember what they do.” So, then it became, "I like the anthropomorphized characters...” And then, “Let’s give them a name that is easy to remember: Nodon!"
It's certainly a lot easier to remember it that way. (Laughs) How do these Nodon characters appear in the lessons?
Teshima: Each Nodon in the lesson will explain their function on the programming screen. You also have Alice’s Guide (named for the other instructor), where you can learn more about the mechanisms and functions of the Nodon in the lessons.
Each Nodon has a distinct function and personality
Alice’s Guide helps you learn more about the Nodon
By the way, how many types of Nodon are there?
Teshima: There are over 80 types! Not all of them appear in the interactive lessons, but even for the ones that don’t appear in the lessons, you can check the reference section, called the Nodopedia, to learn about their functions in detail. For example, there are some Nodon that have functions unique to Nintendo Switch, such as the ability to make the Joy-Con controllers vibrate or detect the shaking motion of the Joy-Con controllers, so by combining these Nodon, you can create a variety of games.3
3 (Nintendo Switch Lite can also function in the same way by wirelessly connecting to Joy-Con controllers.Joy-Con controllers and charging device required. Sold separately. See support.nintendo.com/switch/play for details)
Dive deep into Nodon knowledge with the Nodopedia
Masuda: If you understand the roles of the Nodon and put them together, you can make different games with just that knowledge. But instead of being caught in the fixed idea that you have to make a game, you could try creating a program where you’re simply walking in the scenery of the city that you live in, for example.
I see. So, now that we know that there are many different kinds of Nodon, can you tell us if any of them have unique features?
Masuda: As for unique features, I think the Texture Nodon and Background-Music Nodon are the easiest ones to understand. With the Texture Nodon, you can draw your own pictures and display them in the game, and then stick them on the surface of various objects and move them around. The Background-Music Nodon plays background music. You can choose any of the four parts you like—melody, main accompaniment, sub-accompaniment, and rhythm—and combine them to arrange your background music. It allows you to choose the music that fits the game in your own way.
Create and use your own art with the Texture Nodon
Score your creations with the Background-Music Nodon
Teshima: Personally, I’m a fan of the On-Start Nodon.
The energetic On-Start Nodon kicks in right as your creation begins
The On-Start Nodon? The Nodon sound like they have highly specialized abilities.
Teshima: That's right. The function of this one is to output only at the moment the game starts, but it's a creature that has a big burst of energy, and the visuals and everything give off that kind of atmosphere, so it's cute. (Laughs) Then there's the Timer Nodon, which, as its name suggests, outputs at a specified time. His personality is also very particular and precise, but I like him because it has a human touch.
The precise Timer Nodon outputs at specified times
Masuda: I’m a fan of the Bull's-Eye Nodon. It’s a Nodon that can tell whether or not a “marker” is displayed at a specific location... For more advanced users, you can create your own original music by combining it with the Counter Nodon, the Marker-Display Nodon, and the Play-Sound Nodon. It's a niche kind of creature, but I like it as a character, and when you master its functions, you'll discover some of the less-apparent possibilities of the Game Builder Garage. Once you start using it, you'll get hooked on it, and that's a good thing... It’s a bit of a grown-up among the Nodon. (Laughs)
The Bull’s-Eye Nodon can tell whether a “marker” is in a specific location
Need something counted? You can count on the Counter Nodon
Keep track of markers with the Marker-Display Nodon
Set when a sound is played with the Play-Sound Nodon
So Teshima-san is a fan of the cute characters, and Masuda-san likes the ones with deep functionality.
Teshima: The Nodon not only explain things to you, but they also react in various ways when you connect them, and their personalities and expressions vary, so I hope you enjoy them.
Masuda: We hope that you’ll find your own favorite Nodon.
Part 3: Encourage players to finish, no matter what.
I’ve heard that you are very particular about guiding people to the stage where they can make their own games. How have you tried to let them make it to the end?
Masuda: Well, of course it's important to have fun making games, but we also wanted people to have the experience of completing each function of the game to the end.
What do you mean by “the experience of completing each function of the game to the end”?
Masuda: Making a game itself is fun, but completing each step of a lesson offers us a sense of accomplishment. And above all, the moment of completion is already fun. As a developer, I think this is one of the most interesting aspects of programming, and I want our users to experience the same feeling. We heard people say, "I couldn't get to the end with the tutorials” for other programming software. That's why with this software, I wanted to make sure that people would finish making the games in the lessons by repeating the experience of these small moments of completion.
I see. So, you focused on the feelings of happiness at having completed something.
Teshima: Something happened to me that inspired me to convey the fun of completing a project and having that sense of accomplishment. I had visited the Nintendo Labo Toy-Con Garage VR hands-on event. We had beginners try out some simple programming, combining the control stick node and the person node to make the person move using the control stick. Then, when the character started to move, there was a big "Whoa!” in the hall, like a boom. We were surprised by this reaction! (Laughs)
Things that are obvious to developers might be a surprise to beginners.
Teshima: Yes. I didn't know that people who had never programmed before would be so impressed by the fact that they could make things work with their own programming! I was really impressed by that experience. I stayed conscious of this experience in the development of this game.
That’s an important realization.
Teshima: I myself felt that the experience of doing the work and seeing something slowly come together is interesting. I had the thought to create something that would get people to experience that feeling right up until the end. In programming, there is a learning method commonly known as "sutra copying,"4 in which you learn programming by copying sample code. It’s an effective method, so we referenced it.
4 "Sutra copying" is a Japanese phrase for describing a way in which you learn programming by transcribing sample code.
I see, so transcribing the code is a surefire way to get to the end then.
Teshima: Yes. But one thing that tends to happen in scripting is that it is hard to notice if you enter something wrong, and if there is an input error, the program won't run. Of course, finding out for yourself where you've gone wrong is a very useful way to learn programming, but I thought that this software should use a guided system so that you don't get lost in typing mistakes, pushing that moment of completion to the forefront.
That's why you carefully put in interactive lessons to guide players to the point of completing a game.
Teshima: Correct. The individual steps of the seven interactive lessons are each designed to be completed in about five minutes, with each lesson gradually moving on step-by-step. By finishing the steps and having these incremental experiences, players will gradually get closer to making and finishing their own game.
Each lesson is broken into steps to keep you on track
But if the player were to stop in the middle of a lesson and time goes by, won't they find themselves forgetting what they learned in the previous lesson and getting stuck?
Masuda: Each new lesson is based on the content of the previous lesson, but it is not necessary to recall the content of the previous lesson in order to proceed. We tried to avoid situations where you need to recall from memory, so that you can move on if you just simply follow the instructions on the spot.
I see. That’s a relief.
Masuda: As a matter of fact, there was a question of whether the instructions for each lesson should be increasingly hands-off and vague as the lesson levels increase, to give the users more freedom to understand the programming on their own and for the knowledge to stick. However, it would do no good if we used a hands-off approach and hid the instructions only to have the player give up, not knowing how to make the game.
Even with plastic models, if the instructions are there for only half the model, it will be difficult to complete it. If you don't know how to finish it, it's no fun.
Masuda: That's right. With this game, too, we paid attention to the structure of the software so that players wouldn’t make mistakes and would be able to complete the games by themselves. That’s the structure I had in mind. Also, between lessons, there are puzzle-like problems called "checkpoints," where you can see that you have understood and completed the task by yourself.
Test your know-how with Checkpoints between lessons
Part 4: The joy of programming.
What should players do next, once they finish making games using the interactive lessons?
Masuda: As the next step, we offer the Free Programming part of the game. Of course, you can decide that you want to make your own game from scratch, but we recommend that you start by copying and playing around with the games you’ve made in the interactive lessons. The games you make in the lessons are also saved in the Free Programming area as your own games, so you can use them to make new games as well.
Teshima: I think it’s good to play experimentally at first, combining the Nodon from the lessons to see how they function. If you get confused, you can always go back to the lessons or the Nodopedia or check the functions in Alice’s Guide.
Look at a creation’s programming to see how it’s made with Free Programming
I see. I guess it's better to start with preset configurations and work your way up, rather than trying to create something amazing from scratch. However, as I get better and better at making, I might wonder how far I can go to create something more advanced. In fact, some people have wondered whether they’d be able to create actual games, like the ones sold on the market.
Masuda: I don't think it's possible to create something on the same level as the games sold as software for Nintendo Switch. In Free Programming, there is a limit of 512 Nodon and 1,024 connections linking the Nodon... However, I think you’d be able to take a part of your favorite game and try to create a similar system. For example, you could try to recreate one of the mechanisms from the Legend of Zelda™ series5. So, I hope you will enjoy thinking about how you can make it work within these parameters.
5 The Legend of Zelda is an action-adventure game series in which players solve puzzles while adventuring. The first game in the series was released in 1986.
It might be fun to think of whether you can recreate your favorite game within these parameters.
Teshima: As for how much development can be done with Free Programming, this software includes physics operations6 from the beginning, so it is good at creating action games such as jumping and breaking things.
6 Physics calculations are used to make objects move in accordance with the laws of physics in the real world. Physics calculations enable the realistic representation of actions such as rolling, breaking blocks, and blowing in the wind.
I see. So, you don't have to create complex operations by yourself.
Masuda: On the other hand, players can't put a lot of text in one game, so this is not good at making RPGs7 or text adventures8.
7 An abbreviation for Role-Playing Game. Role-Playing Games are a genre of games in which the player controls a character who projects themselves in the story and experiences growth through adventure.
8 A genre of games in which the player reads a story that changes according to the player's choices, mainly through text told with illustrations and music.
Teshima: No, no, no, maybe there is someone who will break through there with a combination of various Nodon. (Laughs)
Masuda: It's true that even with the Toy-Con Garage VR, there were a lot of things that were created by players that surprised the developers. It was like, "I didn't know you could make something like this!” (Laughs)
Even with restrictions, someone might show up who will be able to devise ways to overcome them.
Masuda: I'm looking forward to seeing any games that surprise the development team.
By the way, when you make something yourself, you want people to see what you've made, but in what way can you share it with others?
Teshima: You can share your creations via the internet9 or local wireless communication10. If you use the internet, you can upload your game to Nintendo's servers, where each game will receive a game ID. You can then give the ID to others and have them enter it into their Nintendo Switch system to download the game.
9 Nintendo Switch Online membership (sold separately) and Nintendo Account required for online features. Not available in all countries. Internet access required for online features. Terms apply. nintendo.com/switch-online
10 Additional games and systems required. Sold separately.
Share your creations locally and online
Will I also be able to see how the downloaded game is programmed?
Teshima: Of course. That point is important to us.
Masuda: I'm sure that there will be many people who create appealing games, and I think that just downloading and playing them will be enjoyable enough, but I would like people not only to play them but to see how they work and to imitate them.
Could they also come together and work together to improve the same program little by little?
Masuda: The downloaded games can be copied and arranged in the same way as the lessons, so you would be able to add Nodon to them or to reduce the number of Nodon in the same game to build it up more efficiently.
You can download programs made by others and even look at how they’re made
So, challenging yourself to see if you can make a complex program simple is also a learning experience.
Masuda: Although it opens up a wide range of possibilities, the goal of the games created in Game Builder Garage is not to compete with games sold as products, and I hope that people enjoy creating whatever they want without being bound by the framework of "what a game should be like.”
Teshima: I agree. I think there will be various things uploaded on the internet. But I don't think that a game must have rules or action to be a game.
Masuda: For example, you can draw a lot of pictures of your favorite flower to create a field of flowers, and you can add an animation of a UFO flying over and enjoy it in that way. I think that’s wonderful enough. Of course, showing others what you created, hearing their opinions, and then getting that motivation of “I want to make a better game!” I think is also important. But more importantly I would like people to take pleasure in the inventions and discoveries gained from using their own hands.
In other words, you would like everyone to finish making their games, each in their own way.
Teshima: Yes, anything is a game as long as the creator thinks it's a game! I hope everyone will enjoy creating their own games and making their own discoveries.
I see, I now understand that you should feel free to make whatever you can think of.
Teshima: Most programming software seems to focus on the fun of what kinds of final products can be made. However, when we were planning this software, we thought it would be good to have the fun of trial and error and discovery during the programming process, as well as the fun of completing the steps of the lessons, and the joy of programming itself. Therefore, Game Builder Garage focuses on the fun of programming and we hope it supports that in a fun way.
Now in closing, do the two of you have any comments about who you would like to play this game?
Masuda: Those who know nothing about programming, those who know the word “programming” but don’t know what it does, those looking into programming education for children… I would like to ask those people to please try it once. Just by playing Game Builder Garage and having fun creating a game, I feel that they will naturally start to understand what programming is.
Teshima: I think there are many people, when they hear the word “programming,” they think, “I don’t know where to start” or “I’m kind of not into it.” So, for those people, we have prepared interactive lessons that will enable them to complete making a game to the end. I hope that it will be useful as a place to experience programming for the first time.
Thank you very much.