/Pulsus

Open source rhythm game and BMS simulator/player written in C#

Primary LanguageC#GNU General Public License v2.0GPL-2.0

Pulsus

Pulsus is a open source rhythm game and simulator/player for BMS format written in C#. The project main focus is to provide support for all the common game modes BMS is known for: 5key, 7key and 9key modes including both single and double modes.

Pulsus in action (YouTube):

YouTube: Pulsus 2016 10 03 Linux (Dolphin - DE/CON-STRUKT [BOFU2016])

Features

  • Supports following file formats (not completely):
    • bms/bme/bml/pms, RDM-LN, MGQ-LN
    • bmson 1.0.0
  • Single-Play support for 5key, 7key and 9key modes, Double-Play is not supported at the moment
  • Basic gameplay and judge using similar timing gates from LR2
  • Functions as a preview tool with chart editors like iBMSC/µBMSC/BmsONE
    • Usage: Pulsus.exe <bms|bmson file> -p -m <measure number 0-999>
  • Can output audio to .wav files
    • Usage: Pulsus.exe <bms|bmson file> --render <output.wav>
  • Engine Framework:
    • Window (SDL2 + SDL2-CS)
    • GUI widgets (Eto.Forms)
    • Input from keyboard/joysticks/controllers (SDL2)
    • Graphics with following backends: D3D9, D3D11, OpenGL. (bgfx + SharpBgfx)
    • Audio playback with following backends: XAudio2, DirectSound, PulseAudio, CoreAudio, and more. (SDL2)
    • Multimedia support for video, audio and image formats (FFmpeg + FFmpeg.AutoGen)
    • JSON (Jil)

Requirements

Windows users may need to install the following packages:

  • Vista/7: .NET Framework 4.5.1 or later
  • 8/8.1/10: No need to install anything
  • Mono: Using Mono Runtime instead of .NET Framework should work with some tweaks, not recommended.

Linux users:

  • Install or build the following packages:
    • mono
    • referenceassemblies-pcl / mono-pcl
    • SDL2
    • SDL2_ttf
    • FFmpeg (3.0.2)
  • Build bgfx and Eto binaries
  • Download the Windows binaries of Pulsus and append the package with your built bgfx and Eto binaries (and other binaries if you chose to build them instead)
  • Run Pulsus: mono Pulsus.exe

Building

Project utilizes C# 6.0 language features, so Visual Studio 2015 (Mono 4.0) or later is required to build the project.

For building third party runtime dependencies, see ThirdParty/README.md.

License

GPL 2 or later.