Skip navigation.

My Tech Blog and I

Open Source, Tech Politics, and the World of Linux

I Pity Da' Fool Who Can't Step to the Beat!

, , , , , , , , , , , , , , ,

What do you get when you cross dancing, music, video games, Mr. T, and free software programmers? You end up with the cross-platform open-source game, pydance! This arcade-style game follows the lead of popular commercial music and rhythm games to become unto itself a wholly individual creation.

The whole thing got started when Brendan Becker, an open-source programmer and member of the Debian development community, got an itch to create a version of one of his favorite arcade games, Dance Dance Revolution, for the free software world and the operating system of his choice, GNU/Linux. Up until then, the only home versions of DDR available were for a select few video game systems, and most versions were only available in Japan, home of Konami's Beatmani series of games. So around 2001 Becker (or as he is better known on the Internet, P2E) started experimenting with Python, a scripted programming language, in order to create his own iteration of the dance and rhythm game set, which he called pyddr.

The initial steps made with programming the game were small, but as he experimented more and more with Python, and later the Python library pygame, he began to yield results. At first, the on-screen "beat meter" pulsed in time with a given number of beats per minute. Soon, the arrows that indicate the step movements became implemented. Then with version 0.1.0, a great achievement was reached: the arrows scrolled up the screen, just like in the arcade game!

Progress soon began to flow quicker as more and more features began to show the first signs of implementation, and then later, improvement. Python enabled Brendan and some fellow coders, who had joined him by this time, to make fast progress on the game. By version 0.5.0, which was released in May of 2002, MP3 and Ogg Vorbis support, song selection, an in-game announcer, colored arrows, original graphics, graphical theme support, and loadable external songs had all become features within pyddr.

Lacking an official announcer voice audio set at the time, Becker had a funny thought for a temporary source for pyddr's announcer: they would use audio clips from the television show "The A-Team" featuring the show's legendary strong-man, Mr. T. Game players, upon first using pyddr, must have been surely shocked when a misstep would lead to the reprimand, "I don't think so, sucker!" or, "Hey man, this time [we're] gonna do it my way."

By the beginning of 2003 the pyddr team, consisting of Becker, Joe "piman" Wreschnig, and John "DShadow" Bafford, began to look towards the inevitable 1.0.0 release. They had gotten to version 0.6.0 by now, and things had begun to take on good form, including the exciting addition of multiple player mode. The TODO file at the start of 2003 contained a list of feasible near-future ideas for the game, but by mid-year the team started to look towards more ambitious ideas for the first major release point version of pyddr. One of the first things they put into the TODO that languished for long time was the prospect of an official announcer theme. The programming was most important for getting near 1.0.0, and so most other things, including documentation, graphics, and audio fell by the wayside. The other things would have to wait until the 0.9.0 series of releases to get attention. For the time being, however, they put forth a list of announcer line suggestions into their TODO file.

Meanwhile, in Utah, a Linux user by the name of Sean "Nz17" Robinson had discovered pyddr through The Linux Game Tome. A long-time fan of its inspiration, DDR, he could not resist trying the game, and it soon became one of his favorite FOSS game releases. Wanting to give back to those who had made such a wonderful game for the world at large, he intended to donate his time and effort towards the game's cause. Being unfamiliar with Python programming, he knew that there was still a myriad of ways he could contribute, such as with art, documentation, or bug testing. However the real world interfered with these intentions, and delayed his contributions. He did vow to himself though that he would give his service to the program eventually when he was able to do so.

The main pyddr team had been shrinking the list of items on its TODO list significantly in last few months. By version 0.7.2 the game's name had been changed from pyddr to pydance to better reflect what it had become: it was no longer a simple imitator of Dance Dance Revolution, it was now able to emulate a wide variety of dancing and music games, both from the Bemani series and other inspirations, and had a multitude of customization options to sculpt the game to the players' play choices.

