User Tools

Site Tools


stepmania:variants

This is an old revision of the document!


the StepMania-likes!

flowchart TD ellip@{ shape: braces, label: "..." }-.->sm3 sm3[StepMania 3] sm3-- (forked) -->itg["In The Groove (1 & 2)"] sm3-- (forked) -->openitg[OpenITG] itg-. (inspired) .->openitg openitg-- (forked) -->notitg[NotITG] sm3-->sm4[StepMania 4] sm4-- (forked) -->sm-ssc sm-ssc-- (rebranded) -->sm5[StepMania 5] sm5-- (forked) -->etterna[Etterna] sm5-- (forked) -->outfox[Project OutFox] itg-. (inspired) .->itgmania sm5-- (forked) -->itgmania[ITGMania] style itg fill:#fdd,stroke:#f77 style notitg fill:#fdd,stroke:#f77 style outfox fill:#fdd,stroke:#f77

(the forks in red boxes are proprietary)

"ITG"?

StepMania was originally developed as a straightforward clone of Konami's DanceDanceRevolution, but its trajectory was meaningfully influenced by arcade DDR-like In The Groove, which was developed from and alongside StepMania 3.9x. ITG introduced several unique features not present in DDR (mines, drumrolls, visual mods) and integrated some of them back into the mainline StepMania codebase.

ITG's distinct identity and charting style influenced StepMania's community nearly as much as DDR did, and that's reflected in the way these forks distinguish themselves.

"sm-ssc"?

SM 3.95 marks a significant dividing line in the game's history: after 5 years in development, no stable release of SM 4 ever came to pass, and development was shelved. A seperate team, the spinal shark collective, took up development in their own fork, and this is what became StepMania 5.

Why shouldn't I just get StepMania 5?

The final build of post-SSC mainline StepMania is 5.1 beta 2, released in 2018, and unmaintained since. It's perfectly serviceable, sure, but it lacks several fixes only present in its forks. These games run user-supplied Lua code that you download off the internet, and in 5.1b2 that Lua code is mistakenly allowed to access the entire filesystem and load arbitrary dynamic libraries. You probably don't want this.

StepMania 5.2 never had a stable release, and "StepMania 5.3" is Project OutFox.

So, what are my options?

ITGMania

A "batteries included" 5.1 distribution that includes the popular Simply Love UI theme, integration with the online leaderboard service GrooveStats, and the community-created, royalty-free Club Fantastic chart packs. Also includes a new solution to the ITG offset problem.

Project OutFox

A closed source 5.1 fork, originally branded as a temporarily-private "StepMania 5.3" effort to be merged back into the mainline codebase eventually, though that notion now seems increasingly unlikely. Its headline feature is its built-in support for a large number of rhythm games and their chart formats apart from just DDR, ITG, and PIU.

Etterna

A 5.0 fork primarily focused on competitive 4-key keyboard play (though there’s no reason you couldn’t play it with a pad). Has its own difficulty calculation and scoring systems, an ingame chart pack downloader, and online multiplayer.

NotITG

The last 3.x fork that's still maintained. It's well-known for the expressive and visually intense mod charts enabled by its highly flexible chart scripting system. It's closed source and it only supports Windows, but it works OK in Wine.


Each one of these games has unique features and sub-communities, but my personal preference is ITGMania for general play, both for keyboard and dance pad. I also have NotITG installed for weird modcharts, and OutFox for BMS simfiles with note sounds.

the ITG offset problem

(some parts paraphrased from this ITG Wiki page)

When ITG 2 r21 added a feature where players could load Custom Songs from their profile cards, it was discovered that the game intentionally offsets all charts by -12ms as an (incorrect) mitigation for the machine's +3ms latency. So, to correct this mistake, it became standard practice to hardcode a +9ms offset into any chart intended to be played on an ITG cabinet.

For reasons that have long been technically unnecessary, this is still a common practice today: some charts have a "null" offset (synced properly), and others have an "ITG" offset (intentionally delayed by 9ms, only to be corrected by your game's latency settings). You're more likely to run into this annoyance if you end up downloading charts intended for one of the ITG clone StepManias.

If you're bothered by this, you have a few options, which all suck in different ways:

  • change your global latency every time you want to play a pack that has the other offset.
  • keep two entire stepmanias around and only give packs of one type to each one.
  • for any new pack you download that isn't in your preferred offset, open up each song's simfile (.sm, .ssc) and modify the #OFFSET tag depending on your preference.
  • use ITGMania, and add a pack.ini file specifying the correct SyncOffset to each pack you download that lacks one.

The last option is my personal preference. The pack.ini file is new with the release of ITGMania 1.0.0 (13 Mar 2025) and no other StepMania fork has adopted it yet at the time of writing, but it doesn't require any further fiddling once you've done it, and it isn't as invasive to the original song data as altering the simfiles themselves is.

The file looks like this:

pack.ini
[Group]
Version=1
 
#DisplayTitle=
#TranslitTitle=
#SortTitle=
#Series=
#Year=
#Banner=
 
# NULL (+0ms) or ITG (+9ms)
SyncOffset=NULL

I've commented out several optional fields which you may make use of for display and sorting purposes. The relevant field in our case is SyncOffset=NULL (or, SyncOffset=ITG).

To change which SyncOffset ITGMania assumes the pack to be when pack.ini is not present, you can navigate to Graphics/Sound Options ingame and change the Default Sync Offset setting. This may be useful if you don't want to modify all of the packs you download, but you know that you mostly prefer DDR-style over ITG-style packs or vice versa.

If you want to determine algorithmically whether a pack is meant to be null or ITG, you may be helped by the tool +9ms or null?

stepmania/variants.1748783308.txt.gz · Last modified: 2025/06/01 13:08 by raccoon

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki