Dance Dance Revolution Translation, Custom Content and Server Emulation
Over-Waiting for New ContentIn the United States, DDR had a location test for e-AMUSEMENT services with DDR SuperNOVA2 in 2006/2007. Unfortunately, it seemed there was not enough player interest and plans to continue the roll-out of the service were canned. Following the infamous releases of DDR X and DDR X2, which dropped support for legacy cabinets, and new cabinets were required for every version upgrade. These decisions sadly led to DDR's demise in the United States for a while.
In the course of fitness for myself, I relied on DDR to provide me with the motivation and entertainment to continue my 300 lbs weight loss journey. Having been a fan of several of the bemani series since 1998, I had experienced much of the music and chart content the older installments offered. I needed something new and exciting to keep the motivation going.
In 2015 I imported a cabinet from Japan running much newer software than was available in the United States. The newer software required a network connection to even boot. I investigated how the network connection worked and created a personal 'server' to allow the game to boot. Noticing that all the functionality was the same and more from the SuperNOVA2 e-AMUSEMENT test, this gave me an idea to use the server functionality to track my weight loss and calorie burn. I built out that functionality and eventually more people wanted to do the same. So I created a front-end for the game, added support for the older installments of it that could use a server, and to increase accessibility, translated the user interface from Japanese to English.
In the course of the translation, the utmost care was taken to analyze the location test media and former marketing materials for the proper wording, localized terms, fonts, styling and kerning. Where available and appropriate stylistically, these styled assets were used. There were obviously new events, features, and functionality that didn't exist back then, so creative liberty was taken to keep the same general look and feel as the original and create the most official looking translation possible. While I handled the text and vast majority of the graphic content, several were outside my skill set to do, so my friends helped with those few. I then wrote the tools to insert the translation back into the game and rewrote the pointer tables and text routines.
Once this was done, I observed and recorded interactions with the machine to garner how the public would interact with the machine. One of the things I noticed is people would love to play songs but had trouble finding them again because they used Japanese characters as their name. So I localized & transliterated where appropriate; then added some flair to several songs that the public nomenclature had made pervasive. This helped the community feel engaged and listened to.
Once I got a feeling for how the public enjoyed the content and why they liked it, I set out to try to find a way to add new content and features to the game (such as live heart rate monitoring on the screen via an overlay!). Eventually, I created several open source converters for the file formats required, and piloted converting songs I made in home-brew in the actual application. With the help of my amazing friends, we had created enough content to create our own base installment in the game and the play records on the server proved it. Eventually, I went on to implement the functionality in home-brew because it was easier than jamming things into the official software. See some of my other projects that detail the parts of that!
This was an IMMENSELY fun project and the end result is nothing short of gorgeous. The translation works on both the legacy cabinets and the newer high definition ones. Many thanks to my friend who took several of the photos for me to showcase a gorgeous legacy cabinet!
There is SO much more than what you see here, especially with different dialects in events, however, this represents a core of what a walk up player might experience.