Osu Octave Vita

From GameBrew
Osu!octave
Osuoctavevita2.png
General
Authorgl33ntwine
TypeMusic
Version1.20
LicenseBSD-2-Clause
Last Updated2022/04/29
Links
Download
Website
Source
Support Author


osu!octave is a free and open source rhythm game designed to play osu!standard beatmaps, optimized for best performance and playability on PlayStation Vita.

Its core (as in, the very base of hit objects logic and some parts of architecture) is based on osu-ds, an unfinished osu! port to Nintendo DS made by Echo in 2009 and released under the BSD-2 license.

Note: osu!octave is not affiliated, associated, authorized, endorsed by, or in any way officially connected with ppy Pty Ltd, peppy, osu! or any of its subsidiaries or its affiliates. Please do not contact these people and organizations with any questions regarding osu!octave.

Installation

How to install

You would need to have CFW-enabled PS Vita (Guide: Setting up custom firmware on PS Vita).

Download and install the latest osu-octave.vpk with VitaShell.

If you want to have some maps to play from the start:

  • Download the latest data-maps.zip from the Releases page.
  • Copy over this archive to ux0:/data/ folder on your Vita and unpack.
  • The resulting directory structure must be like this: ux0:/data/osu/skins/.

If you want to have a clean installation without default maps:

  • Download the latest data-clean.zip from the Releases page.
  • Copy over this archive to ux0:/data/ folder on your Vita and unpack.
  • The resulting directory structure must be like this: ux0:/data/osu/skins/.

How to update

If you already have the previous (v1.12) version installed, you don't need to go through the whole installation process again. To update:

  • Download and install osu-octave.vpk.
  • Note: You can install it without uninstalling the game first. It will just update.
  • Download data-clean.zip. In ux0:/data/osu/ delete the skins folder.
  • Backup your custom skins if you had any.
  • From data-clean.zip, unpack skins and languages folders and place them into In ux0:/data/osu/.

To update from older versions, follow the installation process.

User guide

If you've never played osu! before, you can check out the short original osu! tutorial. It explains the game basics pretty well.

How to add beatmaps

Note: This step is not mandatory if you went with data-maps.zip data files. You already have something to play.

Option A:

  • Open up your desktop osu! installation directory, then open the Songs subdirectory.
  • Copy folders with the beatmaps you want to play to:
    • ux0:/data/osu/maps/ (on the Vita), or
    • the maps directory inside the osu!octave installation (on PC).

Option B:

  • Download beatmap archives from osu.ppy.sh, these come in .osz format.
  • Rename [beatmap].osz file to [beatmap].zip, unpack that zip archive, and copy the resulting folder to:
    • ux0:/data/osu/maps/ (on the Vita), or
    • the maps directory inside the osu!octave installation (on PC).

Beatmaps compatibility

osu!octave should play any osu!standard beatmap, very closely to original.

If you experience issues with a particular beatmap, please do create a new Issue.

Skinning

Almost every single audio and visual component of osu!octave is customizable via skins.

If you're up for some skinning, take a close look at those that come by default. Skinning tutorial is coming soon.

Original osu! skins are not drop-in compatible with osu!octave but should be easy enough to adapt.

P.S. Please do contribute your own custom skins (if it's original content).

Controls

In osu!octave you control the game primarily with your touchscreen (or mouse). There are a few useful buttons, too.

Start - Pause menu

Cross - Skip the non-playable beginning of a map

Square/Triangle - Click (when chosen in Settings)

D-Pad - Click (when chosen in Settings)

L/R - Click (when chosen in Settings)

Screenshots

osuoctavevita3.png

Media

Trying out osu! on PS Vita (osu!octave) (ungeskriptet)

new osu! tutorial (WIP) | nekodex - new beginnings (pishifat, nekodex and noffy) (Seva)

Compatibility

By design, osu!octave is a PlayStation Vita osu! client. However, considering that it only depends on C++17 and SDL2, it's totally possible to run it on any platform that can provide these two things and has 350MB+ of RAM and a 500MHz+, 2 core+ CPU.

The main obstacle to running osu!octave on Windows, Linux, or, for instance, Android is the limited flexibility of the current CMakeLists file and not-really-adaptive coordinate system.

If you're interested in porting osu!octave to a new platform, Pull Requests are very much appreciated.

Changelog

v1.20

  • Fixed #14 and #15: Crashes on unconventional beatmaps.
  • Added translation support and Ukrainian, Russian languages.
  • Enhanced font loading performance.
  • Changed default font to M PLUS (supports Cyrillic, Japanese, and other character subsets).
  • Minor visual enhancements.

v1.12

  • Fixed #1: Game over doesn't stop lifebar drain.
  • Fixed #3: Crash on empty songlist page switching.

v1.10

  • Added font color settings in skin.json.

Credits

Origins:

Borrowed code:

  • osu-ds from which I took the core of the game — base architecture and logic for some hit-objects.
  • McOsu by Pascal "McKay42" G. from which I took the priceless slider curves interpolation code.
  • osu-sr-calculator by Mr. HeliX which I rewrote to C++ and use for—well—star rating calculations.
  • opsu! by Jeffrey "itdelatrisu" Han which had acceptably accurate required spinner rotations counting algorithm that I used.
  • ...And countless StackOverflow answers that unfortunately I didn't bother to credit in the code. Bless you all, SO contributors.

Advising and testing:

  • KonPet who helped me a lot with getting the original osu-ds to run, showed me how to set up the great and powerful NO$GBA, and answered some stupid questions about the osu-ds architecture.
  • CreepNT, S1ngyy, Graphene, Ivan "isage" Epifanov, CelesteBlue who answered my questions about SDL2, C++, and maths.
  • yun (yun#1000 on Discord) who tremendously helped me with getting tricky osu! mechanics right and pushed osu!octave to the limit with their thorough, quality testing on the weirdest and hardest beatmaps.
  • Nabsi (Nabsi#4123), CatoTheYounger (CatoTheYounger#4245) who managed to bring valuable feedback and bug reports while beta-testing.

Assets:

  • nekodex - welcome to osu! — a single by nekodex, used as menu background music. The permission to use it was not explicitly granted (I failed to contact nekodex), but seeing how it is free to download on the official website, I guess it's okay as long as I credit it? Dear Nekodex, please contact me if I shouldn't use your works here, thank you.
  • Sounds in default skin — are taken from osu! default skin template shared here on the forum. Same here, the permission to use it was not explicitly granted (I failed to contact peppy), but seeing how it is free to download on the official website, I guess it's okay as long as I credit it? Dear Peppy, please contact me if I shouldn't use your works here, thank you!
  • Beautiful yum skin — by yun. (yun#1000 on Discord)

External links

Advertising: