forum

opsu! - an open-source osu! client (UNOFFICIAL)

posted
Total Posts
343
show more
Wiek

nookls wrote:

again java = bleeeeh
One exception doesn't mean Java is a crap. It's a great language, faster than C#, and little slower than C++. I think you know Java is slow from badly written Minecraft :)
Howl
Uhm... May this can help you to avoid converting mp3 to wav? http://openinnowhere.sourceforge.net/lameonj/
LoYiKe
It's great I can play osu on my crapy eeepc with linux.

I'm c# guy and I think java is really fine.
ErunamoJAZZ
the real solution is not converting mp3 -> wav... is play mp3. Try using libav/ffmpeg.
Howl

ErunamoJAZZ wrote:

the real solution is not converting mp3 -> wav... is play mp3. Try using libav/ffmpeg.
what did I say?

Howl wrote:

Uhm... May this can help you to avoid converting mp3 to wav? http://openinnowhere.sourceforge.net/lameonj/
Rirakusu
Great work (although the slider issue is quite disappointing)! Will you add the beatmap editor in the future?
- Marco -
How about an opsu! updater? :D
dkun
Kudos on your hard work so far! I'd love to see where this goes.
Nekiluz
how can i run it on a blackberry?
Topic Starter
euphyy_old
Hey everyone! I apologize for the necro, but just letting you all know this project hasn't completely died yet. I pushed a lot of updates over the past few weeks, with significant memory and stability improvements, graphical polishing, many new features, and code enhancements.

Release: v0.4.0

The full changelogs are on GitHub, but these are some of the highlights since I last posted:
  1. Memory reductions: With ~1000 beatmaps, opsu! uses about 50% less memory than in the previous version (so it's now comparable to osu!).
  2. Error handling: Along with better error checking, there's now a dialogue box that should appear whenever an error occurs with the exception and a prompt to report it.
  3. Visuals: Lots of tweaks. Most noticeably, there are hover effects on almost all menu elements now, so everything feels a lot more interactive.
  4. Beatmap loading: For those who had trouble with the (still relatively slow) beatmap parser, you can now press 'Esc' to interrupt the parser and run the game with the currently loaded maps. You can also press 'F5' in the song menu to reload maps (including new ones). It's also possible to restart the program from the options menu by pressing 'Ctrl+Shift+F5', without needing to reload any beatmaps.
  5. Development-related: opsu! is now distributed as a Maven project (thanks to Tillerino), and I rewrote parts of JarSplice to allow automatically building the standalone JARs; it only takes a single command to compile, run, or package the source code now (if you're interested, instructions are listed on the readme page). I also cleaned and rewrote a lot of the code, so it's far better organized.
Again, I can't really guarantee that I'll be able to keep working on this -- I'm just doing it for fun now, and I'm pretty busy at school -- but feel free to leave any comments!
Itachi17
New version of your app doesnt work for me. The older one(I think it was 0.3.2 or so) was functional but only in home directory.(The Songs and Skins folders must be in home directory. I dont remember if the app itselft must be in home directory.)

This is the output:
Exception in thread "main" java.lang.UnsupportedClassVersionError: itdelatrisu/opsu/Opsu : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: itdelatrisu.opsu.Opsu. Program will exit.

Im using GNU/Linux Ubuntu 14.04.
Wiek

Itachi17 wrote:

New version of your app doesnt work for me. The older one(I think it was 0.3.2 or so) was functional but only in home directory.(The Songs and Skins folders must be in home directory. I dont remember if the app itselft must be in home directory.)

This is the output:
Exception in thread "main" java.lang.UnsupportedClassVersionError: itdelatrisu/opsu/Opsu : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: itdelatrisu.opsu.Opsu. Program will exit.

Im using GNU/Linux Ubuntu 14.04.
Use newer Java
To Author: Have you done the circular curve alghorithm?
Itachi17

LudziE12 wrote:

Use newer Java
To Author: Have you done the circular curve alghorithm?
Thanks now it works.
Topic Starter
euphyy_old

LudziE12 wrote:

To Author: Have you done the circular curve alghorithm?
No, I haven't. I haven't really been focusing on the sliders since I really don't have any idea how osu! implements them. x.x
Wiek
When i started working with my clone here: https://github.com/LudziE12/josu i first tried to make that alghorithm. You can found it there (not ended). Maybe tomorrow i will push working one.
Asuka-_old_1
Good work! Is there any way to change the resolution? :oops:
Topic Starter
euphyy_old

Asuka- wrote:

Good work! Is there any way to change the resolution? :oops:
In the song menu, there's a little wrench icon next to the search bar. That'll take you to the options menu, and the first one is screen resolution.
chong601
I have played opsu since the 1st version till the latest version and i just can say that this game is (almost) flawless in performance and stability apart from Bezier sliders which screws the play and the non-default skin which distracts a lot xD

However, since my workplace is mostly Linux based OS, i found that opsu! never runs above 61FPS even if the limiter is set above of 60 FPS (vsync)
On Windows, it works fine on high fps (can reach up to 240 FPS).

The Ubuntu I am using is Ubuntu 14.10 and using JDK (not JRE) 8u25 (kind of lazy to install JRE because my workplace is mostly developing software using Java and JDK usually includes the Java runtime as well)

Also, I found that if I try to use my skin, the comboburst sometimes pops up an extremely stretched slider ball which is weird (also happens occasionally with no custom skin) but i can't properly reproduce it (too random)
Topic Starter
euphyy_old

chong601 wrote:

I actually noticed the comboburst problem too shortly after I posted the release, and quickly made a re-release after this fix. You probably have the original version of 0.4.0, so just re-download it to fix the problem. Sorry about that!

I don't really know what I can do about the FPS issue, since I'm pretty inexperienced with the low-level graphics stuff. x_x
FieryLight
Hey, do you think you can turn this into a better-than-osu practising client? It'd be great if we could have additional settings in the "Mods" section to change:
- Final overall AR (even if using HT, DT, EZ or HR, this overrides it)
- Final overall Circle Size (even if using EZ or HR, this overrides it)
- Speed (more selections than DT (3/2 speed) and HT (2/3 speed)

I realize that it's probably a lot of work but I think that the ability to change those on the fly for any song would make this a better place to practise than osu itself
Topic Starter
euphyy_old

FieryLight wrote:

Fixed difficulty settings (CS, AR, OD, HP) are already implemented. You can go into the options menu and change them in the "Custom" section. The mechanics are still off from osu!, though, so don't expect too much. :P

I tried playing around with the Beads Project for MP3 decoding (which LudziE12 used for josu!), since it can decode in real-time and is generally a very versatile music player (ex. it can handle speed changes, etc.), but I just couldn't get it to work at all -- it won't even run inside of a JAR (#1 reason why I dropped the approach), doesn't give accurate track positions, and can't play OGGs as far as I can tell (I just hear a lot of static). Here's what I did so far, in a separate branch (sorry, no binaries since apparently they don't work): https://github.com/itdelatrisu/opsu/com ... 92329a29c9

So unless I have more luck with MP3 decoding in Java, it doesn't look like speed changes (Easy/Double/Nightcore, etc.) are going to happen.
FieryLight

euphyy wrote:

FieryLight wrote:

Fixed difficulty settings (CS, AR, OD, HP) are already implemented. You can go into the options menu and change them in the "Custom" section. The mechanics are still off from osu!, though, so don't expect too much. :P

I tried playing around with the Beads Project for MP3 decoding (which LudziE12 used for josu!), since it can decode in real-time and is generally a very versatile music player (ex. it can handle speed changes, etc.), but I just couldn't get it to work at all -- it won't even run inside of a JAR (#1 reason why I dropped the approach), doesn't give accurate track positions, and can't play OGGs as far as I can tell (I just hear a lot of static). Here's what I did so far, in a separate branch (sorry, no binaries since apparently they don't work): https://github.com/itdelatrisu/opsu/com ... 92329a29c9

So unless I have more luck with MP3 decoding in Java, it doesn't look like speed changes (Easy/Double/Nightcore, etc.) are going to happen.
Oh, I see.... Well, hopefully you come across something perfect that leads you to it. I wouldn't expect it anytime soon but, still, hopeful :) And wow, didn't know those options were already in there, I haven't downloaded this since it's release, I can't wait to try it out :D

EDIT: Hmm, just downloaded and it doesn't seem to work for me, I tried twice (and waited quite a while) and noticed there was a text file and it said:

Mon Jan 26 21:50:41 PST 2015 ERROR:Unable to determine Slick build number
Mon Jan 26 21:55:57 PST 2015 ERROR:Unable to determine Slick build number
chong601

euphyy wrote:

I tried playing around with the Beads Project for MP3 decoding (which LudziE12 used for josu!), since it can decode in real-time and is generally a very versatile music player (ex. it can handle speed changes, etc.), but I just couldn't get it to work at all -- it won't even run inside of a JAR (#1 reason why I dropped the approach), doesn't give accurate track positions, and can't play OGGs as far as I can tell (I just hear a lot of static). Here's what I did so far, in a separate branch (sorry, no binaries since apparently they don't work): https://github.com/itdelatrisu/opsu/com ... 92329a29c9

So unless I have more luck with MP3 decoding in Java, it doesn't look like speed changes (Easy/Double/Nightcore, etc.) are going to happen.
Have you tried looking up other open-source Java-based MP3 player? Probably you have more luck on that (but you might need to do something with other things like speedup and timing to your preferred accuracy)

I am looking through the opsu! source code while working to probably find fix for the 61 FPS issue on 240 fps

(and is there any ETA on the other types of sliders? Bezier is definitely unplayable on some old maps xD)
Topic Starter
euphyy_old

FieryLight wrote:

EDIT: Hmm, just downloaded and it doesn't seem to work for me
I don't know what the problem would be, sorry. That log message is normal (a bug in the game library), and I don't have any other information to go off of. x.x

chong601 wrote:

I've searched long and hard for an MP3 library with very basic functionality (streaming, seeking, accurate track position), but still haven't found anything that works. x.x The FPS issue is probably a bug in the Slick2D library (or maybe LWJGL), since I didn't touch any of the internals for that, but maybe you'll find something. xD And like I said before, I don't have much information about the sliders and am usually very busy at school (I'm on break now), so I can't guarantee any work on the sliders unless someone decides to help.
Wiek

euphyy wrote:

FieryLight wrote:

EDIT: Hmm, just downloaded and it doesn't seem to work for me
I don't know what the problem would be, sorry. That log message is normal (a bug in the game library), and I don't have any other information to go off of. x.x

chong601 wrote:

I've searched long and hard for an MP3 library with very basic functionality (streaming, seeking, accurate track position), but still haven't found anything that works. x.x The FPS issue is probably a bug in the Slick2D library (or maybe LWJGL), since I didn't touch any of the internals for that, but maybe you'll find something. xD And like I said before, I don't have much information about the sliders and am usually very busy at school (I'm on break now), so I can't guarantee any work on the sliders unless someone decides to help.
I'm working now on my major game with my team, but when i find time (starting 2 weeks winter holidays this weekend) i will help with the sliders and i will try to fix beads library.

When i started making josu! I searched for good audio library and only beads has separate pitch and speed settings (in others setting pitch changed speed).

I have a question: Is problem with sound and music in linux is fixed? I haven't looked to the repo for some time :)
chong601

LudziE12 wrote:

I have a question: Is problem with sound and music in linux is fixed? I haven't looked to the repo for some time :)
Afaik, it does work at my workplace Linux Ubuntu (14.10 32-bit, PulseAudio sound system)
Topic Starter
euphyy_old
Lots of major updates in the past two weeks, so here's another release!

Release: v0.5.0
A brief overview:
  1. Sliders: Thanks to fluddokt, sliders are now fixed! The old buggy sliders were replaced with two new types: circumscribed circles and linear beziers.
  2. Score Database: Scores are now saved to an SQLite database, so you can view past scores in the song menu much like in osu!.
  3. Beatmap Downloader: There's now a downloads menu that allows you to search for beatmaps, download them, and import them directly through opsu!. The downloader fetches files and data from Bloodcat, so you can only download 4 files at a time (even though there's no actual limitation code-wise).
Some screenshots:
SPOILER
(ignore the scores, they're clearly fake :P)
I'm starting classes again in a few hours, so updates will probably be much slower again (unless anyone wants to help, as usual!). In any case, let me know what you think!
peppy
Hey, I'd rather you didn't use the bundled osu! (audio) tracks here. Some of them aren't licenced for use outside of osu! and I'd like to respect the artist's rights where possible (considering this project is somewhat related to osu!).

Also I noticed there's some artwork that you likely don't have permission to use, so you may want to double-check on that.
peppy
If I don't get a reply acknowledging my last message within the next 24 hours I will be removing this forum thread.
Topic Starter
euphyy_old
Which audio tracks are you referring to? If it's the theme song, I can remove that, but I wasn't aware that osu! had a license on it (I didn't find an indication of that anywhere). The rest of the sounds are from user skins, which are all credited.

I also credited all the skin authors, and I'd be happy to remove any images if the authors want them removed.
peppy
The bundled beatmaps and theme song.
Topic Starter
euphyy_old
Done: https://github.com/itdelatrisu/opsu/com ... 26a0cf8db0 (there aren't any bundled beatmaps)
Sorry for the trouble.
peppy
Thank you.
PizzaLovers007
This is working really great! I did notice the spinners were a little bit hard to finish. I think they are supposed to have some sort "weight" so they keep spinning for a little bit if you stop spinning the cursor.

Could I assist in the project? I'll try to help as much as I can.
Topic Starter
euphyy_old

PizzaLovers007 wrote:

This is working really great! I did notice the spinners were a little bit hard to finish. I think they are supposed to have some sort "weight" so they keep spinning for a little bit if you stop spinning the cursor.

Could I assist in the project? I'll try to help as much as I can.
Of course -- thanks for your interest! Please submit a pull request whenever you're ready, and feel free to discuss any changes you'd like to make beforehand (either here or by opening a GitHub issue).

I have no idea how the spinners are supposed to be done, so any help would be greatly appreciated.
Doqtor Kirby
Aye, development has started again? Might try and run this again on my RPi

But I did get an error running on my main system:
Error while creating game container.
org.newdawn.slick.SlickException: Failed to initialise the LWJGL display
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:378)
at itdelatrisu.opsu.Container.start(Container.java:62)
at itdelatrisu.opsu.Opsu.main(Opsu.java:160)

What did I break?

e~ I broke nothing, it's just my graphics are unsupported?
Topic Starter
euphyy_old

Doqtor Kirby wrote:

Might try and run this again on my RPi
It's not (currently?) supported by LWJGL. After doing some quick searches, it seems like people have managed to hack together something that works (see here), but I wouldn't count on the rest of the program running smoothly (or at all) on a Raspberry Pi.
chong601
Probably will work somehow on the latest Raspberry Pi 2? Those hardware upgrades *drools* :roll:
But yeah, making LWJGL working on Raspberry Pi gonna need to do a lot of hacking... especially when you want to have hardware acceleration
One side note, I am looking at the source code on the part of the layout of opsu!, it just doesn't feel right (some misaligned arrows, unusually giant score bars...) and see whether I can fix it using % rather than using some hacky offsetting or things that complicate things instead...
Doqtor Kirby

euphyy wrote:

Doqtor Kirby wrote:

Might try and run this again on my RPi
It's not (currently?) supported by LWJGL. After doing some quick searches, it seems like people have managed to hack together something that works (see here), but I wouldn't count on the rest of the program running smoothly (or at all) on a Raspberry Pi.
K. RPi. Not gonna happen as of now. But what about the problem running it on a Windows box?

Doqtor Kirby wrote:

Error while creating game container.
org.newdawn.slick.SlickException: Failed to initialise the LWJGL display
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:378)
at itdelatrisu.opsu.Container.start(Container.java:62)
at itdelatrisu.opsu.Opsu.main(Opsu.java:160)
Is this fixable, like, at all? Or will I need to go flesh out hundreds for a new graphics card?
Topic Starter
euphyy_old

chong601 wrote:

some misaligned arrows, unusually giant score bars...
The arrows should be working (mostly) as of the latest release, but I haven't figured out the scorebars -- there's a TODO note about it probably involving cropping the transparent parts off of the images and centering from there, though I haven't had the chance to try it out yet.

Doqtor Kirby wrote:

Is this fixable, like, at all? Or will I need to go flesh out hundreds for a new graphics card?
It's not about a graphics card. LWJGL (the wrapper for OpenGL/OpenAL) doesn't compile for ARM processors (i.e. Raspberry Pi) without a good deal of hacking, which some people have attempted with varying success (and you can find these projects online). I wouldn't count on it working, though -- there are too many other areas where it could fail, even if you manage to get LWJGL working, and performance will probably be horrible.
show more
Please sign in to reply.

New reply