Thursday, October 2, 2025

Anecdotes & Insights - Shenmue Devs on Crunch & Debugging | Famitsu Dec 2024 [Part 2]

In this post, we continue our English translation of Famitsu’s 25th anniversary roundtable with the original Shenmue developers. In Part 1, the team recalled the brutal work culture, the “general election” that decided the lead programmer, and how some staff turned themselves into NPCs.

Part 2 turns to the harsh realities of debugging, with stories of cardboard naps, 24-hour shifts, bizarre bugs, and the obsessive attention to detail that made Shenmue both a nightmare to create and a one-of-a-kind masterpiece.

The Harshness of the Development Environment

Hirai: You really shouldn’t be starting meetings at 10 p.m., right? We did have a nap room, though. That said, my previous company wasn’t very different, so I thought, “Ah, it’s the same here too.” That was just the era we were in. Still, during Shenmue’s development, I felt way more pressure. I remember seeing my timecard showing "XX" hours for a single month.

Note from Switch: The original article did not provide the exact figures; “XX”/“YY” are placeholders for the actual numbers.

Kasahara: If we’re talking about work hours, then it has to be Wada. Like we mentioned earlier, when you looked at his timecard, he’d barely gone home all month. And he wasn’t the kind of guy to fudge the numbers or cheat the system either. His recorded hours for one month were something like "YY" hours.

— (We could only laugh.) I mean, there are only about 720 hours in a month, assuming 24 hours times 30 days.

Hirai: Wada was known as the ‘mainstay’ of the team. He was always present in the office - that’s how dedicated he was. And he wasn’t even a full-time employee! (laughs)

Kasahara: No matter when you showed up, he was always there.

— Mr. Wada, why were you working that much...?

Wada: I was a contract employee, and I originally worked at another company doing various types of development, but I was brought onto Shenmue under contract. And the content of that contract was to “see Shenmue through to release.” So I felt that unless the game shipped, I hadn’t fulfilled my responsibility. I was just doing what I believed was required of me.

To put it simply, I just didn’t go home for two months. (laughs)

Especially toward the end of development, we had about two solid months of debugging, and the team had to operate 24 hours a day. There were times during debugging when the game would crash, and the testers would be stuck, unable to do anything, until morning. That happened several times, but with no programmers around at those hours, the bugs couldn’t be fixed.

Once someone said, “We can’t do any debugging because there’s no programmer here,” I realized I had to be available around the clock. After that, I basically worked 24 hours a day.

Ryo catches some sleep... unlike some of the developers [Image added by Switch]

— When did you even sleep!?

Hirai: Seriously. When did Wada sleep...?

Wada: Honestly, I probably just didn’t sleep much at all.

Kasahara: He slept - from 5:00 to 5:15 in the morning.

Hirai: Ahahaha! But yeah, it really felt like he barely slept. He’d say, “I’m going to get some sleep,” and then he’d already be back, and we’d be like, “Wait, you’re up already?”

Wada: When they say “sleep,” I mean there was some cardboard laid out under a desk, and I’d just lie down there for a bit.

— W–wow...

Matsuda: Everyone was sleeping on cardboard back then. (laughs)

Wada: We were running debugging in three shifts, 24 hours a day, and the programmers had to be split into three shifts as well. At first, we tried doing just two shifts, but everyone burned out, so we gave up on that plan.

Miyawaki: Two shifts was impossible. (laughs)

Wada: Even with three shifts, simple bugs could be fixed by anyone. But when it came to trickier bugs, only Hirai or I could handle them. There was a certain tool that required in-depth hardware knowledge, and the only ones who really knew how to use it were the two of us. So one of us always had to be on-site, and that’s why I ended up staying in the office all the time.

Kasahara: And during the 5 a.m. shift change, there was this 15-minute window when no reports would come in. That was the only time Wada would sleep.

Hirai: Wada joined during the final year of the four-year development period, and honestly, things became so much easier after that. Not that the workload or the hours decreased at all - but I could finally shift my focus to other tasks, I felt a huge sense of relief.

Miyawaki: I was part of the art team, and once our work was done, we were mostly out of the production process. So relatively early on, we finished our main tasks. After that, I got assigned to the debug team and ended up acting as a sort of debug lead. I remember frequently reporting bugs to Wada and the others. But the number of bugs was just insane.

Wada: We’d have something like 300 bugs reported in a day, and we’d have to fix all 300 that same day.

Miyawaki: Eventually, they told us, “Stop bringing us bug reports.” (laughs) The more we looked, the more we found - it just never ended.

Hirai: That’s not how it was supposed to be! (laughs)

Wada: Even with 300 bugs in a single day, most of them were event-related, so the event team would take care of those. We focused on fixing the more critical, game-breaking bugs.

Miyawaki: There were a lot of silly bugs - like one where a woman at Yokosuka harbor would suddenly do the splits and zoom across the ocean at high speed.

There were some funny ones, too, like where a button UI got stuck on Ryo’s torso, making him look like a Power Rangers-style superhero. During an event at the tattoo parlor, where the American sailor says, “Gimme something tough,” this heroic-looking Ryo showed up, causing the punks to freak out and run off in fear. (laughs) The dialogue for the scene played as intended, but buggy Ryo looking the way he did made it pretty humorous.

The tattoo parlor

Wada: There was also one that came in as a bug report, though I’m not sure it should really be called a bug. It said, “For some reason, (former) Managing Director Yukawa is in the bar.” And I was like, come on - that can't be right. We didn’t program that!

— Right, logically speaking, if something hasn't been created, it wouldn't appear.

Wada: That’s what I thought too. But when we checked… Mr. Yukawa actually was there. One of the programmers had secretly slipped him in!

— So not really a bug - more like human error. (laughs)

Hirai: The event team, man... they just did whatever they wanted. (laughs)

Wada: We tried to squash as many bugs as we could, but...

Hirai: We were nearing the end of development, and things were so tight that we couldn’t afford to be playing around. So Wada declared martial law. He was like, “Seriously, no more of that kind of stuff.”

Wada: Also, this didn’t make it into the final release, but a video was leaked from somewhere of a bug where Ryo took on Yu-san's appearance*.

*Note from Switch: a full model of Yu Suzuki in Ryo's outfit can be found in one of the pre-release builds of Shenmue II - see comprehensive details about the "Game Jam" build on the Sega Dreamcast Info site. During last year's PRS & Shenmue Dojo interview with Yu Suzuki, his reaction to mention of this discovery was to comment with a smile that "it must have been someone's prank!".

The Game Jam build of Shenmue II contains a full character model of Yu Suzuki [Image added by Switch]

Matsuda: Oh yeah, that one! (laughs)

Wada: That was so funny. (laughs)

Matsuda: Outside of work hours, everyone totally got into creating that kind of joke data.

— Sega sounds like a pretty fun place to work. (laughs)
But setting aside the jokes, would you say the huge number of bugs came down to the sheer scale of the game?

Hirai: In terms of the program, I think we actually had relatively few bugs. We tried to write the code carefully from the beginning to avoid bugs as much as possible.

Kasahara: Honestly, it was a miracle the game ran. I think the real issue was that features kept getting tacked on - far beyond what we originally planned.

Okayasu: Normally, debugging means you fix a bug to get things working properly. But with Yu-san, whenever we’d fix something, he’d use that moment as an opportunity to say, “Actually, I’d like to change this too,” and just keep adding new ideas.

Hirai: There were also what we used to call "B" bugs and "C" bugs - minor bugs that you ideally want to fix, but aren’t critical, so they usually get pushed back. But with Shenmue, everything was treated the same. From Yu-san’s perspective, anything that wasn’t working exactly as he imagined was a critical bug.