At the start of 2004 the team released 0.8.3 but was still working diligently towards the shining glory of the long-sought 1.0.0 release. In order to better accommodate their goal, Becker, Wreschnig, and Bafford streamlined and divvied the TODO list into three sections: required for 1.0, wanted for 1.0, and "Definitely Not Touching Until After 1.0." The official announcer theme, though desired for 1.0, was moved into the second section, and the line suggestions were dropped from the TODO list.

Robinson had experienced moving his possessions and himself three times during the course of 2003 and early 2004. By the late spring, however, his life had finally settled down enough that he could get back into the open source world. He started work what would become the final list of lines for the pydance announcer. To do so he sought out the old pydance TODO file from the recesses of his hard drive's backup files.

Upon finding it, he discovered the ideas the developers had come up with in IRC (Internet Relay Chat) for the announcer months ago:
  • <hardcore`> "Awful dancing, you dance like gaijin"
  • <hardcore`> "get off the mat, there are crippled people waiting to put you to shame"
  • <Futility> "You shame your ancestors with that feeble twitching!"
  • <hardcore`> "Are you awake, you suck at dancing" "Are your legs broken?"
  • <ShredWheat> "stick to programming!"
  • <ShredWheat> "don't quit that day job"
  • <Futility> Hehe. "All your peers dance better than you! You are no better than a white person!"
The suggestions needed some work for clarity, internationalization, and delicacy. While the rest of the team programmed their nights away, Robinson worked on an updated, expanded list of announcer lines.

The beginning of 2004 had flown by quickly, and the main team had already released its second-to-last version before 1.0, codenamed "This release is dedicated to Gentoo bug #35890." Though Robinson had intended otherwise, he missed the 1.0.0 release which was made public in March of 2004. Not giving up on this oath, he finished the lines for finalized version of his announcer theme, "DJ EnZay," which ended up as thus:

Positive
  • Like sunshine on a rainy day.
  • Maybe you should try a harder song.
  • You're the life of the scene.
  • The dance flows within you.
  • Everyone shout out some respect.
General
  • Your legs are a blur.
  • The lights are showing your moves.
  • That's the way to be.
Negative
  • Awful dancing!
  • Get down if your going to shame us all!
  • You shame us with your flailing!
  • Do you have rubber for legs?
  • Stick to programming!
  • Don't quit your job just yet.
  • Everyone dances better than you!
After recording and mastering the audio lines in the Ogg Vorbis format, Robinson entered the #pyddr chat room to contact the main team to let them know that the files were ready. However it was late at night and the team was not to be found. Thankfully the channel was being visited by wm_eddie, an active member of the pydance community, who told Robinson on how best to contact Wreschnig. Shortly thereafter Wreschnig received the announcer files. A few weeks later, in September of 2004, DJ Nz17's theme was incorporated as the official announcer theme for pydance at last.

Development of pydance still continues to this day, albeit slower than back in those days of 2003 that saw rapid releases. Interest in the original inspiration for pydance, Dance Dance Revolution, has waned over the years, and by proxy, outsider interest in developing pydance has subsided. However there are still features to implement, and official music dance files are always welcome. Have you taken a glance at your favorite program's TODO file lately? We are waiting for your contribution to make it a better project, whatever your project may be.

Anime Podcast ASO Radio

Interview with a Free Music ManPolitical Agendas and Ambiguity

Comments

Anonymous 21. April 2006, 22:58

Anonymous writes:

I still think nothing beats truthful announcing like a "You Suck!" fron a DDR announcer... gee I wish they included that one. ^_^

Anonymous 21. April 2006, 22:58

Anonymous writes:

I still think nothing beats truthful announcing like a "You Suck!" fron a DDR announcer... gee I wish they included that one. ^_^

Sean Robinson 1. June 2006, 02:03

Yeah, but the problem with that is that it is only funny for observers. For users, hearing something like that is discouraging. Can't run a business by chasing away customers. :wink:

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies

December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31