This is a fork of DTXManiaNX, with a main focus on improving QOL, as well as cleaning up and improving the codebase. This fork was initially started from frustration with the lack of QOL features or decent UX in essentially all DTXMania forks, and intends to create a gameplay and menu navigation system more in line with the arcade.
Visit releases for automated builds. Stable builds are not provided at this point.
-
Newly written renderer
- Uses an abstracted architecture allowing arbitrary graphics backends
- Currently uses OpenGL (instead of DirectX9)
- Supports translating, rotating, and scaling elements according to a hierarchy
- Fully serializable and skinnable
- Support for arbitrary resolutions such as 1080p or 2160p (4K)
- Currently restricted to 16:9
- UI scales gracefully, independent of resolution
- Font rendering currently handled by Skia
- Video decoding and rendering through ffmpeg (supporting practically any format under the sun)
- Uses an abstracted architecture allowing arbitrary graphics backends
-
New theming engine
- Written on top of new renderer
- Doesn't affect old UI elements (for now)
- Most game and menu elements can be skinned or transformed
-
New animation framework
- Allows for keyframe based animations, loaded at runtime from json files
- Multiple smoothing and interpolation options
- Currently used by judgements, some transitions, note explosions, wailing
-
Automatic updates
- Builds are automatically done through GitHub Actions, the game will download, unpack, and install updates whenever a new build is available
-
Rewritten song database
- ~4-8x performance speedup
- Safer handling of files
- No more reliance on legacy (unsafe) BinaryFormatter, using SQLite database for cache
- Song name transliteration (romanization)
-
Improved gameplay features
- Improved and more customizable judgement and note explosion effects
- Note and gameplay related elements are much easier to skin now with more cleanly separated locations
-
Greatly improved guitar support
- Greatly overhauled rendering of notes, long notes, and wailing
- Long notes and wailing support (customizable) animations
- Single player guitar support
- Vastly improved guitar chart loading
- Loading songs is now multithreaded, resulting in 4-8x performance improvement depending on the hardware
-
Greatly improved sorting functionality
- Sorting functionality similar to GITADORA, with songs grouped in various categories
- Group by BOX, Difficulty, Level, Title, Artist, etc
-
Various stages recreated from scratch
- Song selection UI
- Customizable options for various display parts
- Grealy improved smoothness and UX
- Results screen
- Added information (Skill is implemented to match the arcade games)
- Styling and fonts updated to match recent games
- Song selection UI
-
Improved Guitar navigation
- P + strum to confirm
- Y + strum to go back
-
Greatly improved settings menu
- Most menu options are now sorted into categories (for example, Audio, Video, Gameplay, etc)
- Added options for drum velocity
- New quick settings menu
- Removed options that don't affect the current game anymore
- Improved naming and description for various elements
- Layout rendered using new UI
-
Improved WASAPI support
- Particularly on some edge cases on Windows 11 where wasapi would not work before with some sound devices
-
Extensive Dear ImGui-based tooling
- Inspector and hierarchy views for new UI framework, performance analysis, song database tests, etc
- Toggle using
ctrl + i - In game log viewer (
ctrl + l)
-
Rewritten config structure
- New schema based structure
- Properties only need a single reference in most cases (for basic types)
- Feature parity on song select screen with upstream DTXManiaNX
- Lane swapping (similar to DTXMania AL)
- Song favourite filters
- Create separate video rendering behaviour option for 4:3 videos to stretch
- Load random videos from a folder for charts with missing videos
- P4IO input support (arcade Gitadora hardware)
- Configurable slow/fast
- Configurable positions for judgement
- Further improve song results screen
- Separate kick pedal offset (?)
- Animation based transition handler
- Improve separation between instruments, allow arbitrary instrument combinations
- Currently guitar or bass only mode is implemented in a hacky way by removing extra notes from the chart, preventing bass notes from being played when playing for example guitar only mode. This should be configurable.
- Readd screenshot functionality
The current .NET SDK target is 8.0 (In the future this will be lowered to 6.0, mainly so we can still support Windows 7, which is used by real hardware GITADORA machines) https://dotnet.microsoft.com/en-us/download/dotnet/8.0
Install the required SDK (Currently .NET 8.0)
winget install Microsoft.DotNet.SDK.8
Clone the repository
git clone https://github.com/BocuD/DTXmaniaNX.git
cd DTXManiaNX/DTXMania
Build a release
dotnet build -p:Configuration=Release
Run the game
cd ../Runtime
./DTXManiaNX.exe
In the root of the repository, a build_and_run.bat script is included to automate these steps.
DTXManiaNX is a program that replicates gameplay from Konami's music video game, Gitadora - Drummania/GuitarFreaks. It processes DTX files (including older formats such as BMS/BME or GDA/G2D) and allows playing of custom created charts with a use of a game, keyboard or MIDI controller.
For more information regarding creation of DTX files and its data formats, do visit the original DTXMania Wiki. Various video tutorials are available from APPROVED DTX Gaming's YouTube page or Furukon Rhythm Gaming's YouTube page.
- DTXManiaNX (limyz / fisyher)
https://github.com/limyz/DTXmaniaNX
- DTXMania (yyagi)
https://osdn.net/projects/dtxmania
- DTXMania AL (Sena)
https://osdn.net/projects/dtxmaniaxg-verk
-
Download the latest release of DTXMania and extract it to a location of your choice
-
Download and install the .NET 8.0 Runtime (if prompted)
-
Download and install the DirectX End-User Runtime (DirectX v9.0c)
-
Run DTXManiaNX.exe
For additional help or support, ask away in DTXMania on Discord! https://discord.gg/ST5MWHe