Monday, April 02, 2007

Endless dancing with Stepmania .crs files

Disco Cat ! by Foxicat from flickr (CC-NC-ND)StepMania instead of just letting me dance wastes my time after each song on score screens, waiting screens, and selecting songs from the menu. Endless mode picks songs at random without any waiting, what would be cool if default courses provided by Stepmania didn't all suck:
  • Random "Standard" songs - many boring 4s, and 5s.
  • Random "Heavy" songs - "Max 300" and other 10s way too often.
What I want is a random selection of songs in specific range of difficulties. It turns out it's possible to do just that with very little hacking. Just enter Courses subdirectory in Stepmania directory, and create EndlessSixToEight.crs (or whatever.crs) file with the following content:
#COURSE:Endless 6-8;
#REPEAT:YES;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
#SONG:*:6..8;
The first line specifies the title, the second line specifies that it's for endless mode, further lines are songs. 6..8 means random song with numeric difficulty 6 to 8. For selecting just a single difficulty, use something like #SONG:*:8;.

It's important to copy&paste the same line all over. If you write #SONG:*:6..8; just once, you'll be dancing the same random song in loop. 50 means about 90 minutes at typical song lengths (~105s), what should be enough. If it's not, just copy&paste another 50 lines.

Stepmania wiki contains more information about CRS format.

4 comments:

  1. Anonymous16:56

    thanks! you just made my day & my diet :)

    ReplyDelete
  2. doesn't work, it selects random songs but not in the difficulty range needed. sorry about my english

    ReplyDelete
  3. adrian: This post is pretty old, it's possible it no longer works in new versions of Stepmania.

    ReplyDelete
  4. For those who find this page via Google like I did, if you change the lines to "#SONG:*:6..8:nodifficult;" it works

    ReplyDelete