Giter VIP home page Giter VIP logo

bidrum's Introduction

바이드럼(Bidrum)

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

How to build?

Linux

  1. Install rust
  2. Install ffmpeg 7.*, sdl2, sdl2_mixer, sdl2_image, sdl2_ttf.
  3. 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.
  4. When running the game, assets directory and music directory should be in the working directory.

Mac OS

  1. Install rust
  2. Install ffmpeg 7.*, sdl2, sdl2_mixer, sdl2_image, sdl2_ttf.
  3. Type export LIBRARY_PATH="$LIBRARY_PATH:$(brew --prefix)/lib" to your terminal.
  4. Run cargo build
  5. 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_ttf mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_mixer
  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 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)

bidrum's People

Contributors

litehell avatar boulce avatar firekann avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

bidrum's Issues

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.