Okayasu: We eventually had to step in and say, “Let’s focus on debugging only, no more new ideas.”
What’s great about Yu-san is how he always takes things as far as they can go.

Kasahara: I don’t think the game would have been finished without Hirai.

Hirai: And I don’t think I could have done it without Wada.

Kasahara: It was a miracle, really. Without the two of them, Shenmue wouldn’t have been completed.

Hirai: The game came out at the end of December 1999, but I think there were still about 10,000 bugs left in November, just a month before release, right?

Wada: Yeah, that’s why Chapter 1 was ultimately delayed by about a month. There was just no way we could squash them all in time.

Mr. Yukawa can be seen at Bar Yokosuka under very specific conditions (video by BlueMue)

— Now that we’ve heard Mr. Wada’s legendary story, Mr. Kasahara, could you share one of your own memories?

Kasahara: AM2 had never made a home console game before. And to be honest, there wasn’t even a proper planning team. Up to that point, we had always made games based on gut instinct. A programmer would implement something, Yu-san would check it, say “Let’s change this part,” and then they’d refine it through trial and error.

But Shenmue was an RPG, and you just can’t make a game like that without planning documents or design specs. Still, for about the first year of the project, there was no one in charge of planning. When I got pulled into the Shenmue team (courtesy of the infamous "Shenmue hunting"), I wasn’t even doing planning work - I was handling administrative tasks.

All the while, I kept telling Mr. Okayasu, “We definitely need someone for planning!” Eventually, there was a shift in thinking, like “Yeah, we really do need that,” and we finally got an official planning section up and running.

Okayasu: I don’t really remember that.

Kasahara: You totally said, “We don’t need planners! We can make it without them!” (laughs)

Matsuda: That definitely sounds like something he’d say. (laughs)

Hirai: Yeah, I can hear him saying it. (laughs)

— Would you say that’s part of the AM2 spirit?

Okayasu: Yeah, it was definitely part of the AM2 way of thinking.

Kasahara: For games like Virtua Fighter or Virtua Racing, development was all about feel. You’d say, “Let’s make this corner curve a bit more,” or “This part should be a nice straight where you want to hit the gas,” and just tune it by instinct. That works for arcade games. But with an RPG, the gameplay progresses through a narrative. You have to plan out what you’re making in advance - you can’t just wing it.

So I wrote out something like, “Here’s what we’re trying to do, and this is why we need a planning team!” I explained it on paper, got people to understand and agree, and that’s when I started getting involved as a Planning Director.

Hirai: I went all four years without ever receiving a spec document.

— There it is! The legendary no-spec document development environment!

Kasahara: Hey, I did write them! I really did!

Hirai: I never got one for any of my programming work. There was never anything like, “Program it like this.” I always had to figure it out entirely on my own.

Kasahara: Okay, yeah - we didn’t write system specs. (laughs)

Wada: I never saw one either.

Kasahara: What we handed off were things like scenario outlines, situations, gameplay concepts - basically high-level overviews of events.

Note on "spec documents":  In programming, whether for games or not, specification documents are like blueprints and are generally considered essential. That said, in the old days, there were plenty of dev teams who worked without them. Still, as the scale of development grows, so does the need for documentation. One can only imagine how difficult it must have been for Mr. Hirai to program Shenmue without any specs at all.


Turning Ideas Into Reality

— Listening to all of this, I can’t help but wonder how you even managed to make the game!

Okayasu: It was a mess. A complete mess.

— (laughs)

Okayasu: Maybe there’s a better way to say that… it was unconventional. There’s no doubt that the development approach was completely off the rails.

That goes for characters too - the main characters like Ryo were created by Miyawaki and Yu-san working together. But most of the other characters were created entirely on the spot by the staff on the ground. And rather than starting from their backstories or profiles, they were created visually first. People just kept cranking out character models, and then Yu-san would look at them and decide whether or not they’d actually appear in the game.

