# StepMania

StepMania is a cross-platform rhythm video game and engine. It was originally developed as a clone of Konami's arcade game series Dance Dance Revolution, and has since evolved into an extensible rhythm game engine capable of supporting a variety of rhythm-based game types. Released under the MIT License, StepMania is open-source free software.
Several video game series use StepMania as their game engines. This includes In the Groove, Pump It Up Pro, Pump It Up Infinity, and StepManiaX. StepMania was included in a video game exhibition at New York's Museum of the Moving Image in 2005.

## Development

StepMania was originally developed as an open-source clone of Konami's arcade game series Dance Dance Revolution (DDR). During the first three major versions, the Interface was based heavily on DDR's. New versions were released relatively quickly at first, culminating in version 3.9 in 2005. In 2010, after almost 5 years of work without a stable release, StepMania creator Chris Danford forked a 2006 build of StepMania, paused development on the bleeding edge branch, and labeled the new branch StepMania 4 beta. A separate development team called the Spinal Shark Collective forked the bleeding-edge branch and continued work on it, branding it sm-ssc. On 30 May 2011, sm-ssc gained official status and was renamed StepMania 5.0. Development on the upcoming version, 5.1, has gone cold over the past few years after a couple of betas were released over at GitHub. Project OutFox (formerly known as StepMania 5.3, initially labeled as FoxMania) is a currently closed-source fork of the 5.0 and 5.1 codebase originally planned to reintegrate in StepMania, however further in development, it was decided to become an independent project due to its larger scope of goals while still sharing codebase improvements to future versions of StepMania. These improvements include modernizing the original codebase to improve performance and graphical fidelity, refurbishing aspects of the engine that have been neglected, and to improve and expand its support for other game types and styles.

## Gameplay

The primary game type features the following game play: as arrows scroll upwards (or downwards if the player has selected the "Reverse" scroll modifier) on the screen, they meet a normally stationary set of target arrows. When they do, the player presses the corresponding arrows on their keyboard or dance mat. The moving arrows meet the targets based on the beat of the song. The game is scored based upon how accurately the player can trigger the arrows in time to the beat of the song. The player's efforts are given a letter grade and a number score that tell how well they have done. An award of AAA+ (triple A plus, formerly AAAA or quadruple A) is the highest possible award available on a standard installation and indicates that a player has triggered all arrows with "Flawless" timing (within 0.0225 seconds under official settings) and avoided all mines and completed all hold (freeze) arrows. An E indicates failure for a player to survive the length of the song without completely draining their life gauge. Default scoring and grading for StepMania is similar to scoring in Dance Dance Revolution; however, timing and scoring settings can easily be changed.
During a song, if the player successfully triggers all arrows with "great" or better timing, the player will receive the message "Full combo" alongside their grade. Players can also achieve "Full perfect combo" for completing a song with all arrows triggered with perfect timing or better, and a "Full flawless combo" if all arrows are triggered with "flawless" timing.
StepMania allows for several input options. Specialized adapters that connect console peripherals like PS2 and Xbox controllers or dance pads to one's computer can be used. Alternatively, the keyboard can be used to tap out the rhythms using arrow or other keys. Many song charts designed for keyboard are unable to be passed using a pad. In addition, the game possesses the capability to emulate other music games, such as Beatmania itself, o2Jam and DJMax's 7-key arrangement, Pump It Up and TechnoMotion - scoring however, remains similar to old DDR-style play by default (i.e. more weight is given for later notes).

## Features

