I can't hide it: I'm thrilled that Dragon Ball FighterZ is coming to the PC. The first Dragon Ball game came out in 1986, for a mostly forgotten console called the Super Cassette Vision. Since then there have been literally dozens of Dragon Ball games, RPGs and fighters and adventure games, but not one of them was released for the PC until just the last few years. Even in the heyday of 80s Japanese PC RPGs, nothing. Instead, the PC has long been the domain of Dragon Ball fangames—fighters like Hyper Dragon Ball Z, made in the free 2D game engine MUGEN. While waiting for FighterZ, I decided to research Dragon Ball's PC history, wondering if there could've been some long-lost, never-translated 80s RPG out there I'd never heard of. Instead, I found a charming 25-year-old game made by four high school kids with no internet and just a few precious programming books.
As soon as a Google search brought me to this page on Squakenet, it was clear something was fishy. This was definitely a Dragon Ball fighting game starring Goku and Krillin, with some rudimentary graphics but surprisingly fast action. They can dart across the screen, which seamlessly switches to a splitscreen view when they're further away launching kamehamehas. Punch and kick combos come out in flurries, and there's even aerial combat. It's simple, but surprisingly fast and smooth for an old DOS game. Still, it didn't look like the beta of a real licensed game.
The title screen of the embedded Youtube video clearly says it was made in 1993, but the video is labeled 1998. The description reads "only a playable beta version, not the full game, since the full game never got released." Could this really be a canceled Dragon Ball PC game from the 1990s? Who is Aprompt, the development team of four listed in the credits?
The name of lead programmer Agustinus Nalwan led me to the LinkedIn of a programmer who once worked at Australian game studio Beam Software, and Nalwan led me to the answer to this very small mystery.
"Back then, that was 1993, I was in high school still," Nalwan told me over Skype. He was excited to talk about the Dragon Ball fangame he developed with three friends—of course it's a fangame—even in the middle of a vacation in Bali.
"It was so hard back then, there was no internet in Indonesia, it was very hard to actually find information on how to write games, what techniques you use, what software, what programming language," he recalled. "But we were so passionate, and we liked to exchange our knowledge and also at school as well. So we had an idea, why don't we give it a try, build something that we can share with people all over the world so we can show off our work."
Nalwan and his friends, who were all members of the school computer programming club, decided to make a game. It wasn't his first, but it was far more ambitious than the two smaller projects he'd worked on before. And they wanted something people would be excited to play, so they picked Dragon Ball—at the time, a Super Nintendo Dragon Ball game was popular, but not many kids had the console.
"When you wanted to play this game, you had to go to a friend's who owned the console," he said. "So we felt this was the best testbed for us. People loved to play this game, so if we share it in Indonesia, people will play it. So we embark on this journey, we spent about four months, just four of us, two of us doing the drawing, the other two doing the programming, myself and one of my best friends."
Nalwan had recently gotten an IBM 386 PC with a VGA monitor (and a Sound Blaster!), which was a big deal—though that didn't make developing the game easy. They were limited to 64 kilobytes of memory, meaning all the game's code and art and sound had to fit within that constraint. They wrote compression algorithms to shrink the graphics and sound, and figured out how to chop the character's bodies—Goku and Krillin—into several parts, to reduce the filesizes of pieces that didn't move.
"Back then there was no Visual Studio, there's no OpenGL, it all has to be done very low-level," Nalwan said. They wrote the game with a mixture of assembly language and Turbo Pascal, which would help the program run fast, but that wasn't easy. Assembly has a one-to-one mapping between each line of code and a machine language (0s and 1s) instruction, which means you have full control over what the processor is doing, but it's tedious to write. A single like of Pascal or C++ code might end up being dozens of lines of assembly language, for example.
"The call would be in assembly language to make sure it was very fast. The logic was all done in Turbo Pascal, I still remember. It worked quite well. When we needed a really fast algorithm executed, we put it in assembly."
My favorite part of Nalwan's story is how he and his friends learned advanced computer programming as teenagers, without access to the internet or today's tools like Unity and GameMaker. One friend's dad worked in Singapore, and could get ahold of books they couldn't find in Indonesia. Once a year, they'd pool their money to have him buy a new programming book and bring it back to Indonesia when he came to visit his family. Even though the books weren't about programming games, they contained the fundamental knowledge the kids needed to learn to code. In about four months, they'd built their Dragon Ball fighting game, even recording sound effects themselves (making explosion sounds with their own voices) with a microphone in a garage.
Once it was finished, they uploaded it to more than 40 BBSes—before the world wide web was commonplace, you had to dial into a bulletin board system to upload or download software and art and music. "We waited for four or five months, and eventually we found that there was a computer magazine in Indonesia that covered the story about the game," he said. "We were so excited!"
Nalwan and his friends didn't stop there. They made hundreds of copies of the game on 5 ¼-inch floppies and gave them away for free at their high school during the annual fair that marked the end of the school year. Students would set up stalls in the hallways to show off arts and crafts and school projects and set up games for friends and family and other students. That explains the "Frateran Fair" on the title screen; Frateran was their high school.
Today, Nalwan works in AI and machine learning, but he did spend a few years in game development at Infogrames, working on Alone in the Dark and The Matrix. He was fascinated with games at a young age and would draw them out on graph paper, imagining the designs and rules. After Nalwan's dad spent two years doing engineering work in the United States, he returned with some computer programming knowledge and a PC to work on. That was Nalwan's gateway.
"I'd use his computer, look at his programming book and type things in character-by-character without understanding what the hell it is," Nalwan said. "Just type it in, maybe 200-300 lines. Doesn't work, there's some compile error somewhere. I'd have to compare every single character to find the mistake and correct it. Once I got it running, I was so excited, and I'd start trying to modify things. From there I slowly started to learn."
Later in high school and at university, he paid that knowledge forward by writing a series of books in Indonesia about games programming. Just a few months ago, someone who's read his books sent him a copy of the Dragon Ball game files, which he hadn't seen in years. He tried to get it working without much success—even in DOSBox, it takes a specific system configuration to get the sound working properly, which is why the YouTube video above doesn't properly play his homemade sound effects.
Even if it's not easily playable today, Nalwan's Dragon Ball game has earned a small but noteworthy place in fangame history. As far as I can tell, it's the oldest Dragon Ball PC fangame ever, or at least the oldest available online in some form. And without it, Nalwan's life likely would've taken a very different path.
"It's quite surprising to me that people still find this game and contact me and ask me about it. It's really quite fun and brings back the memories," he said. "If I didn't have passion in computer games, I probably would've ended up in the IT industry. That would've been a big loss, because I realize even now, even if I'm on holiday, I still like to think and read about computer programming. That's what my passion is, actually. It's like my hobby. Even though I'm not working, I still like it. It feels like you're playing every day, and someone pays you."