Skip to content

Latest commit

 

History

History
112 lines (94 loc) · 5.98 KB

README.md

File metadata and controls

112 lines (94 loc) · 5.98 KB

Unnamed SDVX clone language: C/C++ Build

A game based on KShootMania and SDVX.

Demo Videos:

Gameplay Video Portrait Gameplay Various Settings

Current features:

  • Completely skinnable GUI
  • OGG/MP3 Audio streaming (with preloading for gameplay performance)
  • Uses KShoot charts (*.ksh) (1.6 supported)
  • Functional gameplay and scoring
  • Saving of local scores
  • Autoplay
  • Basic controller support
  • Changeable settings and key mapping
  • Supports new sound FX method (real-time sound FX) and old sound FX method (separate NOFX & sound effected music files)
  • Song database cache for near-instant game startup (sqlite3)
  • Song database searching
  • Linux/Windows/macOS support
  • Song select UI/Controls to change HiSpeed and other game settings

Features currently in progress:

  • Lighting peripheral support
  • More gauge types

If something breaks in the song database, delete "maps.db". Please note this will also wipe saved scores.

Controls

Default bindings (Customizable):

  • Start: [1]
  • BTN (White notes , A/B/C/D): [D] [F] [J] [K]
  • FX (Yellow notes, L/R): [C] [M]
  • VOL-L (Cyan laser, Move left / right): [W] [E]
  • VOL-R (Magenta laser): [O] [P]

Song Select:

  • Use the arrow keys or knobs to select a song and difficulty
  • Use [Page Down]/[Page Up] to scroll faster
  • [F2] to select a random song
  • [F8] demo mode (continuously autoplay random songs)
  • [F9] to reload the skin
  • [F11] to open the the currently selected chart in the editor specified by the EditorPath setting
  • [F12] to open the directory of the currently selected song in your file explorer
  • [Enter] or [Start] to start a song
  • [Ctrl]+[Start] to start song with autoplay
  • [FX-L] to open up filter select to filter the displayed songs
  • [Start] when selecting filters to toggle between level and folder filters
  • [FX-L] + [FX-R] to open up game settings (Hard gauge, Random, Mirror, etc.)
  • [TAB] to open the Search bar on the top to search for songs
  • [BT-B + BT-C] Add song to collection (such as favourites)

How to run:

Just run 'usc-game' or 'usc-game_Debug' from within the 'bin' folder.

Command line flags (all are optional):

  • -notitle - Skips the title menu launching the game directly into song select.
  • -mute - Mutes all audio output
  • -autoplay - Plays chart automatically, no user input required
  • -autobuttons Like autoplay, but just for the buttons. You only have to control the lasers
  • -autoskip - Skips beginning of song to the first chart note
  • -debug - Used to show relevant debug info in game such as hit timings, and scoring debug info
  • -test - Runs test scene, for development purposes only
  • -gamedir - Sets the directory the game loads assets from. If unset, attempts reading from $XDG_DATA_HOME/unnamed-sdvx-clone. Finally, uses the executable directory if all else fails.

How to build:

Windows:

It is not required to build from source. A download link to a pre-built copy of the game is located at the beginning of this README. The recommended Visual Studio version is 2017, if you want to use a different version then you will need to edit the 'GenerateWin64ProjectFiles.bat' if you want to follow the guide below.

  1. Clone the project using git and then run git submodule update --init --recursive to download the required submodules.
  2. Install CMake
  3. Install vcpkg
  4. Install the packages listed in 'build.windows'
  5. Run 'GenerateWin64ProjectFiles.bat' from the root of the project
    • If this fails, try using the -DCMAKE_TOOLCHAIN_FILE=[VCPKG_ROOT]\scripts\buildsystems\vcpkg.cmake flag that vcpkg should give you on install
  6. Build the generated Visual Studio project 'FX.sln'
  7. Run the executable made in the 'bin' folder

To run from Visual Studio, go to Properties for Main > Debugging > Working Directory and set it to '$(OutDir)' or '..\bin'

Linux:

  1. Clone the project using git and then run git submodule update --init --recursive to download the required submodules.
  2. Install CMake
  3. Check 'build.linux' for libraries to install
  4. Run cmake -DCMAKE_BUILD_TYPE=Release . and then make from the root of the project
  5. Run the executable made in the 'bin' folder

macOS:

  1. Clone the project using git and then run git submodule update --init --recursive to download the required submodules.
  2. Install dependencies
    • Homebrew: brew install cmake freetype libvorbis sdl2 libpng jpeg-turbo libarchive libiconv
  3. Run cmake -DCMAKE_BUILD_TYPE=Release . and then make from the root of the project.
  4. Run the executable made in the 'bin' folder.

Embedded (Raspberry Pi):

  1. Clone the project using git and then run git submodule update --init --recursive to download the required submodules.
  2. Install the libraries listed in 'build.linux'
    • For things that are not in the package manager repository or too low of a version you have to download and build yourself
    • SDL2 Can be installed using the instructions found here
  3. Run cmake -DEMBEDDED=ON -DCMAKE_BUILD_TYPE=Release .
  4. If cmake completes succesfully run make
  5. Run the executable made in the 'bin' folder