Hirai: It was all very ad hoc - more like putting out fires as we went. We had only been developing arcade games, so none of us really had experience with large-scale titles for home consoles. We weren’t following the kind of structured process where you start by building a big picture, identify the types of settings and assets you’ll need, and then plan things out step by step. This project wasn’t like that at all.

— It sounds like a marathon-style approach - building it as you run.

Okayasu: When Yu-san was checking character models, the ones with lots of facial detail, like elderly men and women with wrinkles, tended to pass his approval more easily. Probably because their faces had more “information” to them. So at one point, we ended up with a whole bunch of old people. (laughs)

Matsuda: I often got told, “This character doesn’t feel like they actually live in Yokosuka.” (laughs)
But when it was good, he’d give you a simple “Yes.”

Miyawaki: Standard-looking character designs just didn’t click with Yu-san. Unless the design was either unique or super unique, he wouldn’t say, “This is great!” So for a while, we had nothing but eccentric characters.

Okayasu: You couldn’t move forward without Yu-san’s approval, so everyone started making more and more extreme characters just to get a pass. It became a bit of a problem.

Kasahara: Same thing with the background environments. You couldn’t get a green light unless the streets looked dirty. Clean environments wouldn’t fly -  there had to be trash on the ground or stains on the walls. That’s why the townscapes in Shenmue are generally kind of grimy.

— The dark stains on the concrete walls and such are really well done.

Behold the cracks in this wall!

Matsuda: From a graphics standpoint, things like wrinkles or dirty walls naturally give you more visual information in a single image. For example, it’s easier to recognize a wrinkled old woman’s face as having detail than a smooth-faced young girl’s. A pretty, clean face might actually feel a little lacking in depth. I think that’s why he started feeling like those types of designs were a bit lacking.

So as you said, we naturally ended up with more and more elderly characters...

Okayasu: And then one day, Yu-san said, “Hey, aren’t there a lot of old people in this game?” (laughs)

Hirai: He’s the one who picked them! (laughs)

From a programmer’s perspective, though, one of the toughest parts was how every character had a completely unique appearance and build.

— Those unique textures are really great, though.

Hirai: There are hardly any reused assets in the game, so everything had to be rendered individually. That pushed the memory availability - even just for something like a single wrinkle.

We had a system called “Magic Weather” that handled snow and rain dynamically, based on time and weather conditions. Yu-san kept asking for more and more snow on screen. The more snow we rendered, the heavier the processing load got. I’d say, “If we add any more, it’s going to get too slow,” and the response would be, “Then make it faster!” (laughs)

With the rain too, it wasn’t just simple falling raindrops. When the rain hit the ground, it would splash - effects like that were added, and of course, they added even more processing load. Honestly, toward the end of development, all I remember doing was optimization work to lighten the processing load.

Okayasu: So while the process itself was completely chaotic, the goal was always clear: to realize Yu-san’s ideas. That gave the project a very distinctive development style. Speaking of weather, I was shocked when he said, “Let’s recreate the actual weather in Yokosuka from back then.”

Kasahara: Yeah, it wasn’t just random rain or snow. We actually got access to historical weather data from 1987 and used it in the game.

Okayasu: I remember Kasahara came to me and asked, “Yu-san wants to use the real 1987 weather for Yokosuka - where can we get that kind of data?” I had no idea! (laughs)

Kasahara: We also had the idea of using actual Yokosuka phone numbers. You couldn’t just get one unless you actually lived there, so we tracked down Sega employees who lived there. We ended up asking someone from another department outside of AM2, and managed to get a few real Yokosuka numbers.

— What did you plan to do with those real phone numbers?

Kasahara: Those numbers actually appear in the game. If you dial them in real life, the phone will ring, but nothing happens*. The original idea was to have something actually happen when you called.

*Note from Switch: Sega issued cautionary warnings in the Weekly AM2 online magazine, asking players not to call the phone numbers in real life, to avoid dialing wrong numbers.

