forum

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

posted
Total Posts
343
show more
Bigpet
I'm currently exploring to maybe making a platform shim, so that opsu! can be more easily ported to other platforms (because, lets be honest, there's no one single framework that can truly handle all platforms with reasonable trade-offs).

Anyway during that exploration I saw that a bunch of the Slick2D files seem to be patched, is there a brief explanation as to what was changed?
(I know that I can always just do a diff, but asking doesn't hurt and I can do other things in the meantime :P )

Also it seems to me that using Gradle as a build system is lot easier for the purposes of creating multiple versions and swapping out parts of the source on different platforms. But I'll worry about that a lot later when it becomes relevant, I just want to test the waters on how attached you are to Maven as the build system ;) .
chong601

Bigpet wrote:

I'm currently exploring to maybe making a platform shim, so that opsu! can be more easily ported to other platforms (because, lets be honest, there's no one single framework that can truly handle all platforms with reasonable trade-offs).
kinda agree on that, but i don't think we can deal with multiple different platforms with one codebase (monkeypatching those will be ugly, like REALLY ugly in my sense). cmiiw though since i don't really involved with multiplatform software development before....

Bigpet wrote:

Anyway during that exploration I saw that a bunch of the Slick2D files seem to be patched, is there a brief explanation as to what was changed?
(I know that I can always just do a diff, but asking doesn't hurt and I can do other things in the meantime :P )
Slick patches probably because of recent skin select implementation (vs single selection on previous) and changes on hit lighting and scores (300,100,50,miss)

Bigpet wrote:

Also it seems to me that using Gradle as a build system is lot easier for the purposes of creating multiple versions and swapping out parts of the source on different platforms. But I'll worry about that a lot later when it becomes relevant, I just want to test the waters on how attached you are to Maven as the build system ;) .
Gradle build... well not a big issue for me but i actually quite love Maven because i can do shading (put all .jars in one .jar file).
not quite sure if Gradle can do the same or not :|

but if GStreamer build is coming, that will be a bad news for opsu-android since i don't think there's a Android build for that...
Topic Starter
euphyy_old

Bigpet wrote:

Sure, that'd be fantastic! (Though it'd be even better if you finished the sliders first... XD) Fill me in with more details if you decide to follow through with this!

A quick summary of the Slick2D changes:
  1. GameContainer: very minor changes in error logging.
  2. Image: added 'getAlphaAt()' method, added 'drawCentered()' method, changed some coordinate operations from integer to float.
  3. TextField: edited 'keyPressed()' method to make text input more like osu! (e.g. no ctrl+z undo, no cursor shifting with arrow keys, added ctrl+backspace for word-backspace).
  4. Everything audio-related: added MP3 streaming support.
I haven't used Gradle except for building APKs, and those weren't very pleasant experiences (very slow builds, builds always taking up all 4 cores...). I think Maven's much nicer, but feel free to convince me otherwise. xP
Bigpet
@euphyy this is actually some Malcom in the Middle situation right here


But I guess I can just hack it into the current architecture, it's not that dramatic anyways. But I'll need to think about pre-initializing a certain number of FBOs because there's a stutter as soon as the first few sliders hit currently.

Do you maybe know how many sliders can be on-screen at max at the same time? I'm guess it's actually a really low number like 2 or 3 based on how they work. I mean I can just leave the maximum unbounded but pre-initilize like 2 or 3 FBOs and just see if that's enough or if people complain about lags.
Topic Starter
euphyy_old

Bigpet wrote:

Yeah, I'd say 2 or 3 (but the program should still perform reasonably if someone puts a ridiculous number of sliders on one screen XD). You could probably calculate the max for a beatmap while parsing its hit objects without much effort, though... but that's up to you. xP
chong601

euphyy wrote:

