Triangle Service – 2013 Developer Interview
This lengthy interview (appended as a special bonus to the STG Love 10th Anniversary release) with director Toshiaki Fujino and composer Naoto covers both their 10 year history and their early days at Konami and elsewhere. In addition to explaining certain design choices in DeltaZeal and XII Zeal, Fujino gives his unique perspective as one of the few independent companies still making STGs.
—How did you both first meet?
Fujino: I’ve forgotten the exact date… (laughs) but it was when we were both working at Konami. About 10-15 years ago.
—You were both working at the same company, doing sound and programming, respectively?
Naoto: We worked together on the same project, Seishōjo Kantai Virgin Fleet. At the time we didn’t have any particularly close contact though.
Fujino: Yeah, I wasn’t working on the main team; I was mainly making software tools for everyone. Once I began working on the sound programming, I took a look at the sound data and was surprised to discover a strange song there. “What is this…?”
As I listened I searched for the looping points, but I couldn’t understand the timing. It was a very mysterious composition. I went around asking who wrote these, and learned it was Naoto. That’s how we were first directly introduced to each other, if I recall.
—Hah, that’s a great story.
Fujino: I think this is the same for all genres of game music, but for music that loops, most songs approach a certain loop point and then return to the start. But Naoto’s song first had an intro, then a main part, and when it looped back it didn’t return to the intro, but to that main part. It was really impressive to me at the time, when I discovered that.
—To change the subject slightly, Naoto, I understand you worked at Konami as a game sound composer.
Naoto: That’s correct.
Fujino: It isn’t very well known, but besides the works listed on Naoto’s official homepage profile, Naoto also worked on the sound for many older STG games. Games like Tobe Polystars and such.
—Wow! That’s a very rare game, on the M2 hardware, which was modeled as a successor to the 3D0 hardware. (laughs)
Naoto: That game was my debut as a composer.
Fujino: Really? I never knew that! By the way, how many people worked on the sound for Polystars?
Naoto: Three people. My first game I handled alone was Battle Tryst. Somehow, I was able to convince them to let me do that one myself.
Fujino: Were those the only two arcade games you worked on at Konami?
Naoto: Yeah. After Battle Tryst, the arcade development studio was restructured. In those days many game companies were undergoing organizational changes.
—That’s an interesting bit of history there. Well, getting back on topic, when you two first met, I’m guessing you had no idea that you’d be working together someday?
Naoto: Yeah, we didn’t. But even back then, Fujino exuded a kind of “independent spirit.” (laughs) One thing I still remember is one day when I saw him working on his day off. Normally when people do that, they come in the afternoon, right? But for some reason Fujino had been at the office since early that morning.
Fujino: Huh, I was? (laughs)
Naoto: It seemed to me that you’d been working there through the night. Suddenly you came over to where I was sitting and said, “Want to start a company with me?” I vividly remember that.
Fujino: …wow, I don’t remember this at all.
—Such ambition! The roots of the spirit that would lead to Triangle Service was already present!
Naoto: He also told me he'd drafted planning documents for a game he wanted to create, which he had uploaded to the company server. I remember he showed them to me. His designs was already very elaborate.
—You uploaded your personal game design documents to the company server!? (laughs)
Fujino: Yeah, and that reminds me. It did lead to me getting lightly reprimanded.
Fujino: I did the kind of thing that was certain to piss people off. I uploaded my design plans to the server and then sent a mass e-mail to everyone in the company saying “I want to make this kind of a game.” Then my boss at the time called me over, and I thought he was going to be angry, but he gently said “Fujino, you need to wait 10 years before you can do something like this.” He politely lectured me, and that incident made me think “I don’t belong here.”
—That’s a very defeatist response. (laughs)
Naoto: I remember thinking, “Wow, we’ve got people like this here.”
Fujino: A big company isn’t the kind of place where you can cherish your work and creations like they were your own children.
—After this both of you moved on, and you eventually ended up working on ΔZEAL (Delta Zeal) and XIIZeal.1 Can you tell us the events that led up to that?
Fujino: After quitting Konami, I studied game creation for awhile. It was a period where I felt very nervous about what I perceived to be the absence of my talents, and I was on the verge of quitting altogether. Then my money ran out and it was finally time to get a job. I went out and picked up a copy of B-ing (an employment magazine) at one of the hotel underground concourses near Shinjuku Central Park Hotel, and I sat at the park reading through it.
—Wow, you were in total unemployment mode. (laughs)
Fujino: Although I bought that magazine with a discouraged heart, I was also thinking “Ok, I’ll find some game work.” And lo and behold, there was an ad that read “Wanted: Arcade STG Game Developer.” My first thought was “Whoa, there’s still work like that?” (laughs) At that time the arcade STG golden age had long since passed. “I’m definitely doing this!” I thought to myself.
—That’s a crazily specific wanted ad.
Fujino: Well, going back for a moment… at this point I was still working on that game design plan I mentioned from my Konami days. I was in the process of shopping it around to game companies. In doing so I had run out of money, and that was what led me to start looking for employment… but my real intention was to make a sales pitch for my game at the interview for this STG developer job. (laughs)
So at the interview I explained things to the President of this company, “I’ve been working on these designs by myself, but how about you lend me the name of your company to publish it?” I proposed that, and he then said we would take my plans and go pitch them to another company…2
—Wait a moment. Just to get this all straight in my head, you weren’t even hired yet, and this was all decided during the interview?
Fujino: Yeah. I told the President of that STG development company that “I have experience making STGs, and I want to make STGs for your company too. But before that I want finish these plans I’ve made for my own game, and I’d like you to lend your company’s name to it.” As it turned out, the sales pitch for my game was a failure, but I ended up getting hired by that company and, as a director, I was able to start working on STG development.
—That’s a very bold stratagem. (laughs) In any event, what game did you eventually make there?
Fujino: That would be ΔZEAL (aka G-Stream 2020). We made it sometime around 2001.
—You touched on this a moment ago, but as you said, arcade STG releases were really on the decline then.
Fujino: Only three games were released in 2002: Dodonpachi Daioujou, and ΔZEAL and XIIZeal (aka XII Stag).
—Wow, and two of them were your games! I understand that ΔZEAL and XIIZeal were developed under very different circumstances.
Fujino: In the final stages of XII Stag, the client ended up bailing out, so we had to handle the remainder of the project on our own. This affected the amount of time we had both to finish ΔZEAL, and to start XII Stag. For a time I was working on both games at once.
—How did Naoto get involved in the sound?
Fujino: I was the director for these projects, and I knew I wanted Naoto to work on them. Although he’s made many famous songs, his name isn’t very well-known in the gaming world, which I thought was a real shame.
—Naoto, do you remember the first time Fujino asked you to join him?
Naoto: Well, it was over 10 years ago, so I’m a little fuzzy… but I do remember several trips to his offices in Shinokubo.
—If that was 10 years ago, then you both must have been in your late 20s/early 30s. As creators, would you say this was your most energetic period?
Fujino: For the reasons I mentioned earlier, I ended up going independent when I was about 27. I really wanted to make arcade games. My game was almost complete… but suddenly all communication with the distributors ceased. I was bitter about it, but I thought “Ok, I can’t let this opportunity pass me by, or I’ll never get another chance to release this game.” I resolved to start my own company, and that was Triangle Service.
Naoto: When I hear the songs I made back then, I think “man, I was young.” They’re STG songs, so in some sense the final product isn’t that different from the STG songs I make today, but my thinking and approach to the composition was very different then. When I listen to them now, it actually feels very fresh and new to me. It’s cool to get a glimpse of “oh, so that’s what I was thinking” back then.
—Fujino, do you have similar feelings when you look back at your work?
Fujino: When I look again at my old source code, I’m surprised at how much energy I had and the amount of code I was able to write. I can also see that with ΔZEAL, which was the earlier of those two games, the way I coded changed about halfway through that development. When you code, there’s a template-like procedure you can use for variables, and I switched to that method about halfway through ΔZEAL. There’s a lot of crude, sloppy code that stands out to me too. And a lot of it was unoptimized.
Back then all I did was coding, so I would use all my time and just code, code, code. But I would end up writing too much and exceeding the ROM size. I didn’t think about efficiency at all, so 512KB just wasn’t enough. (laughs)
—Yeah, it really does sound like you were brimming with the energy of youth. (laughs)
Fujino: Originally, with ΔZEAL I was told to make it like Raiden, so I did my best to approximate that style. But within that scheme I did try and express my own originality, and I think you see that in elements of the actual game. For instance, in the “stage fast-forward” gameplay, where killing enemies causes the scrolling to rapidly advance to the next enemy group, I was aiming for a novel high-tempo experience.
One thing I’ve realized anew with my current work is how all my games take less than 30 minutes to clear. It surprises me that even back then I was conscious of the proper length for a game. I think that until you’re experienced in game design, it’s easy to make your game too long, in that spirit of wanting other people to play your creation.
—It’s impressive you knew that then. You definitely see that in games, scenes that feel like the developer is saying “hey, I spent a lot of time and energy on this, so watch it!” You end up with a game that is needlessly long.
Fujino: Take XIIZeal. Even the non-zako, stronger enemies can be instantly killed with a bomb or a series of side attacks. Even though I spent so much time designing their attack patterns! It does kind of feel like a waste. (laughs)
If I were making that game now, I would probably design things more effectively. With age and experience you can approach problems from a greater variety of angles.
Naoto: I also feel like my grasp of the fundamentals has gotten better as I’ve gotten older.
Fujino: That period of time is the only time in my life when I have been thinking about games 24/7, though. XIIZEAL’s schedule was so short, it was a to-the-death struggle just to finish it. Even when I’d get home, I’d be lying in bed thinking “ok, how should these enemies enter” or “how can I make the side attack more exciting.” Night and day, I only thought of games.
In fact, it was only in the final two months of development for XIIZeal that I changed the power-up system from the ΔZEAL style to the side-attack focused system. So I was wracking my brain trying to think of ways to make that attack fun. An idea would come to me in the middle of the night and I’d turn over in bed, make a memo of it on the reverse side of my calendar, then fall back asleep… I just wanted to make an arcade game that badly.
—I can really see your dedication there.
Naoto: Yeah, somehow Fujino had even more vigor and energy for game creation than he has now!
Fujino: I sleep well these days, but back then I had a really hard time getting to sleep. I would be lucky to get about 4 hours of sleep a night.
—”Whatever it takes”… that’s a path that many game creators have doubtlessly travelled down.
Fujino: Yeah. When I think back on it, those were happy days. Devoting yourself heart and soul to game creation isn’t something you can do when you’re working as an employee for someone else.
—By the early 2000s, we were well past the time when games were developed with only one or a handful of people. Considering those circumstances, you were very lucky.
Fujino: Nowadays game creation starts from the premise of: how can this make the company money. There aren’t many chances to create things independently like I did. So in that sense I was very lucky. However, I did incur a lot of debt. (laughs) To speak solely of game creation itself, though, we’re blessed today to live in a time where the development environment is *much* more manageable than before.
The ΔZEAL hardware was based on the standard hardware of the day, but because it wasn’t very powerful, the development didn’t proceed very efficiently. It would take about a minute to transfer 512kb of data to the ROM via serial cable. With that kind of speed, making small adjustments and fixes was a pain. (laughs)
I did my programming in Windows, and one day I thought “I wonder if I could just run the game itself in Windows?” I ported the pcb hardware-based rendering engine into Windows software, and it actually ran normally. (laughs) After that I always worked in a virtual windows environment, and I did the final debugging work on the PCB hardware itself. So in truth PC versions of our games existed even then.
—Yeah, the demo of the XIIZeal Windows port is still available for download at the Triangle Service homepage.
Fujino: That was based on the current ΔZEAL pc version. So yeah, for the X360 port, there’s an impression that the X360 hardware is this hi-spec game machine, but it’s actually just running the PC version I had made. As such I had thought the ports would be very easy to do, but I had a lot of trouble with the memory speeds for XIIZeal, and a lot of unexpected problems came up with the hardware slowdown… I figured I’d just be able to copy-paste the code from my development environment, and I was shocked to encounter these problems. (laughs) For a moment I thought I was going to have to delay the release date, but I ended up discovering a solution, and after several hours of revisions everything was fine. (laughs)
—Even with today’s hardware, there can be surprising bottlenecks. Naoto, if you had any similar experiences on the sound side, please share them.
Naoto: All my problems revolved around the fact that the ROMs couldn’t hold a lot of data. In a typical STG, I think it’s standard practice to have the stage music to loop after about a minute, but I was told to do everything in only 30 seconds. (laughs)
Fujino: That must be why you made songs with such weird looping points. (laughs) The memory available for ΔZEAL was 4MB, with a mere 3MB useable for music.
—By today’s standards, that would only be enough memory for one recorded sample!
Fujino: Measuring by seconds, it was only enough space for 30-second songs. The format was 4bit ADPCM. Using two onboard chips, you could have 4 channels playing simultaneously.
Naoto: With those kinds of restrictions, you needed a few tricks up your sleeve.
—Yeah, and most games of that time were already using much more rich, full sounds. It must have been a real struggle for you.
Fujino: Having only three channels for the sound, it was like, what is this, the Famicom! (laughs) I don’t think many people realized that ΔZEAL had those limitations.
Naoto: It does sound like there’s a lot going on though. When I extracted the song data from ΔZEAL for the X360 ports, I noticed that the ends of the sounds would cut off suddenly. It made things sound strange when the track looped back, so I did some work on those sounds and made it all connect up cleanly. It took some doing.
Fujino: I never noticed that. (laughs) Actually, the original game didn’t really use proper loops for the BGM. With the ADPCM format I was using, you weren’t able to start playing a sound from the middle of the waveform. Well… I actually did figure out a rough workaround in the original game. I manually made the volume fade out at the loop point, but that made it sound a little strange when it looped back. I changed that for the X360 port of ΔZEAL. Or rather, it’d be more correct to say “what was wrong has been set aright.” (laughs)
—That’s good to hear.
Fujino: Actually, in the earliest stage of the development, I was using a Roland MIDI converter board for the music. The game’s pcb was connected to the Roland unit via a serial cable. The pcb would playback sounds based on the midi signals it was receiving. Unfortunately this approach didn’t work out. (laughs) I had some ideas on what to do if the transmission got interrupted, but the problem was with the poor capabilities of the MIDI board itself. It caused a ton of slowdown, and the tempo of the game was really slow.
Naoto: Slowdown? With MIDI? What kind of slowdown? (laughs)
Fujino: The person in charge of the hardware asked that I reduce the number of tracks in each song. I tried, but even after I reduced the number he still said it was no good, so I abandoned that approach.
—It sounds like he was really trying to say “you can’t use these in the game.” (laughs)
Fujino: Yeah, then why did you bring me these MIDI boards, I wondered. Anyway, in the end we switched to a sound chip from another board. If you play back the sound data though, they should still all play back as MIDI tracks.
—But you said that you had to greatly reduce the ADPCM tracks to 3 because of the memory limitations?
Fujino: Yeah, so we preserved the original, full-track MIDI compositions on the bonus soundtrack. They’re titled “unused”, and are tracks 28 through 30.
—So where were those songs sourced from?
Naoto: It’s midi data that’s been recorded as .wav files. We still had the .wav renderings of that music. In some ways they’re really precious specimens. The sounds used are the general midi Roland GS sounds and therefore kind of cheap-sounding, but that actually gives them a distinct charm.
Naoto: With XIIZeal, in contrast, we used the onboard system’s internal sound chip. It was the Taito G-Net hardware, the ZOOM sound chip.
—You can real feel the evolution of game sound hardware in those chips. There was the ZOOM chip, and with Taito’s PCBs, you had the F3 Board and the Ensoniq sound chip. That period of PCB hardware really had a variety of rich sounds.
Fujino: But the manual was wrong for the ZOOM hardware, and it caused us a lot of problems. The sound patch data had size restrictions, but those numbers were wrong in the manual. (laughs)
Naoto: Yeah, that patch data wasn’t pre-written in the hardware. We had to write the patches ourselves and transfer it over.
—It sounds like a different process from MIDI.
Naoto: Yeah, very different.
Fujino: It was the same as the Playstation sound chip.
Naoto: It was the first time I had used those sound tools, so I remember it being very difficult…
Fujino: In any event, the sound chip wasn’t very common, so there was very little documentation for it.
Naoto: And there were some bugs too.
—Why did you originally decide to bring XIIZeal and ΔZEAL to the X360?
Fujino: Last fall I released “geesen rabu ~purasu pengo!~” for its 10th anniversary, but then I belatedly realized that last October was the 10th anniversary of Triangle Service itself. I was like, “Damn, I missed it!” (laughs)
—How could you! (laughs)
Fujino: Technically Pengo had priority, being its 30th year anniversary. (laughs) I was thinking that there was no proper 10th anniversary release for console, and then I thought of ΔZEAL, which had never been ported. XIIZeal has a PS2 version, but it was already out of print, so I decided to release them both together on the X360. As a kind of return to the Triangle Service roots, it’s quite a fitting 10th anniversary release.
—I see! That is fitting.
Fujino: I probably won’t have another opportunity to develop a 2D graphics STG game, so it was now or never. After having not played these two games for so long, though, they actually felt really fresh. “Uwaaa, I didn’t know this boss was here!” (laughs)
—It’s especially nice to have ΔZEAL available now, since hardly any arcades carried it back then.
Fujino: The board was very fragile and prone to breaking.
—Both titles feature very detailed sprite work. Nowadays polygonal graphics are pretty much a given for a new game, but I think that just makes a release like this all the more precious. The way the metal looks on those sprites is awesome, even seeing it today.
Fujino: Our graphic designer cut his teeth at Seibu Kaihatsu, and is a real dyed-in-the-wool sprite artist. He used to draw lots of stuff like this back in the day.
—The animations for the sprites are also very detailed.
Fujino: The hardware I used for the ΔZEAL pcb couldn’t do sprite rotation, so I had to manually prepare the animation/rotation patterns for the sprites and store them all in memory. I think the graphic data alone took about 60MB…?
—That’s quite a lot.
Fujino: Yeah, the truth is that only half that amount was really being used. I was using 16×16 sprites with 256 possible colors, but I never actually used all those; the unused color definition bits were just wasted space. I mean, Seibu Kaihatsu’s Raiden actually only used 64 colors. But thanks to the extra capabilities for ΔZEAL we could show colors that weren’t possible on other hardware.
—When you look back on these two games, Fujino, what do you think of them?
Fujino: I think ΔZEAL shows people how much fun a traditional STG can be.
—Yeah, I know what you mean. And the power-up system is intuitive and easy to understand.
Fujino: Grabbing the same colored power-up to strengthen your weapon is something anyone can understand at a glance. Then there’s the bittersweet feeling of dying, being just one more power-up away from full-power.
—That’s one element that carried over to Trizeal, too.
Fujino: I like how XIIZeal exists as a counterbalance to the simplicity of ΔZEAL. Originally it used the same system as ΔZEAL, but since ΔZEAL was already out there, I ended up taking XIIZeal in a different direction. They’re two different sides of the same coin.
—And now they’re available together in one simple package!
Fujino: I think it sums up the 00s for us very well. Finally these games, both of which have the same roots, are available together in one place. It sure took enough years. (laughs)
—Yes, this could be the start of the “Triangle Service” decade for STG!
Fujino: I don’t think it’s much of an exaggeration to say that Triangle Service is representative of STG in the 00s. When I think deeply about it, I realize I might be the person who has spent the most time working on STG in the last decade. Of course there were several other developers making games, but I don’t know if they all had the same staff. I’m not sure there’s been any other individual who’s been continuing to develop STGs as I have.
—The bonus soundtrack also features several arrange versions (tracks 31-32).
Naoto: Those were made as a little bonus for people. (laughs)
Fujino: The sound is closer to your current solo work and Avant Girl.
Naoto: I added a live performance version of Stage 5a. It has a very clear melody so it was easy to arrange. For stages 2/6, I made them longer and changed the way they looped.
—The X360 port menu music is also a new track.
Fujino: For that, I asked Naoto to make something that was between the two styles of ΔZEAL and XIIZeal’s music.
Naoto: It was a difficult middle to find. (laughs)
Fujino: Both soundtracks are on the same disc, so if you listen to the whole thing I think you’ll naturally hear theconnections.
—Conceptually speaking I understand your idea about a “middle” between those two sounds, but that’s not exactly any helpful musical guidance. (laughs) How did you actually reflect Fujino’s request in your music?
Naoto: Well, I wrote the music for both games, so I kind of knew what he wanted. I experimented with adding the distinct sonic textures of each game, and somehow worked it all out to Fujino’s satisfaction.
—It sounds like Fujino has high standards for the music in his games.
Naoto: Yes, but he pretty much lets me do whatever I like.
Fujino: Come to think of it, only one song was rejected from ΔZEAL, at the very last moment. It was a song that was supposed to be used for Stage 3a. The sound was a little too intense so we decided to drop it, but for some reason it fit perfectly for the stage 1 boss, and we were able to reuse it there instead. I had completely forgotten all about that. (laughs)
—Today we’ve covered 10 years of your mutual history. Thank you for your time!
If you've enjoyed reading this interview and would like to be able to vote each month on what I translate, please consider supporting me on Patreon! I can't do it without your help!
Originally, ΔZEAL was called G-Stream 2020, and XIIZeal was XII Stag. I’m using the terminology they use throughout the interview, which is generally the newer “zeal” titles, although they do sometimes refer to the games by their original titles.↩
One of these companies (the interview is vague on specific names) was probably Oriental Soft, who published Fujino’s first game, G-Stream 2020 (later retitled ΔZEAL). As far as I can tell, they were a Korean company, and their only other STG release was the Psikyo knockoff 1945k III, released in 2000.↩