Giter Site home page Giter Site logo

opsu's Introduction

opsu! is an unofficial open-source client for the rhythm game osu!, written in Java using Slick2D and LWJGL (wrappers around OpenGL and OpenAL).

opsu! runs on Windows, OS X, and Linux. A libGDX port also supports Android devices.

Getting Started

Get a copy of opsu! from the releases page. APK releases can be found here.

Java Setup

The Java Runtime Environment (JRE) 7 or higher must be installed in order to run opsu!. The download page is located here.

Beatmaps

opsu! requires "beatmaps" to run, which contain the songs and gameplay data. These can be downloaded directly through opsu! in the downloads menu, or manually from the osu! website (requires registration) and mirror sites like Bloodcat. Place any manually downloaded beatmaps (in .osz format) in the Import/ directory for opsu! to unpack them automatically.

If osu! is installed, opsu! will attempt to read beatmaps from the osu! installation location. The beatmap directory can also be changed by setting the "BeatmapDirectory" value in the generated configuration file.

First Run

opsu! will parse all beatmaps when launched, which can take a while for the first time. If no beatmaps are found, the game will prompt you to download some to get started.

Game settings can be changed in the options menu, accessed by clicking the "Other Options" button in the song menu. The "Music Offset" value will likely need to be adjusted initially, or whenever hit objects are out of sync with the music.

Directory Structure

The following files and folders will be created by opsu! as needed:

  • .opsu.cfg: The configuration file. Most (but not all) of the settings can be changed through the options menu.
  • .opsu.db: The beatmap cache database.
  • .opsu_scores.db: The scores and player database.
  • .opsu.log: The error log. All critical errors displayed in-game are also logged to this file, and other warnings not shown are logged as well.
  • Songs/: The beatmap directory (not used if an osu! installation is detected). The parser searches all of its subdirectories for .osu files to load.
  • Skins/: The skins directory. Each skin must be placed in a folder within this directory. Any game resource (in res/) can be skinned by placing a file with the same name in a skin folder. Skins can be selected in the options menu.
  • Replays/: The replay directory. Replays of each completed game are saved as .osr files, and can be viewed at a later time or shared with others.
  • Import/: The import directory. All beatmap packs (.osz) and skin packs (.osk) are unpacked to the proper location. All replays (.osr) are moved to the replay directory, and their scores saved to the scores database.
  • Screenshots/: The screenshot directory. Screenshots can be taken by pressing the F12 key.
  • Natives/: The native libraries directory.
  • Temp/: The temporary files directory. Deleted when opsu! exits.

Building

opsu! is distributed as both a Maven and Gradle project.

Maven

Maven builds are built to the target directory.

  • To run the project, execute the Maven goal compile.
  • To create a single executable jar, execute the Maven goal package -Djar. This will compile a jar to target/opsu-${version}.jar with the libraries, resources and natives packed inside the jar.
    • Setting the "XDG" property (-DXDG=true) will make the application use XDG folders under Unix-like operating systems.
    • Setting the "exclude" property to "ffmpeg" (-Dexclude=ffmpeg) will exclude FFmpeg shared libraries from the jar.

Gradle

Gradle builds are built to the build directory.

  • To run the project, execute the Gradle task run.
  • To create a single executable jar, execute the Gradle task jar. This will compile a jar to build/libs/opsu-${version}.jar with the libraries, resources and natives packed inside the jar.
    • Setting the "XDG" property (-PXDG=true) will make the application use XDG folders under Unix-like operating systems.
    • Setting the "excludeFFmpeg" property (-PexcludeFFmpeg) will exclude FFmpeg shared libraries from the jar.

Contributing

See the contributing guidelines.

Credits

This software was created by Jeffrey Han (@itdelatrisu). All game concepts and designs are based on work by osu! developer Dean Herbert (@ppy). Other credits can be found here.

License

This software is licensed under GNU GPL version 3. You can find the full text of the license here.

opsu's People

Contributors

azhao12345 avatar bhampl avatar bigpet avatar darktigrus avatar iceblade112 avatar itdelatrisu avatar lucki avatar lyonlancer5 avatar mad-s avatar pizzalovers007 avatar scoreunder avatar szunti avatar tillerino avatar tpenguinltg avatar yugecin avatar

Watchers

 avatar  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.