Yeah, I'd say 2 or 3 (but the program should still perform reasonably if someone puts a ridiculous number of sliders on one screen XD). You could probably calculate the max for a beatmap while parsing its hit objects without much effort, though... but that's up to you. xP
3 might not be enough... get a TAG 4 map and add EZ mod and bang, at least 10 sliders....
xasuma
Looking good :D
Pakemania
Just discovered this today. Downloaded and tested the client and it really seems awesome. I'm a linux player and I've been waiting for a native client. I'm really looking forward to future updates. If you get a few more features done, I'll probably switch to the open-source client entirely. Keep it up! ;)
kago chan
Ich will das alte osu. Opsu legt und die spints gehen nicht, opsu ist viel zu schnell da schaff ich nur von B - D. bei osu ist das anders, alles genau perfekt das tempo, keine legs,> man schafft die spints < und da schaffte ich von SS - D aber meistens nur SS - A
ALSO BITTE TUT DAS ALTE ☆OSU☆ WIEDER UPGRADEN.
ICH WILL DAS ALTE OSU WIEDER HABEN!!! >:( :( >:( >:( :? :(
Ps Opsu hat viel zu viele sachen die man umstellen kann, imgegenteil von osu.
Bigpet

kago chan wrote:

Ich will das alte osu. Opsu legt und die spints gehen nicht, opsu ist viel zu schnell da schaff ich nur von B - D. bei osu ist das anders, alles genau perfekt das tempo, keine legs,> man schafft die spints < und da schaffte ich von SS - D aber meistens nur SS - A
ALSO BITTE TUT DAS ALTE ☆OSU☆ WIEDER UPGRADEN.
ICH WILL DAS ALTE OSU WIEDER HABEN!!! >:( :( >:( >:( :? :(
Ps Opsu hat viel zu viele sachen die man umstellen kann, imgegenteil von osu
I don't think the opsu! developers are affiliated with osu!, so we can't actually "upgrade ☆OSU☆", the source code for that is neither public nor open source.

Did you try the desktop version or the Android port? Because I think the Android port is currently lagging a bit behind.
ccxex29

Bigpet wrote:

kago chan wrote:

Ich will das alte osu. Opsu legt und die spints gehen nicht, opsu ist viel zu schnell da schaff ich nur von B - D. bei osu ist das anders, alles genau perfekt das tempo, keine legs,> man schafft die spints < und da schaffte ich von SS - D aber meistens nur SS - A
ALSO BITTE TUT DAS ALTE ☆OSU☆ WIEDER UPGRADEN.
ICH WILL DAS ALTE OSU WIEDER HABEN!!! >:( :( >:( >:( :? :(
Ps Opsu hat viel zu viele sachen die man umstellen kann, imgegenteil von osu
I don't think the opsu! developers are affiliated with osu!, so we can't actually "upgrade ☆OSU☆", the source code for that is neither public nor open source.

Did you try the desktop version or the Android port? Because I think the Android port is currently lagging a bit behind.
its not a light game for android though, ask your specs.. also what device do you use, because mine is not lagging even a bit..
quaternary
On the Android version my settings aren't saving, e.g. I have to reset my offset, turn off combobursts, re-enable pause button, etc etc etc. every time I launch opsu. The scoreboards are saving properly though ...
Bigpet

tuddster wrote:

On the Android version my settings aren't saving, e.g. I have to reset my offset, turn off combobursts, re-enable pause button, etc etc etc. every time I launch opsu. The scoreboards are saving properly though ...
Sounds like the settings file isn't getting written correctly. The scoreboards are in a sqlite database separate from the basic settings.
Topic Starter
euphyy_old
fluddokt just posted the APK for the 0.9.0 release, and it resolves many of the issues mentioned above. You can get it here.
Newb1et
I just thought of this... why not add a feature to disable or enable the cursor in mobile? Since the cursor eats up RAM on my phone. Disabling it may reduce delay. And hooray for Android port!
Wylo
Runs great on both Windows and Android. May I suggest a new feature: local (per-map) offsets. This is particularly useful for Android since music offset is not the same across different maps.

EDIT: Also, a question, how do I scroll the song list properly on Android? It's too fast.
VoidGod
So nice working for me
creamynebula
Hmm osu! droid never worked properly here, i'll try this on my phone when I have some time!
ccxex29
I have requests..

add stars?
move settings to the main menu?
remove fps limit? on desktop 240fps, android 60fps
add mania and ctb and taiko mode with keyboard and touch support?
add custom skins option?
+it uses more GPU usage than osu! when i checked on my gpu-z

thx... :)
Cocoa Hoto

ccxex29 wrote:

move settings to the main menu?

^this

ccxex29 wrote:

remove fps limit? on desktop 240fps, android 60fps

no point except burning your phone, my Snapdragon 805 sometimes have troubles running it

ccxex29 wrote:

add mania and ctb and taiko mode with keyboard and touch support?

For Mania and CtB, just download Malody. (Get it at http://m.mugzone.net/)
For Taiko mode, just download T-Aiko. (Get it on the Play Store: https://play.google.com/store/apps/details?id=guy.taiko)

ccxex29 wrote:

add custom skins option?

That's already possible, just edit .opsu.cfg (the 'Skin' variable is the path to the actual skin folder)
Topic Starter
euphyy_old
Release: v0.10.0
Lots of major updates in this one! Thanks to Bigpet and fluddokt for making this possible.
  1. Slider rendering: A new slider rendering method is now being used (mmsliders); this utilizes FBOs, and will fall back to the original method if your machine doesn't support it. Needless to say, this is a huge improvement -- you can check out some updated screenshots if you're interested.
  2. Skin loader: Now that I've finally gotten around to writing this, skinning is a lot more similar to osu!: skins can be selected in-game from multiple directories, and skin options in skin.ini are actually being parsed. Note that not all of the options are implemented yet, but a good number of them are.
  3. Replay features: Replays from osu! (or opsu!) can be automatically imported into the game by placing them in the "ReplayImport" directory; they'll be added into your score database as well. Seeking is also possible in replays now after enabling the "Replay Seeking" setting in the options menu.
  4. Score formula: There were a handful of changes to make scoring more similar to osu!. The formula is still not entirely accurate, though, so please let me know if you know what's still missing!

Newb1et wrote:

I just thought of this... why not add a feature to disable or enable the cursor in mobile? Since the cursor eats up RAM on my phone. Disabling it may reduce delay.
I'll let fluddokt decide whether or not to add that option. I don't think that rendering the cursor (and trail) would be very resource-intensive, though.

doomed151 wrote:

May I suggest a new feature: local (per-map) offsets. This is particularly useful for Android since music offset is not the same across different maps.
That's possible. Where would you place that option, though?

ccxex29 wrote:

add stars?
move settings to the main menu?
remove fps limit? on desktop 240fps, android 60fps
add mania and ctb and taiko mode with keyboard and touch support?
add custom skins option?
+it uses more GPU usage than osu! when i checked on my gpu-z
The star formula seems far too complicated to reverse engineer. I don't see any reason to remove the FPS limit (why would you need above 240fps?). I've never played any of the other game modes. Skinning is just like osu! as of this release. GPU usage is lower than osu! on my computer; how much more is it for you?
ccxex29

ccxex29 wrote:

add stars?
move settings to the main menu?
remove fps limit? on desktop 240fps, android 60fps
add mania and ctb and taiko mode with keyboard and touch support?
add custom skins option?
+it uses more GPU usage than osu! when i checked on my gpu-z
The star formula seems far too complicated to reverse engineer. I don't see any reason to remove the FPS limit (why would you need above 240fps?). I've never played any of the other game modes. Skinning is just like osu! as of this release. GPU usage is lower than osu! on my computer; how much more is it for you?[/quote]
:/ so, you will not port the game modes and stars in the future?
about fps, why does it set 240fps in desktop and 60fps in android?? why not just put 60fps for android and desktop version
and no doubt that the GPU is lower.. it uses less effects,less resources.

Anyway, im just tryin to give you feedbacks and suggestions. Thanks ~
Howl

euphyy wrote:

doomed151 wrote:

May I suggest a new feature: local (per-map) offsets. This is particularly useful for Android since music offset is not the same across different maps.
That's possible. Where would you place that option, though?
The feature already is inside osu!. You can change the local offset of a map by using +/- on your keyboard while the map is being played, so why not make it similiar to how osu! does it?
Hot Loli
Well, it playing stable on my Xiaomi Redmi 1s (snapdragon 400 + adreno 305)
For example, osu!droid laggy for me.
But... it feels like music is going some little ahead circles. just very little ahead. but thats enough to play some discomfortable.
Is there any chance to edit delay in ms? like in desktop official ver
/udp
well, found .opsu.cfg in main SD directory, there was offset -75. set it to 0 and game now looks better. for what reason developer set it to -75 - only he knows :D
624338352

marcostudios wrote:

Can't open if i pasted on my osu! folder

Mon Jun 30 09:35:40 CEST 2014 ERROR:Unable to determine Slick build number
Mon Jun 30 09:35:40 CEST 2014 ERROR:Resource not found: icon16.png
java.lang.RuntimeException: Resource not found: icon16.png
at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69)
at org.newdawn.slick.AppGameContainer.setIcons(AppGameContainer.java:527)
at itdelatrisu.opsu.Opsu.main(Opsu.java:115)
Mon Jun 30 09:35:40 CEST 2014 ERROR:Error while creating game container.
Mon Jun 30 09:35:40 CEST 2014 ERROR:Failed to set the icon
org.newdawn.slick.SlickException: Failed to set the icon
at org.newdawn.slick.AppGameContainer.setIcons(AppGameContainer.java:530)
at itdelatrisu.opsu.Opsu.main(Opsu.java:115)
chong601

624338352 wrote:

marcostudios wrote:

Can't open if i pasted on my osu! folder

Mon Jun 30 09:35:40 CEST 2014 ERROR:Unable to determine Slick build number
Mon Jun 30 09:35:40 CEST 2014 ERROR:Resource not found: icon16.png
java.lang.RuntimeException: Resource not found: icon16.png
at org.newdawn.slick.util.ResourceLoader.getResourceAsStream(ResourceLoader.java:69)
at org.newdawn.slick.AppGameContainer.setIcons(AppGameContainer.java:527)
at itdelatrisu.opsu.Opsu.main(Opsu.java:115)
Mon Jun 30 09:35:40 CEST 2014 ERROR:Error while creating game container.
Mon Jun 30 09:35:40 CEST 2014 ERROR:Failed to set the icon
org.newdawn.slick.SlickException: Failed to set the icon
at org.newdawn.slick.AppGameContainer.setIcons(AppGameContainer.java:530)
at itdelatrisu.opsu.Opsu.main(Opsu.java:115)
Please be aware that due to the way Java works (or any dependencies in opsu), opsu! will not run on any folder that contain "!" (exclaimation mark)...
Reha
how i can download and install?
Howl

RehaOyundaDegil wrote:

how i can download and install?
are you a troll or what? you posted in two open source threads asking for how to download and install. What about reading what's written in the OP?

go here: https://github.com/itdelatrisu/opsu/releases/ and download the latest release. Then, follow the instructions in the OP in the "Running" section.
Sendji
Hi. At first I would like to thank developers for this great port.It works flawless on my S5.

I have minute problem. I accidentally changed all settings by unexpected swipe over settings screen. Could you tell me how can I revert default settings? Thanks.

(It happened on my phone)


Nvm. I deleted .cfg file and opsu created a new one.
___________________________________________________________



I have two other problems and both could be seen on the screen below.

>http://up.fastpoke.org/img/c2844e094e829c31ced2cad5ebd89dfd.png

First problem related to sliders. They look wrong. Excess circles appear through the sliders and reverse sliders.

Second problem is about the ball which appear instead of skin's "ring".

This is how it should look (screenshot from pc's original osu)

>http://up.fastpoke.org/img/c04faafdd6ac9b5b45c23b1bb6787ea3.png

Any ideas how I can terminate these issues?
Hydrixel
i copied skin as said on the instructions page... but their too big for the screen XD,, only the cursor, numbers, and some other elements resized automatically...
(I duuno how to add pictures in this forum.. i duno how to turn image to url)..... :!: :!: :? :shock: :shock: Help please
Hydrixel
it laggs soo much when spinners appear... but osudroid doesent have this problem.... :( :( :o :o :o :o :o :o :o
Filament
no mouse sensitivity option? :o
Hydrixel
Opsu for android is what im referring to....: the spinner glitches/stops, and i cant complete a full turn :'( :( :( :( :shock:
chong601

Sendji wrote:

Hi. At first I would like to thank developers for this great port.It works flawless on my S5.

I have minute problem. I accidentally changed all settings by unexpected swipe over settings screen. Could you tell me how can I revert default settings? Thanks.

(It happened on my phone)


Nvm. I deleted .cfg file and opsu created a new one.
___________________________________________________________



I have two other problems and both could be seen on the screen below.

>http://up.fastpoke.org/img/c2844e094e829c31ced2cad5ebd89dfd.png

First problem related to sliders. They look wrong. Excess circles appear through the sliders and reverse sliders.

Second problem is about the ball which appear instead of skin's "ring".

This is how it should look (screenshot from pc's original osu)

>http://up.fastpoke.org/img/c04faafdd6ac9b5b45c23b1bb6787ea3.png

Any ideas how I can terminate these issues?
Sad to say that the slider pattern is actually intended... The only solution is use the best quality for slider rendering.
For the ball, i guess is that you didn't have the sliderball images copied to the Skins folder.

The slider rendering has been changed for the desktop version but only available on opsu-android as soon as fluddokt is free and merging changes to Android build...

Hydrixel wrote:

it laggs soo much when spinners appear... but osudroid doesent have this problem.... :( :( :o :o :o :o :o :o :o
What phone are you using? AFAIK, some phones does have issue with opsu!. S5, S6 and Note 4 to name a few....
Topic Starter
euphyy_old
Release: v0.10.1
Bug fix release (thanks to Bigpet!). This fixes a major rendering issue when playing with "Flashlight" and the new slider style enabled. I also updated all the project dependencies -- I haven't noticed any compatibility issues while testing, but let me know if something isn't working properly.

Howl wrote:

The feature already is inside osu!. You can change the local offset of a map by using +/- on your keyboard while the map is being played, so why not make it similiar to how osu! does it?
I might take a look later. The music offset option has an awful implementation right now, so changing offsets during gameplay might not even work without a complete overhaul...

624338352 wrote:

Can't open if i pasted on my osu! folder
Blame Java. Nobody's ever going to fix that bug. /sigh

Sendji wrote:

I have two other problems and both could be seen on the screen below.
They should both be resolved in the desktop version; the slider rendering was completely rewritten in version 0.10.0 (by Bigpet).

Hydrixel wrote:

i copied skin as said on the instructions page... but their too big for the screen XD,, only the cursor, numbers, and some other elements resized automatically...
Please report the issue (with screenshots) here so fluddokt can look at the issue. If it's also a problem in the desktop version, report it to me here instead.

Zeon013 wrote:

no mouse sensitivity option? :o
No idea how/if this can be done with LWJGL/Java.
Sendji

euphyy wrote:

Sendji wrote:

I have two other problems and both could be seen on the screen below.
They should both be resolved in the desktop version; the slider rendering was completely rewritten in version 0.10.0 (by Bigpet).
Awesome! Waiting for the Android release.


Is the spinner bug going to be fixed? It freezes every 0.5 second after starting spinning.
rodrigez_BCL_

Hydrixel wrote:

it laggs soo much when spinners appear... but osudroid doesent have this problem.... :( :( :o :o :o :o :o :o :o
Maybe its the OpenGL render, on my Samsung Galaxy Tab 3 it lags me but on my MetroPCs don't lags at all.
rodrigez_BCL_
It's on your future plan implement an online mode?
Howl

rodrigez_BCL_ wrote:

It's on your future plan implement an online mode?
We (me and euphyy) had a chat about this a few months ago. tl;dr of what he told me then: it would be pretty complicated to do. Although if a lot of people are willing to help, we can figure something out.
Xerath Solo Top
On opsu! android version, there's no hitsounds
i cant provide any logcat sorry.
Currently running CyanogenMod 12.1 (Android 5.1.1) Sprout8 (Android One) Official Nightlies.
Sorry 4 my bad english XD
show more
Please sign in to reply.

New reply