* Custom Songs ("Stepfiles") also known as "Simfiles": StepMania allows users to create their own custom dance patterns to any song in .ogg or .mp3 format. The program includes a comprehensive Step editor to aid the creation of these stepfiles. Many Simfile websites exist where users share and distributed Simfiles for songs. Additionally, official DDR and In The Groove songs with their original steps are commonly available for StepMania.
* Background animations: Support for many types of animations behind the arrows onscreen, including sprite-based animation sequences, a single full-motion video or multiple FMV visualization overlays but are disabled if the song contains exclusive video.
* Modifiers: Visual mods that affect the scroll of arrows and either increase or decrease difficulty. StepMania includes multiple modifiers featured in Dance Dance Revolution as well as dozens of additional modifiers created exclusively for StepMania, including custom SPEED options.
* Multiple arrow types:
** Mines ("Shock" arrows in DDR X): An object that scrolls onto the screen along with the arrows. If a player triggers the mines, they will be penalized by having their dance gauge reduced and, customizing a theme, breaks the current combo chain that the player had going. However, the mines in StepMania are different from the Shock Arrows in DDR X in that the latter also turns the notes invisible for a brief period of time and breaks the current combo chain that the player had going. This step type was developed for the StepMania-based arcade game In The Groove, and was ported into StepMania itself during development of that title. There are several variations of these objects that effect scoring in different ways.
** Holds (also called Freeze Arrows): A long arrow that requires you to keep your feet or finger on the corresponding panel for its duration.
** Rolls: A special hold arrow which requires a rapid tap on to keep alive. This step type was developed for the sequel to In The Groove, In the Groove 2.
** Lift: a special type of arrow (colored Gray by default) which requires the key (or panel) to be held down before the note passes and released when the note passes the target arrows. This is different from freeze arrows in that the timing of the press is not important, only when the note is released.
* Multiple game types, including partial simulation of other rhythm games like Pump It Up, ParaParaParadise and beatmania IIDX.
* Real-time lyrics, which display on the opposite side of the screen for stepfiles that have accompanying lyric data.
* Custom themes: users can create their own skins for StepMania. Themes can vary from simple replacement of images to drastic changes that can be implemented by scripting its Lua backend.
* Dancing characters: 2-dimensional and 3-dimensional character models that dance in the background according to a pre-defined routine.
* Infinite BPMs: an official implementation in StepMania 4 of a bug in the 3.9 series that could be exploited to create "warps" in stepcharts using negative speeds.
* Network play: support for lobby-based online play, dubbed StepMania Online. Typically, users connect through the StepMania Online centralized server. Support for network play was added to the StepMania tree in 2005 and is available in all later builds. All players must have a copy of the song chosen by the host in order to play.

## Availability

Some versions of StepMania will run on most common operating systems (Microsoft Windows 98/Me/2000/XP/Vista/7/8, Linux, FreeBSD, Mac OS X), as well as the Xbox console. It has also been used as the base engine in a variety of free software and proprietary products for various platforms.

### Use in products

Several StepMania-based commercial games have been released due to its open nature:
* In the Groove (ITG) is an arcade dance game series developed by the core StepMania developers, and is based on 3.9 and a CVS build of StepMania often known as version 3.95. To prevent unauthorized copying, StepMania was re-licensed under a more permissive license (changed from GPL to the MIT License with the agreement of all coders, in exchange for their names appearing on the ITG credits screen), not requiring source code to be published on derivative works, and thus allowing ITG's copy control to remain proprietary and closed source.
* Pump It Up Pro is a spinoff of the Pump it Up series headed by former ITG developers and musicians. The game utilizes a build of StepMania 4 for its engine, which also led to improved Pump support in StepMania itself.
* Pump It Up Infinity is another spinoff of the Pump it Up series aimed primarily at North American audiences. Unlike the Pro series, however, it is managed directly by Andamiro. The game is based on StepMania 5.
* StepManiaX is a spiritual successor to In The Groove, with the addition of the Center panel and other features.

## StepMix

StepMania developers conducted StepMix contest for step builders to create stepcharts/stepfiles that can be played using StepMania. StepMix 1, 2, 3, and 4 were run successfully. Participants need to have a song to be used in the stepchart/stepfile. The song must be under a compatible license for distribution or be authorized for use in StepMix 4, or the entry is automatically disqualified. Additionally, if the graphics used in the entry are found to have been copied from another artist and used without their authorization (as happened once in StepMix 2), the entry may be disqualified.
The scoring is determined by the overall quality of the song, steps and graphics.

## Reception

StepMania became a quite popular free software game; the game was downloaded alone over SourceForge between 2001 and May 2017 over 6.3 million times.