Skip to content

Arcade rhythm game with motivation from traditional korean drum "janggu"

Notifications You must be signed in to change notification settings

cau-overchaos/bidrum

Repository files navigation

바이드럼(Bidrum)

바이드럼(Bidrum in korean) is a rhythm game with janggu(korean traditional drum)-style controller.

How to build?

Linux

  1. Install git-lfs before you clone
  2. Install rust
  3. Install ffmpeg 7.*, sdl2, sdl2_image, gtk4 development libraries.
  4. 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.
  5. When running the game, assets directory and music directory should be in the working directory.

Mac OS

  1. Install git-lfs before you clone
  2. Install rust
  3. Install ffmpeg 7.*, sdl2, sdl2_image, gtk4 development libraries.
  4. Type export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib" to your terminal.
  5. Run cargo build
  6. When running the game, assets directory and music directory should be in the working directory.

Windows

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.

  1. Install MSYS2
  2. Install Rust with rustup
  3. 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
  4. (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 and rustup default commands.
    rustup toolchain list
    rustup show
  5. 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
  6. Run following commands in PowerShell or cmd
    • Please note that rustup set default-host and rustup default command is permanent.
    rustup set default-host x86_64-pc-windows-gnu
    rustup default stable-x86_64-pc-windows-gnu
  7. 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.
    • 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"
  8. Add (MSYS2 installation path)\mingw64\bin, (MSYS2 installation path)\mingw64\include, (MSYS2 installation path)\mingw64\lib to PATH environment variable
  9. Run cargo build --target x86_64-pc-windows-gnu on PowerShell or cmd
  10. When running the game, assets directory and music directory should be in the working directory.

Docs

Copyright

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.

Assets (Image, Font, ...etc)