— Like a Licca-chan* phone line - you know, the ones kids could call to hear a recorded message. (laughs)

Note from Switch: Licca-chan is the Japanese equivalent of a Barbie doll.

Licca-chan [Image added by Switch]

Kasahara: Exactly. The idea was to create something similar to the old “Dial Q2” service*, where, for example, you could give Guizhang’s password over the phone and trigger a response.

*Note from Switch: Dial Q2 was the name of a premium-rate telephone information/entertainment hotline that was popular in the '90s.

Hirai: Speaking of phones, that reminds me - the processing for the rotary phone cord was incredibly difficult.

You know what I mean, right? Not just a straight cord, but the coiled kind that stretches and contracts.

— Oh, right. Like a spring.

Hirai: Rendering that springy, coiled cord stretching and compressing was a huge task. I spent an insane amount of time making that work. And then, in the actual game, the amount of time it’s on screen is... just a split second! (laughs)

The phone cord has really natural movement when seen in motion.

Okayasu: You were pretty proud of that back then. (laughs)

Hirai: The program is physically accurate, you know! It really behaves the way it would in real life. Sadly, it barely got used in Shenmue I, but in Shenmue II, it ended up being used for the scene where Ryo and Ren are handcuffed together - the chain between the handcuffs uses that same code.

Ryo and Ren handcuffed together in Shenmue II

Okayasu: Looking back now, I do wonder if recreating things like historical weather data, using real phone numbers, or getting the behavior of telephone cords exactly right was really necessary…

— Yes, yes! As a Shenmue fan, that’s exactly the kind of energy we love - the immense effort put into things that have nothing to do with the main story. Like having a kotatsu table in the living room, with mandarin oranges sitting on it, and being able to pick one up, rotate it, and look at it. That’s totally unnecessary to the core game, but because you can do it, Shenmue feels different from everything else. That’s what makes it so special.

Okayasu: At the time, we were thinking, “If we’re going to spend energy on that, wouldn’t it be better to just make one more quest?” (wry smile) But in the end, those obsessive details are what created the fanbase - that’s something I’ve only come to realize in hindsight.

Wada: I was the one who created the object interaction system. At first, when they asked me to make it so the player could pick up and hold things, I thought it just meant making a picking-up animation. But it wasn’t that. They wanted a system where you could hold anything.

Reaching for an item

— And you can grab anything. It’s great.

Wada: So I thought, okay, I just need to make it so that each individual finger can move like a real human hand. I actually looked at my own hand as I was programming it. At first, I figured, "As long as it looks like he’s holding something, that’s good enough," and I made a generic picking-up system.

But then one day, Yu-san picked up a teacup in-game, looked inside it, and said, “The fingers are clipping through into the cup.”

— Oh dear.

Wada: I was thinking, “Well then... just don’t look inside it!” (laughs)

— Hahaha. I mean, for progressing through the game, there’s no need to pick up a teacup and look inside it.

Wada: Exactly. But in the end, I had to make the system flexible enough so that every item looked like it was being held correctly. I was thinking, “There's no need to tilt it! You don’t need to look inside the teacup!” (laughs)

Hirai: Wada took care of all those tiny details. Every one of them.

— This is just my personal opinion, but I don’t think being simple and efficient is always the “correct” answer when it comes to game development. Sometimes, it’s those weird places where you’ve clearly put in too much effort - where you think, “This might be pointless, but it’s kind of fun,” or “This isn’t cost-effective, but the creators clearly cared” - those extra touches, those indulgences in the system, are what make a game charming.

In a way, I think that’s the essence of entertainment. After all, we’re talking about a form of fun. It’s not like building or using office software, but it’s something else.

Okayasu: Hearing you say that… maybe it means everything the dev team went through back then was worth it. (laughs)

Continue on to Part Three.


Source: Famitsu.com – Shenmue 25th Anniversary Roundtable (Japanese) (December 2024)

Become a Patron!

No comments:

Post a Comment