바이드럼(Bidrum in korean) is a rhythm game with janggu(korean traditional drum)-style controller.
- Install
git-lfs
before you clone - Install rust
- Install ffmpeg 7.*, sdl2, sdl2_image, gtk4 development libraries.
- For instructions on sdl2 installation, see rust-sdl2 README.
- Run
cargo build
- If there's an error related to FFmpeg library building, try installing EVERY libraries related to libclang, INCLUDING development libraries. this may fix the problem.
- When running the game,
assets
directory andmusic
directory should be in the working directory.
- Install
git-lfs
before you clone - Install rust
- Install ffmpeg 7.*, sdl2, sdl2_image, gtk4 development libraries.
- For instructions on sdl2 installation, see rust-sdl2 README.
- Type
export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib"
to your terminal. - Run
cargo build
- When running the game,
assets
directory andmusic
directory should be in the working directory.
It's not recommended to build on Windows because development is usually done on Linux and Mac OS.
Due to difficulties on building Rust FFmpeg library on Windows, The GNU toolchain is used instead of MSVC toolchain.
- Install MSYS2
- Install Rust with rustup
- Run following command on MSYS2 SHELL. (NOT POWERSHELL / CMD / GIT BASH)
- Append
--noconfirm
parameter if you want to say "yes" to all the questions automatically
pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-ffmpeg mingw-w64-x86_64-clang mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-gtk4 mingw-w64-x86_64-gettext mingw-w64-x86_64-libxml2 mingw-w64-x86_64-librsvg mingw-w64-x86_64-pkgconf mingw-w64-x86_64-gcc
- Append
- (Optional) Run the following commands in PowerShell or cmd and remember default host and default toolchain.
- You can use the default host and default toolchain remembered here after building bidrum, with
rustup set default-host
andrustup default
commands.
rustup toolchain list rustup show
- You can use the default host and default toolchain remembered here after building bidrum, with
- Run following commands in PowerShell or cmd. If you had ran these commands before, you can skip this step.
rustup toolchain install stable-gnu rustup target add x86_64-pc-windows-gnu
- Run following commands in PowerShell or cmd
- Please note that
rustup set default-host
andrustup default
command is permanent.
rustup set default-host x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu
- Please note that
- Create
.cargo/config.toml
file and write the following to the file.- For location of
.cargo/config.toml
, Read The Cargo Book.- If you have no idea about it, the root directory of bidrum (where there is
README.md
file which you're reading now) may be good for location of.cargo/config.toml
.
- If you have no idea about it, the root directory of bidrum (where there is
- The following assumes that MSYS2 installation path is
C:\msys64
. If the installation path is different, Modify it.
[target.x86_64-pc-windows-gnu] linker = "C:\\msys64\\mingw64\\bin\\gcc.exe" ar = "C:\\msys64\\mingw64\\bin\\ar.exe"
- For location of
- Add
(MSYS2 installation path)\mingw64\bin
,(MSYS2 installation path)\mingw64\include
,(MSYS2 installation path)\mingw64\lib
toPATH
environment variable - Run
cargo build --target x86_64-pc-windows-gnu
on PowerShell or cmd - When running the game,
assets
directory andmusic
directory should be in the working directory.
Copyright (C) 2024 Yeonjin Shin, Homin Lee, Habin Song. All rights reserved.
This program, including source code, cannot be used/copied/redistributed/modified without permission.
- Noto Sans KR: Copyright (C) Google, licensed under SIL Open Font License
- Press Start: Copyright (c) 2011, Cody "CodeMan38" Boisclair (cody@zone38.net), licensed under SIL Open Font License (OFL)
- Janggu free icon: Korea icons created by Freepik - Flaticon
- Title background video: Seoul Korea - Free Paper Style Background Loop