This is an old revision of the document!
Table of Contents
the StepMania-likes!
(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 has several issues that were only ever fixed downstream. For example: 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?
Any one of these forks can play normal StepMania charts on either pad or keyboard just fine, and they’re largely interchangeable for this basic purpose. The differences lie in the community niches they serve.
ITGMania
A 5.1 fork for the ‘post-ITG’ community. Content and events therefore cater mostly to dance pad play (and the integrated online leaderboard GrooveStats isn’t accessible to keyboard players).
Includes a new solution to the ITG offset problem, a small feature that might tip the scales all by itself if you like to try a mix of ITG and non-ITG content like I do :)
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. Considers itself alpha software.
Notably supports a variety of game modes apart from 4-key dance, including modes that simulate Pump It Up, Beatmania, Pop’n Music, Taiko, …
Etterna
A 5.0 fork focused on competitive 4-key keyboard content. Has its own difficulty calculation and scoring systems, an ingame chart pack downloader, and online multiplayer.
NotITG
The last 3.95 fork that's still maintained. Notable 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 varying degrees:
- 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 correctSyncOffset
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 tend to download one type over the other.
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?