Code Monkey home page Code Monkey logo

unnamed-sdvx-clone's Introduction

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

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 libarchive libiconv
  3. Run mac-cmake.sh 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

unnamed-sdvx-clone's People

Contributors

drewol avatar asleepycat avatar 123jimin avatar itszn avatar guusw avatar hinara avatar ereti avatar ubuntor avatar willxinc avatar atty303 avatar dan9er avatar tsfreddie avatar arm1stice avatar jerwuqu avatar pants avatar atirut-w avatar nieknooijens avatar spiritsunite avatar imgbotapp avatar pwootage avatar xpkore avatar albshin avatar scatterfish avatar turbedi avatar kuenaimaku avatar theregoesmysanity avatar aoki-marika avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.