/DDRCardDraw

Card draw / randomizer for use in music game tournaments including DDR, SMX, ITG, and PIU

Primary LanguageTypeScriptBSD 2-Clause "Simplified" LicenseBSD-2-Clause

DDR Tools

Discord GitHub contributors GitHub branch checks state GitHub last commit Libraries.io dependency status for GitHub repo

The official build is available at https://ddr.tools/.

Read all about what the app can do in the user manual.

Customizing / Contributing

This app can be easily customized for any format a tournament might use, including adding song data for other games. If you have requests or ideas, you're welcome reach out on our Discord server, Facebook messenger, or on the fediverse.

If you want to take a stab at developing features yourself, you will need have node.js >= 18.0.0 installed along with yarn and some familarity with React probably helps.

Clone this repo to your computer. Then the following commands will be useful:

# Before running anything else, do this!
# It's a one-time local install of dependencies needed to build the app.
yarn install

# local development will start, with app running at http://localhost:8080/
# edits to the files in ./src/ will automatically reload the browser
yarn start

# if you make changes to any game/song data in ./src/songs/ this will give
# a basic sanity check on the format and contents of it
yarn validate:json

# build a zipped, standalone copy of the app that runs entirely offline,
# jacket images and all! simply unzip somewhere and open index.html
yarn build:zip

Data imports

There are some other useful scripts in scripts/ that help in maintaining data integrity and pulling in new song data. Several have top-level aliases so you can conveniently update song data: (must have node and yarn installed, and run yarn install once, as above)

# download latest StepManiaX song data and jackets
yarn import:smx

# download latest DDR A3 song data and jackets (blends data from ZIv, RemyWiki, skillattack)
yarn import:ddr

# import an ITG/StepMania song pack into card draw
yarn import:itg path/to/pack/folder some-stub-name

# import the latest Pump it Up data using a data dump found here:
# https://github.com/AnyhowStep/pump-out-sqlite3-dump/
yarn import:pump path/to/pumpout/db

Ideas for future develoment are now being tracked as issues on this repo. Feel free to jump in if you want to help build out something new!