The following is a translation of the third column in a monthly series on game design by Kan Naito (Shining in the Darkness, Landstalker) that appeared in the April 1991 issue of the Japanese magazine Mega Drive Fan. A scan of the original column is posted at the end. See other translations in the series here.
The MD Game Culture Academy
Period 1: Game Design
Instructor: Kan Naito, chief programmer of Shining in the Darkness
This time, the lecture will be on Kan Naito’s area of specialty: programming. Naito is in a wonderful mood after having just finished the Shining in the Darkness master copy, so he is going to answer all of your questions concerning the requirements, qualifications, and shortcuts to becoming a successful programmer. This is for all of you future star programmers out there!
Lecture 3: The Role of the Programmer
Today, I’ll be talking about the keystone of game development, the programmer. Most people probably think that the job of the programmer is to simply put together the game program. There are certainly business software programmers out there who just take orders for programs and then make them, but things are very different for us game programmers. Even if the designer or producer tells us that they want us to make such and such kind of program, we can’t immediately get started. Instead, we first have to carefully consider if the idea can actually be implemented on current hardware, and also if there are any ways to make it more interesting. If changes are going to be made, then we have to meet and carefully go over them with the producer. This kind of thing might seem like the work of the game designer, but it’s probably the most important characteristic of a game programmer. In my opinion, a professional game programmer doesn’t just take the design and program it, but instead must consider how to make the game fit the hardware well in order to improve it.
The Difference between a Pro and an Amateur
Next, let’s consider what separates a pro from an amateur. A game made by an amateur is probably only going to be played by friends. Of course, it’s going to be given away for free. In contrast, users are going to spend money to purchase a game made by a pro. Because of that, users aren’t going to be forgiving if the game is bad. Even if it’s boring, once they purchase it, they can’t return it. The only thing users can do about that kind of shoddy game is cry. It’s important for a pro to view things from the perspective of the users who will actually be playing. Closely following that will result in a game that naturally sells well, and it will also gain the trust of users who will hopefully purchase future releases.
In short, a game made by a pro must be entirely focused on satisfying the users who will spend their money to buy it.
The Qualifications to be a Programmer
What are the qualifications to be a programmer? Naturally, you have to be able to solve calculus problems with barely a thought. Just kidding (well, knowing some is probably better than nothing). You should be fine by just knowing arithmetic; a strong understanding of the fundamentals is enough in my opinion. And, of course, a computer is a necessity for a programmer. Also, it’s a given that you can’t be a game programmer if you don’t like games (by the way, all of the people in our company love games!). It also depends on your personal motivation. Beyond that, you just have to seriously devote your time to programming. In short, when it comes to programming, experience is the best teacher. You can learn the basics from books or from other people, but to actually make a game, you ultimately have to rely on your own sense. I think that’s something that you can’t learn from others but have to build up on your own. Anyway, when you’re just starting out, I think it’s good to get used to using BASIC or C and gradually progress from there. Beyond that, in order to get better at programming, I suggest making a complete game—it doesn’t matter what kind—all the way to the end. To be clear, this is an incredibly difficult thing to do, but when you finish you will most likely have come to understand a great many things on your own. Remember: it’s important to make the game from the perspective of the users who will actually play it.
People sometimes ask if they should go to a technical school to study information processing. I don’t think that’s a bad choice at all. However, if you aren’t committed to studying hard, then there’s no point in going. The advantage to going to a technical school is that you will be together with other people in similar circumstances. It becomes a place to exchange ideas. The knowledge that you gain there will be sufficient to get started in game development, but as I said before, you will eventually have to develop your own sense. However, if you graduate from a technical school, you’ll also be able to get a job at a business software publisher. This industry is advancing at a very fast rate, so if you want to enter it, you’d better enter sooner rather than later.
It’s also possible to take a shortcut to becoming a game programmer by getting a part-time job at a game development company. That’s how I got started. The best thing about getting that kind of part-time job is that you can absorb the techniques that are actually used in game development from the people there. It’s probably a good idea to work like that as much as you can without letting it affect your school performance. The best kind of company to work for is one that makes games that you like. The reason is that a company that makes high quality games will absolutely have good programmers. It’s very lucky to have that kind of person as a role model, so take the opportunity and pick up all of their techniques.
The Unforgivable “Compromise”
The role of the programmer is very important in the process of making a game. It can certainly be considered the “core” of game development. Because of that, the occupation of programmer is one that can’t forgive compromise. If a programmer cuts corners when putting together a program, what’s going to happen? Those compromises are going to turn into bugs that eventually bounce back at the programmer himself. When that happens, a lot of work has to go into fixing those bugs. So, a programmer has to avoid compromises in order to avoid future trouble for himself.
Furthermore, in game development there’s something called the delivery date. This is the fixed date by which you have to have the game completed. If it’s not finished by then, the release date will have to be pushed back. It’s one thing if development is going slow because of programming issues, but there are times when the scenario or graphics are behind schedule. When that happens, even though it’s not the programmer’s fault, he has to work very hard to meet the delivery date. Basically, the burden gets shifted to the programmer, and at times, it can become incredibly difficult work.
This time with Shining in the Darkness, development proceeded smoothly without any problems. I’m sure this is due to Climax president Takahashi’s touch. In the end, there is a lot of tough work involved in being a programmer (what job doesn’t require hard work?), but nothing feels better than when users tell you that they enjoyed the game you made. Once you know that feeling, you’re going to be obsessed with programming. I hope all of you out there work hard on your games so that I can enjoy them!
Kan Naito on the Path to the Game Industry, Part 3
This time, I’m going to talk about how I became interested in game programming.
Once I got my first PC-6001, I of course started to buy games for it. At the time, there were very few games that were sold on ROM cartridges like with the Mega Drive; almost all games were sold on cassette tapes. Can you believe that in order to play a game, you had to wait minutes (!) for it to load on the data recorder? Furthermore, back then, there were a lot of truly “crap” games. The first game I bought was Star Trek. I thought it was going to be a simulation game, but it was actually a shooting game. The quality was really awful and it wasn’t even worthy of being called a game. I shouldn’t have been tricked by it having the same name as the movie. However, I remember that there were a lot of relatively good games, such as ASCII’s AX Series and T&E Soft’s games.
Eventually, I started to mod kusoge (crap games) to make them more playable. This was much more enjoyable than actually playing the boring games. As I continued to do this, without even realizing it, I managed to learn BASIC all on my own.
After discovering the fun of programming, I entered the electronics department in high school in order to increase my knowledge of computers. (to be continued)
Kan Naito’s Favorite Games!
There’s a programmer here named T. He loves Sega’s Golden Axe and always plays it during our lunch break. He plays it any chance he gets. It’s a part of his life. He’s so obsessed with it that he isn’t satisfied with just playing it normally. Recently, he turned the screen off (!) and played it just by sound. He’s a strange guy.
But that’s okay. There are lots of people in the world who are even stranger. I’ve gotten off topic. Anyway, Golden Axe looked fun so I plugged in a second controller when T was playing and we tried two-player mode. Then I understood: it’s a great game. You can ride animals. The old man can head-butt. The girl’s dropkick looks painful. It’s exciting in a strange way when you beat down your partner (you can inadvertently do this in two-player mode). That reminds me: Takahashi was once again watching from the side with a look of concern on his face (this time for a different reason).