You are here: Home torrent No.5 Graduate Interview 1

Graduate Interview 1

What is the attraction of game programming?

Konishi : Could you start by explaining what kind of work you do?
Ono: The Advanced Technology Division where I work functions as a technical support team for the company. I work on developing game engines. Game production involves various tasks: graphics, animation, AI, physics calculations and so on. When we develop a new game, it’ s becoming difficult to do everything from scratch, so we use existing systems and libraries. The function of the game engine is to create this common infrastructure and systems and put a development environment in place . I’m in charge of tool programming.
Konishi : Exactly where is that in the entire game production process from planning to completion?
Ono: The development of the game engine itself is separate from the game production process. The game engine is ultimately only a means of producing the game. Using the game engine makes each step in the game production process go more efficiently and ensures high quality (Figure on the next page).
Konishi : Can this common infrastructure be used for making software that will run on any platform ̶ say, game machines, PCs, smart phones and so on?
Ono : The ideal is to be able to use the game engine so things made on the PC will run on any machine. It’ s important to design the game engine so a different code can be substituted for the sections that won’t run well under a different environment.
Konishi : What aspect of programming do you like best?
Ono: I really enjoy the fact that mastering the skills makes you more adept at writing programs.
Konishi : Isn’t the real thrill also the fact that a new product may become a bit hit and sell several million copies?
Ono: I’ve only worked here for two years, so I haven’ t had that experience. But of course I’d love to release a game that completely revolutionizes things.

What was your motivation for changing from physics to game programming?
Konishi : What was your original motivation for choosing this type of work? It’s rare for someone who studied physics to go into this line of work.
Ono: At the end of my first year of college, I started studying programming so I could create game software as a hobby. I began with a two-dimensional game, and when I had gained some skill, I began working on creating three-dimensional games. In the course of doing this, I experienced the enjoyment when I completed a game, and I also became very attracted by the difficulty and depth of game programming. But then I ran into problems that I couldn’t solve no matter how hard I tried. And the programs became enormous and impossible to manage. It was frustrating.
Konishi: When was this?
Ono : Around the end of my third year of college. I thought I had given up, but for some reason I couldn’t stop looking at the source code. So I decided to give it another try. I started to study programming again from the ground up. And I found I was able to write far more advanced programs than before. That was a major turning point for me, and I decided to make game programming my career.
Konishi: Of all of the game companies you could have chosen, why did you choose Square Enix?
Ono: I simply liked one of the games they marketed. Also, they make their technology a selling point. I was interested in them because they used advanced technology for game programming.

Are you using what you learned in graduate school?
Konishi: What kind of research did you do in your graduate school days?
Ono : Around the time that CUDA (a programming environment for GPUs) had just come out, I was working on increasing the speed of the diffusion Monte Carlo, a kind of first-principles calculation, by using GPUs. The Monte Carlo method is well-suited to parallel computing, and I was able to achieve a greater than ten-fold increase in speed. So in that respect I was able to produce achievements. But even though I was able to perform calculations for molecules up to a certain size, there were problems with program stability and so on, so I wasn’ t able to apply it to larger systems. Another research topic was single precision operations on GPUs. The GPUs nowadays are capable of double precision operations, but at the time they hadn’t been developed, and I was exploring how far it was possible to calculate with only single precision.
Konishi: With single precision it seems like the rounding error would be a big problem. Was it?
Ono : Yes, I came to the conclusion that using only single precision would be difficult when high accuracy was needed. And I was happy that I was able to confirm that, leaving aside the question of GPUs, even if lowcost fast calculation units were available, they also would not be much help if we could only perform single precision operations.
Konishi : Are you using your graduate school research in your job now?
Ono : I’m using the knowledge I gained about GPUs in my job. I may not actually use numerical simulations themselves in games, but in the course of producing more realistic games in the future, I think it’s possible that I’ ll use numerical simulations for advance data preparation. Advice for students Konishi: Lastly, as someone who has studied computational materials science, do you have any advice for students?
Ono: The programming I started doing in my student days was kind of my own style, and I wish I had studied design more seriously. After I joined the company, I began full-fledged study of design patterns. But if I’d mastered that while I was still a student, I might had produced better results in my research as well. Since other people may use or expand on the code I’m creating in my job now, I’m being careful to create programs that are flexible and versatile. This is something that’ s needed in scientific numerical computing as well, especially for large-scale programs. 
Konishi : The kind that we’ll be working with if we start using the K Computer.
Ono : Yes. And in terms of the programming environment, I think more and more development will be done by multiple programmers from now on, so we’ ll have to use version control software.
Konishi: CMSI will also have to work hard to develop the framework for teaching the expertise needed for large-scale software development.

(April 25, 2012 at the Square Enix head office)