I intentionally got myself addicted to DDR as a means to get exercise:
Of course, it's not that simple. The aforementioned “Cheap newbie DDR mat” died very quickly, so I got a more expensive one, but that's beside the point. Now that I think about it, I think I paid for that mat with a MasterCard. Go figure.
Pydance is a great open source DDR clone, written entirely in Python. This means that it runs on pretty much every desktop operating system out there. Unlike StepMania, it does not require hardware acceleration. If I live to be eighty, rather than die of a heart attack at forty, it may very easily be thanks to its developers.
It can use step files of DWI, StepMania, and its own, clean, human-editable native format.
I used some of the file parsing modules of pydance to write a step chart generator. It takes a pydance's .dance file, StepMania's .sm file, or DWI's .dwi file and outputs a PostScript file with the step chart of one of its tracks. It was primarily intended to be used as a step chart plotter for .dance, because pydance didn't have one, but it can handle most .dwi and .sm files as well. To download it, go here. I am also working on a GUI for it.
NOTE: dance2ps uses some modules from pydance, but the download contains copies of these modules, so while I recommend you try pydance either way, you don't need to have pydance installed to use dance2ps.
I decided to try my hand at setting DDR steps to songs. Here is what I am working on right now: