A TJA player and Taiko simulator written in C++ using the raylib library.
- Cross-platform compatibility (Windows, Linux, macOS, Android, iOS)
- Controller Support
- Low latency audio via ASIO or WDM-KS
- Recursive and Dynamic Song Select Menu
- Multithreaded Input
- Multiple chart format support (TJA, Fumen, OSU/OSZ)
- Background video playback via FFmpeg
- Skin system with customizable graphics, sounds, and Lua scripting
- Branches (Normal/Expert/Master difficulty branches)
- Song search and favorites system
- Horizontal and vertical song select layout option
- Multi-language support
- 3D characters with animations and costume/color customization
- Online profile sync (scores, title, costume) via a network account
- 1 Player: Single player mode.
- 2 Player: Up to 2 players simultaneously.
- Dan Dojo: Challenge mode for back to back songs.
- Practice Mode: Freely scrobble through a song and practice
- Windows: Windows 10 or higher
- macOS: Built via CI, largely untested
- Linux: Ubuntu 20.04 or higher (other distributions may work but are untested)
- Android: Android 10 (API 29) or higher
- iOS: iOS 16.3 or higher; build from source with Xcode (see iOS guide)
Q: I'm on Windows and my latency is really high!
A: Change your device_type in game settings to WDM-KS, WASAPI, or ASIO if your computer supports it
Download the latest release for your operating system from the releases page.
- Install the Visual C++ Redistributable from Microsoft
- Run
YataiDON.exe
- Run
YataiDON.bin
- Install
YataiDON-Android.apk(enable "install from unknown sources" if needed) - Place assets in
sdcard/YataiDON. Specifically, you will needSkins,Songs, andconfig.toml.
- Linux
- macOS
- Windows (MSYS2/MinGW64)
- Windows (MSVC) (page pending)
- Android
- iOS
- Press F1 during gameplay for quick restart
- Press ESC during any screen to go back
- Press Space Bar during song select to favorite a song
- Press Left Control or Right Control to skip songs by 7
- Press F5 during song select to refresh
- Generic drum keybinds can be customized in
config.tomlor through the in-game settings menu
Contributions are welcome! Please keep in mind:
- Check the issues page for enhancements and bugs before starting work
- Feel free to open new issues for bugs or feature requests
See the issues page or the Discord for current bugs and planned enhancements.
This project is licensed under the terms specified in the LICENSE file.
Dependencies used in the project:
- raylib - A simple and easy-to-use library to enjoy videogames programming.
- SDL3 - Cross-platform development library for audio, input, and graphics.
- SQLite - Self-contained, serverless SQL database engine.
- RapidJSON - Fast JSON parser/generator for C++.
- toml++ - TOML config file parser and writer for C++.
- spdlog - Fast C++ logging library.
- Lua - Lightweight, embeddable scripting language.
- sol2 - C++ binding library for Lua.
- cpptrace - Stacktrace library for C++.
- libsndfile - Library for reading and writing audio files.
- libsamplerate - Sample rate converter for audio.
- FFmpeg - Complete, cross-platform multimedia framework.
- PortAudio - Cross-platform audio I/O library.
- miniz - Single-file ZIP/DEFLATE library.
People (in no particular order):
- IID
- mc08
- QBaraki
- KabanFriends
- DragonRatTiger
- Komi
- sumandrew
- WallK
- dpkgluci
- chuchy (osu parser)
- churrochef (vertical scroll)
- cainan (3d don chan)
- RyutoSetsujin
- Nyannurs (testing)
- fehpizza (logo)
- Radix (testing)
- Thonktheta (testing)
- SomehowScarlet (nix os)
- SunnyDeez (testing)
