StepMania is an rhythm game engine designed for use with various styles of dance and music. StepMania was initially created as an emulator for Dance Dance Revolution, a game series of Konami arcade and has progressed since into an extendable rhythmic game development engine that has enough capability to support a number of rhythmic game options. Initial version was released in 2001 while the latest version of StepMania is StepMania 5.0 available to download..

This game engine is developed in C++, Assembly and Lua as open source. It’s source code is available under MIT license while songs are available under Creative Commons license.

It is available to build and compile in Windows, Linux and MacOS. On windows it requires .NET Framework 3.5, Direct X SDK, Windows Platform SDK and Visual Studio – Visual C++. On MacOS you will need Homebrew to compile it. On Windows, make sure you have Microsoft Visual C++ Redistributable installed prior to running the game to avoid VCRUNTIME140_1.dll Library Errors.

Several video game series use StepMania for development such as “Pump It Up Pro” and “In the Groove“.

Features of StepMania Engine

  1. Support for Custom Songs: One of the most amazing features of StepMania is Custom Songs that it allows the clients to customize their own dance-patterns for any kind of song of their choice in .mp3 or .ogg file formats. For this purpose, the engine comes with an extensive Step editor to assist the development of such files.
  2. Support for Background Animations: This game engine provides support for many background animations such as sprite-based animation sequences.
  3. Modifiers: Visual modes, which affect scrolling of arrow signs leads to elevation or demotion of difficulty. Dance Dance Revolution comprises many modifiers introduced by StepMania, however, there are many other multiple modifiers developed specially for StepMania, such as customized SPEED selections.
  4. Dancing characters: According to a predefined routine, 2-D & 3-D character samples which dance in the BG.
  5. Support for multiple input devices: The engine supports a wide range of input devices, including dance pads, keyboards, and game controllers.
  6. Customizable graphics: The game’s graphics can be customized with themes, which can change the appearance of the game’s interface, backgrounds, and character animations.
  7. Multiple game modes: The engine supports multiple game modes, including dance, pump, and keyboard modes.
  8. Support for various file formats: The engine supports a variety of file formats, including SM, DWI, and SSC files, which can be used to create custom dance charts.
  9. Online play: The engine includes support for online play, allowing users to compete against each other over the internet.
  10. Advanced options for creating custom charts: The engine includes advanced tools for creating custom dance charts, including support for BPM changes, stops, and arrows with multiple simultaneous steps.
  11. Modding community: The StepMania community is known for creating and sharing custom content, including themes, charts, and other mods.

Technical Details about StepMania Engine

Here are some of the technical specifications of the StepMania engine:

  1. Graphics engine: The game’s graphics engine is based on OpenGL, a cross-platform graphics API.
  2. Audio engine: StepMania uses FMOD, a cross-platform audio library, for audio playback.
  3. Input handling: The engine uses DirectInput on Windows and SDL for input handling on other platforms.
  4. Supported file formats: StepMania supports a variety of file formats for dance charts, including SM, DWI, and SSC files.
  5. Multi-platform support: StepMania can run on Windows, Mac OS X, and Linux.
  6. Customizable themes: The game’s interface can be customized with themes, which are written in Lua.
  7. Network play: StepMania supports online play, allowing users to compete against each other over the internet.
  8. Extensibility: The engine is highly extensible, with support for custom game modes, input devices, and other mods.

Overall, the StepMania engine is designed to be flexible and customizable, with support for a wide range of platforms, file formats, and input devices. Its modular architecture and extensibility make it a popular choice for creating custom rhythm games and other mods.

Games Developed in StepMania

In the Groove game
In the Groove game
pump it up pro
Pump It Up Pro

Useful Resources

Source Code:

Source Forge:

Build Instructions:

Download the Game Engine: