Articles

  • We once again have another alpha snapshot to share with you, Alpha 4.3. This build focuses primarily on addressing issues reported by the community from our previous alpha, as well as other changes (including fixes for 16-year-old bugs!).

    One of the major highlights of this build is that we now have hooks for future mouse and touchscreen support (including gestures and multi-touch). There is no in-game support for these inputs yet, but you should be able to see log entries for them. Accordingly, be advised that this build produces a large amount of log data output relating to the new input system. This is by design (to let us know if your inputs work), and will be removed on the next build.

    Due to some other changes being worked on for the Mac versions, this build also only supports macOS Mojave and newer.

    We are using an alternative means of hosting the mirrors for this release; we are currently investigating a more permanent solution.

    Changelog

    All platforms

    • Fixed various missing keyboard inputs, including symbol keys (;:'@#,<>./?|`{}[])(&^%$"), the ~ key for localised keyboards, and the number pad.
    • Fixed missing options for no mapping on localised keyboards.
    • 🐲 Add touchscreen and mouse input hooks
    • 🐲 Added hooks for haptic/rumble support on controllers. Why? Why not?
    • 🐲 Fixed odd skipping on inputfilters.
    • Removed average FPS gauge from debug overlay; caused skew on mod files.
    • 🐲 Fixed a few bugs in the render pipeline... added in 2004.
    • 🐲 Properly integrated buffering.
    • Rewritten triangle logic to prevent errors in ActorMultiVertex.
    • Fixed a small lights bug.
    • Added a cleaner way to shut the game down.
    • Added new window states in preparation for the removal of RageDisplay (check the logs for events!)
    • Fixed draw issue reported by some users.

    Linux:

    • Removed obsolete X11 input hook code.

    macOS

    • This build will only run on 10.14/10.15 due to work in progress code.
    • Fixed an integer overflow that messed with Catalina's guiding of our output windows.
    • Fixed a vertex overflow causing a very rare crash
    • 🐲 Fixed polling error.

    Windows:

    • Removed obsolete win32 input hook code.
  • We have released our next alpha snapshot for StepMania 5.3, Alpha 4.2. The main highlights for this build is our work on the input system, as well as continued work on our new renderer, and continuing improvements to our support for modern versions of macOS.

    As always, delete your cache before installing (the uninstaller on Windows does this automatically). On macOS, you must uninstall the previous version.

    In addition, we have once again changed the preferred OpenGL renderer on all platforms to glad. If you are maintaining save data from the previous build, you must go to Save/Preferences.ini in your installation directory and delete the VideoRenderers line, or change it to list glad instead of glfw. Note that on Windows platforms, Direct3D (d3d) is no longer supported as of Alpha 4.2.

    Download links are, as always, on the Downloads page.

    Confirmed issues

    • If you are experiencing crashes on startup, please update your graphics drivers. There have been confirmed reports of startup crashes on devices running outdated Intel integrated graphics drivers from prior to 2018.

    Changelog

    All platforms

    • 🐉 Input has been completely rewritten to test controller input. The base keyboard/pad support works fine, but check your key mappings. If you encounter any issues, send us a bug report. It will likely change and be set back to our initial input method. * Player 2's keyboard mappings will need resetting to numpad as it sets +-/ as keys. (This is a hooks bug we will remove).
    • Lua's backend code has been made a little more stable. Theme developers are reminded that cmd is deprecated on 5.3, and that more efficient coding methods (such as function(self) blocks) should be used to improve performance.
    • Removed several cachemiss overflows, an important one being in the math pipe.
    • 🐉 Experimental touch support added. (There is no code at the moment, but it is on our roadmap.)
    • 🐉 Experimental hotplugging Support.
    • The DrunkOffset and TipsyOffset modifiers have been changed to match their behaviour on NotITG v4; the previous versions have been renamed to DrunkSpacing and TipsySpacing.
    • HiddenRegions has also been added
    • Optimise old ssc code from NoteDisplay.
    • Add option for hiding the mascot character on the title screen in Soundwaves

    macOS

    • Minimum supported version is macOS Sierra (10.12).
    • Please UNINSTALL the previous version before installing this version. As mentioned, set your renderer to glad if you keep your Preferences.ini
    • 🐉 Gatekeeper no longer gets upset with this version of the game. Core input modules are now 10.12+ compliant. If you had given the app permissions, please remove these as the code is Gatekeeper compliant. If you get any warnings (unlikely) let us know asap. Sound modules are now compliant with macOS Sierra (10.12) and newer.
    • HiDPI is enabled, but the resize window will still fail on a resize if the computer has 2 monitors. (known bug)
    • Memory usage display on renderer stats overlay now functions on macOS.
    • Fix clock errors.

    Windows:

    • Remove DirectX code from the game.
    • Fixed edge case heap crash caused by game controllers.

    Linux:

    • Fix bad Xinput crash
    • Fix lag on gameplay.
  • We recently released another public alpha snapshot of 5.3, Alpha 4.1. A major highlight of this snapshot is work on new graphics rendering pipelines, including one based on the OpenGL library GLFW, and experimental support for OpenGL ES 2.0.

    If you are upgrading to this build from a previous version, you must delete the Cache folder in your installation directory. There are changes to the format that will cause the game to crash unless it is regenerated. If you want to use the new renderer, go to Save/Preferences.ini in your installation directory and delete the VideoRenderers line. If you do this, or are performing a new installation, it should automatically default to GLFW if supported.

    There is no macOS build of alpha 4.1, as we still need to fix a few bugs to use the new renderers on Catalina.

    Changelog

    • New GLFW renderer pipeline.
    • 🐉Added Xwindow SDL2 support.
    • 🐉Tweak to remove dependency on ancient colour handling that actually slowed the game down, instead of giving it the intended performance.
    • Re-purposed GL Entrypoints to re-support ancient GL<1.5 Hardware, for native arcade hardware support.
    • 🐉Fix LLW to allow for set contexts.
    • 🐉Experimental GLES2 support from Dragons.
    • Add new Lua hook for GetRenderer now we have a choice.
    • 🐉Experimental HiDPI support.
    • Add the mascot art to the title screen menu on Soundwaves.
    • Soundwaves options menu includes a default timings menu with a numerical display of the timing values in each preset.
    • Tweaked lifebar in Soundwaves, including changing the "hot" (filled) color to a green/yellow due to concerns the previous "fire" color looked too close to red on certain displays.
    • Fix missing external SDL code.
    • Fix NaN crash on Actors.
    • Fix GLHandleARB mismatch.
    • Add better OpenGL handling for contexts on different systems.
    • 🐉Fix ImageCache forcing a D3D format causing unnecessary conversions in RageSurface.
    • Remove float based textures as they were unused.
    • Remove RageFormat PAL from the game as it’s been unsupported since 2007.
    • Fix Apple compiling with new pipeline.
    • Fix float errors in Gameloop.
  • Edit: An updated Alpha 4 build with bug fixes was released on 16 December 2019, and now includes macOS builds with Catalina support, and Linux.

    17.png

    Today we have released our first public alpha build, StepMania 5.3.0-alpha4 "OutFox". For those unfamiliar with the project, 5.3 is a continuation of the existing 5.1 branch by a new development team.

    Right now, our focus has been on refactoring StepMania's codebase to adhere to modern coding practices, in preparation for more larger improvements and features that we plan to add in the future.

    As a recap, here's a summary of the changes we have made so far, which are present in this build (a full detailed changelog will be posted soon):

    Internal changes

    We have been modernizing StepMania's internal code to optimize it for better performance on modern hardware. These changes help the engine run smoother and more consistently than previous versions, while remaining backwards compatible with existing content for 5.0.12 and 5.1-beta.

    We have also upgraded the internal Lua library to Lua 5.3.5 (with shims in order to maintain the backwards compatibility with existing code), and will also support macOS Catalina.

    New theme and coding features

    Alongside its low-level changes, we have also added new user-facing features and theme components. The new default theme of 5.3.0, "Soundwaves", serves as the official reference implementation for these new features.

    Modules

    5.3 introduces a new theming feature known as Modules. It is common for StepMania themes to include Lua scripts to enhance their functionality. However, these scripts are loaded on every single screen, which is inefficient. Modules is a new system for creating reusable scripts that can be called from within themes. Unlike scripts, they are only loaded and called when needed,. Reducing the number of global scripts in a theme can help improve performance.

    Advanced timing windows and judgments

    On previous versions of StepMania, the game's timing windows were defined only in the preferences file. On 5.3, we support the ability to load timing window presets from a module (including the StepMania defaults and other popular standards, such as In the Groove and ECFA), and allow players to choose the timing windows they wish to use from the player options menu before a song. In addition (excluding misses), these presets support up to 10 distinct judgments as opposed to just 5, which are used in our new "Advanced" variants of the StepMania and ITG timing modes: can you get a truly Flawless full combo?

    Another module allows themes to load custom judgment fonts, which can be selected from the player options menu. Unlike similar theme-level implementations, the image files are located in a new Appearance folder outside of the theme.

    Global noteskins

    Our future development will place an emphasis on fleshing out non-4-panel game modes. The new "global noteskin" system is an aspect of this goal, allowing you to create noteskins that are available to all game types.

    Toasty!

    Toasties are also back and upgraded: you can make custom Toasty styles with your own image, sound, and trigger conditions. As with judgment fonts, they are stored in the Appearance folder, and you can also select them from the player options menu.

    Profile avatars

    A new module also provides support for profile avatars: currently, our implementation checks for an image matching your profile name in the Avatars subdirectory of the aforementioned Appearance folder,

    Larger splash screens

    Splash screen images are no longer restricted to 468x68 dimensions.

    No more warnings about image dimensions

    StepMania will no longer display warnings if a texture's dimensions in pixels are not a multiple of 2.

    Soundwaves

    Soundwaves is the new default theme of StepMania 5.3 "OutFox". It has a clean and modern feel with influence from flat design, whilst still having visual flair. Soundwaves is developed around the new paradigms and features of 5.3, and provides a larger number of built-in features over previous SM default themes, including popular requests such as judgment font selection, notefield zoom and angle controls, user-selectable timing windows, and a zoomable judgment scatterplot.

    More modifiers

    We have also added more PlayerOptions modifiers. In comparison to the popular fork NotITG V3, we have approached feature parity, barring certain advanced features that had been implemented in this particular release (GL shader actors and additional notefields).

    We have also added AMod, a BPM-based scroll speed modifier based on the average BPM of a song.

    Download

    Download links are available here. Windows, Linux, and MacOS versions are available.

    For In the Groove 2 hardware, we are officially recommending use of Ubuntu 18.04 with the low-latency Linux kernel (linux-lowlatency). The Ubuntu Studio distribution ships with this kernel by default (you do not need all the included multimedia software. just the kernel).

    Known issues

    • Please use Portable mode on Windows if you have a large song library. We are experiencing issues with access to the appdata folder. The latest build defaults to using portable mode on installation.

    • If Intel integrated graphics are defaulting to Direct3D instead of OpenGL, please update your drivers. See the troubleshooting page for more information.

    • Themes containing ThemePrefs may need to be updated to use the new preferences system.

    Notes

    • If you have any bug reports, issues, or other suggestions, you can post them on the Project Moondance Discord server. DO NOT POST BUG REPORTS FOR THIS BUILD ON THE MAIN STEPMANIA GITHUB.

    • Due to OS security limitations, you may need to perform additional configuration changes to install on macOS. Please see the troubleshooting page for more information.

    • Be sure to also provide us with crash logs from StepMania when reporting crashes.

    • To ensure quality, we are not currently releasing the source code publicly at this time. We are planning to do so as we approach the final release, under the Apache License 2.0

  • We have been hard at work on OutFox, as well as engaging with the community via other platforms -- such as our Discord server, and occasional development update streams on Twitch. As we approach our first public alpha release -- which will be released on December 15, 2019 -- we will be updating the site to reflect the progress we have been making.