show more
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.
Doqtor Kirby

euphyy wrote:

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.
The question was not regarding my RPi, it was regarding my x86-based Windows tablet.

Sorry for the confusion,
chong601
OK, just looked around on the 0.5.0 release and I think enforcing block-style numbering (like in osu! where numbers adhere to the default skin width will actually make opsu! much more like osu! (max width of the number is 34 pixels)
Example
opsu! score appearance:

osu! score appearance:
Notice that the "1" in osu! is in the same width rather than following the actual image width
I would look into the source code thoroughly probably by the end of March and I probably can help with image offsets (and probably make opsu! adheres to skin.ini?)

EDIT:
uh....


EDIT2:
Probably the offset can be set back to 0 and then manually set -150 ms in the code? -150ms sounds like just like 0
Ignore that
FieryLight
Hey, I tried opsu! again recently and I'm still getting the same error:

Mon Feb 02 21:24:03 PST 2015 ERROR:Unable to determine Slick build number
Wed Feb 11 00:40:29 PST 2015 ERROR:Unable to determine Slick build number

^That was in the .opsu.log file.

BUT I noticed that I can actually use opsu!, I just can't see it. I can scroll to change the volume, I can click to go somewhere (not sure where but it worked), I could use the "back" button after I entered whatever I entered and I even managed to guess where the Exit button was to close opsu! (I had to guess because my cursor disappeared when hovering over it).

Anyway, here's screen shot of how it looks (or rather, doesn't look):


I'll try other .jars tomorrow to see if it's just my own thing

EDIT: Oh yeah, and I can hear the music too
chong601

FieryLight wrote:

Hey, I tried opsu! again recently and I'm still getting the same error:

Mon Feb 02 21:24:03 PST 2015 ERROR:Unable to determine Slick build number
Wed Feb 11 00:40:29 PST 2015 ERROR:Unable to determine Slick build number

^That was in the .opsu.log file.

BUT I noticed that I can actually use opsu!, I just can't see it. I can scroll to change the volume, I can click to go somewhere (not sure where but it worked), I could use the "back" button after I entered whatever I entered and I even managed to guess where the Exit button was to close opsu! (I had to guess because my cursor disappeared when hovering over it).

Anyway, here's screen shot of how it looks (or rather, doesn't look):


I'll try other .jars tomorrow to see if it's just my own thing

EDIT: Oh yeah, and I can hear the music too
My best bet is try updating your JREs...
I think that may be the issue...

EDIT:
Just found out that maps with ogg songs not playable on 32-bit JREs for Windows...
(probably due to the 32-bit JRE issue? They do have some memory limits set on 32-bit afaik)
I did get the stack trace printed:
Wed Feb 11 21:16:52 SGT 2015 ERROR:** Uncaught Exception! **
Wed Feb 11 21:16:52 SGT 2015 ERROR:Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.io.ByteArrayOutputStream.grow(Unknown Source)
at java.io.ByteArrayOutputStream.ensureCapacity(Unknown Source)
at java.io.ByteArrayOutputStream.write(Unknown Source)
at org.newdawn.slick.openal.OggDecoder.getData(OggDecoder.java:315)
at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:835)
at org.newdawn.slick.openal.SoundStore.getOgg(SoundStore.java:793)
at org.newdawn.slick.Music.<init>(Music.java:163)
at org.newdawn.slick.Music.<init>(Music.java:75)
at itdelatrisu.opsu.audio.MusicController.loadTrack(MusicController.java:113)
at itdelatrisu.opsu.audio.MusicController.access$000(MusicController.java:44)
at itdelatrisu.opsu.audio.MusicController$1.run(MusicController.java:85)
The map will not play when this happens
Maps with MP3 songs is not affected on this
Maps affected (currently):
Oratorio The World God Only Knows - God only knows
Not playable on latest JRE 32-bit for Windows but playable on JRE 64-bit for Windows (not tested at Linux)
chong601
Sorry for double posting...

After a few plays on opsu!, I found that the hitsounds are some sort of silenced on certain maps (happens on random, some maps have none of this problem but it appears that fast maps have this problem) as well as those hitsounds sounded like delayed on fast maps.

By the way, I am looking at parsing the skin.ini so that opsu! will able to use skins as in like osu!... (still on progress... no idea when i can finish this since i am quite busy with work and rl stuff).

Other than that, everything is going well in opsu! :D
AstralPhnx
Interersting. An open source version of the game... Pretty cool really because it allows for this version to go down a completely different route to the official version. I may take a peek at the source code at some point. What language is it written in again?
chong601

Tuxdude143 wrote:

Interersting. An open source version of the game... Pretty cool really because it allows for this version to go down a completely different route to the official version. I may take a peek at the source code at some point. What language is it written in again?
written in Java using Slick2D and LWJGL, wrappers around the OpenGL and OpenAL libraries.
AstralPhnx

chong601 wrote:

Tuxdude143 wrote:

Interersting. An open source version of the game... Pretty cool really because it allows for this version to go down a completely different route to the official version. I may take a peek at the source code at some point. What language is it written in again?
written in Java using Slick2D and LWJGL, wrappers around the OpenGL and OpenAL libraries.
Eh... Java. One of the languages I ain't got any experience in. Ah well.
chong601

Tuxdude143 wrote:

Eh... Java. One of the languages I ain't got any experience in. Ah well.
neither do i... i do have some java knowledge but i never touched those with GUI yet...
Topic Starter
euphyy_old
Release: v0.6.0
Lots of major updates again, and thanks to everyone who contributed! Here's a summary of the changes:
  1. Audio: MP3s in beatmaps are now streamed instead of converted (finally!). Also improved sound effect loading, and added preliminary MP3 support for them.
  2. UI: Added new menus -- game mods (F1), beatmap options (F3), beatmap deletion, song reloading (F5), score management -- and made a lot of changes in the song menu and gameplay. These include fixes to long-standing bugs like misaligned scorebars, missing rotation and fade effects, poor aspect ratios, etc. Check it out!
  3. Other: Spinners are now "weighted"; the beatmap downloader detects songs that are already loaded; added hit error bar; fixed issues with the image loader; and many other updates (see the release notes for details).

chong601 wrote:

Score digits are now fixed-width, and scorebars are fixed. There's still no parser for skin.ini, though. I didn't look at the memory issues either, but let me know if anything's changed in this release. Hitsounds are a known issue, no idea how to fix it.

FieryLight wrote:

Are you still experiencing this? (The errors in the log file don't mean anything, so I have no idea what could be wrong.)

Tuxdude143 wrote:

If you can program in other languages, it shouldn't be too hard to read the source code for this (Java is very readable, imo :P). It's my first real project, so there's nothing fancy happening anywhere, really.
FieryLight

euphyy wrote:

FieryLight wrote:

Are you still experiencing this? (The errors in the log file don't mean anything, so I have no idea what could be wrong.)
Yep, unfortunately.

Other .jar's work fine though (I actually wasted quite a bit of time "checking" with a tetris clone xD)
opsu works fine on my laptop though (though I don't use that to play so.. :| )
chong601
Issue: MP3 sound effects no longer works
Affects: opsu! 0.6.0
Previous working version: opsu! 0.5.0

Stack trace:
Mon Feb 23 20:32:30 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\applause.mp3'.
Mon Feb 23 20:32:30 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:86)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:199)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Mon Feb 23 20:32:47 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\combobreak.mp3'.
Mon Feb 23 20:32:47 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:86)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:199)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Mon Feb 23 20:32:48 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\failsound.mp3'.
Mon Feb 23 20:32:48 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:86)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:199)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Mon Feb 23 20:32:50 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\sectionfail.mp3'.
Mon Feb 23 20:32:50 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:86)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:199)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Mon Feb 23 20:32:51 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\sectionpass.mp3'.
Mon Feb 23 20:32:51 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:86)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:199)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)

euphyy wrote:

  1. Audio: MP3s in beatmaps are now streamed instead of converted (finally!). Also improved sound effect loading, and added preliminary MP3 support for them.
*heavy breathing*
No delay in any song loading (even on 52 min map :O )

euphyy wrote:

  1. UI: Added new menus -- game mods (F1), beatmap options (F3), beatmap deletion, song reloading (F5), score management -- and made a lot of changes in the song menu and gameplay. These include fixes to long-standing bugs like misaligned scorebars, missing rotation and fade effects, poor aspect ratios, etc. Check it out!
Sweeeeeeeeeet <3<3<3
Now it actually looked almost osu! now o_o
But, the slider loading is a bit weird... It used to have all loaded in once but now the number comes in first and the whole slider finally becomes opaque after a moment later...

euphyy wrote:

  1. Other: Spinners are now "weighted"; the beatmap downloader detects songs that are already loaded; added hit error bar; fixed issues with the image loader; and many other updates (see the release notes for details).
HIT ERROR BAR?!?!?!?!?!?!
HOLY SHEET THIS IS WHAT I WANT LOL (i have my own version inbuilt though, text version only, will show the last 5 clicks but it is very off compared to this one)
Topic Starter
euphyy_old

FieryLight wrote:

What kind of system are you using? LWJGL is supposed to support almost everything though, so I'm really confused as to why it wouldn't work for you on a Windows PC... x.x

chong601 wrote:

Issue: MP3 sound effects no longer works
Previous working version: opsu! 0.5.0

[...]

But, the slider loading is a bit weird... It used to have all loaded in once but now the number comes in first and the whole slider finally becomes opaque after a moment later...
MP3 sound effects weren't even being loaded until this release. Did you make your own changes to load them before? And can you link me to an example of a file that doesn't work now?

The sliders should really be drawn offscreen first, yeah. I'll look into it when I have time.

If it's not too much trouble, could you post issues on GitHub instead? It'll make it much easier for me to keep track of them -- thanks!
AGRX
will opsu support @2x (HD) resolution files?
FieryLight

euphyy wrote:

FieryLight wrote:

What kind of system are you using? LWJGL is supposed to support almost everything though, so I'm really confused as to why it wouldn't work for you on a Windows PC... x.x
I'm not sure.. does this help with anything?
Steffie
Do you have to use the set skin?
Or can you use your own?
Because i literally cannot play with any other skin than my own :P
Topic Starter
euphyy_old

euphyy wrote:

The sliders should really be drawn offscreen first, yeah. I'll look into it when I have time.
So I tried doing this, but without any satisfactory results. I made a couple of tweaks in 4f0f093 so that the fading doesn't look quite as bad, but it's still not great.

Agrrox wrote:

will opsu support @2x (HD) resolution files?
It's on my to-do list, but honestly I don't know if I'll get to it. It's very tedious to fix all the broken image scales when loading the HD images...

FieryLight wrote:

I'm not sure.. does this help with anything?
Sorry, this is really beyond me. x.x

Stefive wrote:

Do you have to use the set skin?
A "Skins" folder is created in the working directory when you launch opsu!. You can drop any files in there, and they'll be loaded the next time the application starts.
Steffie
A "Skins" folder is created in the working directory when you launch opsu!. You can drop any files in there, and they'll be loaded the next time the application starts.
Okay, thanks! :)
AGRX

Stefive wrote:

Do you have to use the set skin?

euphyy wrote:

A "Skins" folder is created in the working directory when you launch opsu!. You can drop any files in there, and they'll be loaded the next time the application starts.
So you place image files in the root of Skins folder ? I was putting there skin folder inside of it and it will not register.
So basically it loads every image that is in Skins folder?
Topic Starter
euphyy_old

Agrrox wrote:

So you place image files in the root of Skins folder ?
Yeah. I haven't worked on skin switching yet, and there's no parser for skin.ini either. If you just want to load a specific skin located elsewhere, you could change the skin directory path in the config file for now.
AGRX
Also I have interest of making skin for opsu! I have skills with bitmap/vector graphics.
Topic Starter
euphyy_old
Updates:
So fluddokt has been working on an Android port of opsu! for a while now, and the latest version is pretty stable. I think it's way better than osu!droid, so check it out! You can download the APK here: https://github.com/fluddokt/opsu/releases/tag/0.6.0b (Note that since opsu! wasn't designed with mobile in mind, the UI isn't very phone-friendly yet, but just about everything works.)

I've also put up a pretty minimal web page for the project that includes download links (including the APK, if you're on a mobile device) and screenshots: http://itdelatrisu.github.io/opsu/ (I'll probably update it some more soon so that it's actually useful and not just a copy of the README.)

Agrrox wrote:

Also I have interest of making skin for opsu! I have skills with bitmap/vector graphics.
That'd be fantastic! I sent you a PM.
xasuma
Damn!!!! Im pumped for the android version.
XinCrin
For android version , could be cool to make a improved UI.


Keep doing a great job :D
chong601

euphyy wrote:

MP3 sound effects weren't even being loaded until this release. Did you make your own changes to load them before? And can you link me to an example of a file that doesn't work now?

The sliders should really be drawn offscreen first, yeah. I'll look into it when I have time.

If it's not too much trouble, could you post issues on GitHub instead? It'll make it much easier for me to keep track of them -- thanks!
Yeah, just noticed this when i run back 0.5.0, none of the .MP3 hitsounds were played. But, in 0.5.0, all mp3 hitsounds are ignored by default, but on 0.6.0, all of them are rendered even if they aren't supported.

Sliders... well not a big issue though, just weird that numbers show up first then followed by the whole slider... just feels a bit unnatural for me...

Github... currently i don't have an account for that but will do that on the future issues found :D

Extra notes:
This map will not play on opsu! 0.6.0. It just hangs when trying to play that map (Happens as well on 0.5.0)

About the hitsound issues, I found out that it's related to the way the WAV files are created... If i play opsu! with the preloaded hitsounds, it works (but sometimes it will be silenced). When I use the osu! default hitsound, it just happens a lot... possibly due to the WAV parsing when setting the parameters in javax.sound.sampled? (only optimized to the preloaded hitsounds).

euphyy wrote:

Updates:
So fluddokt has been working on an Android port of opsu! for a while now, and the latest version is pretty stable. I think it's way better than osu!droid, so check it out! You can download the APK here: https://github.com/fluddokt/opsu/releases/tag/0.6.0b (Note that since opsu! wasn't designed with mobile in mind, the UI isn't very phone-friendly yet, but just about everything works.)

I've also put up a pretty minimal web page for the project that includes download links (including the APK, if you're on a mobile device) and screenshots: http://itdelatrisu.github.io/opsu/ (I'll probably update it some more soon so that it's actually useful and not just a copy of the README.)
>Android port of opsu!
*breathing intensifies*
I just checked it out, and HORY SHET IT WORKS (wasted almost half of the day playing around with it and get nagged by the manager at my workplace xD)
Everything is handled well, hitsounds works without any issues (even if the base is Linux)
Just the spinner is a bit too harsh to clear (opsu! does suffer from this but appears to be more forgiving than the Android version)
FPS is good; 57-59 all the way.
Howl

euphyy wrote:

Updates:
So fluddokt has been working on an Android port of opsu! for a while now, and the latest version is pretty stable. I think it's way better than osu!droid, so check it out! You can download the APK here: https://github.com/fluddokt/opsu/releases/tag/0.6.0b (Note that since opsu! wasn't designed with mobile in mind, the UI isn't very phone-friendly yet, but just about everything works.)
LIVING THE DREAM
Bebos
Android version doesn't work for my nexus 4, its just show black screen.
- Marco -
onle little problem on opsu-android, if i ssearch for a beatmap it shows the keyboard but i can't type anything
xasuma
If these things im about to mention are already in the game, sorry but I couldnt find them (and havent read all release notes).
Anyways I think it would be good to look into them.

- Disable mouse/pen clicks. (So people who drag the pen can properly play).
- Check the skinable sounds, with the default skin not all hitsounds work. Leaving some "noiseless" notes. (Also the option to change skins) :D
- The options menu is in a weird un-intuitive spot. (this is not important though actually).

other than that is looking much better than before!
AstralPhnx
Opsu droid completely carks and doesn't boot at all on my moto g 2014. It just boots straight to a black screen. I'm running pac-rom for the moto g 2014 based off android 5.0 lollipop. Don't tell me that you didn't program it for ART properly?
chong601
Opsu-Android works on stock Android 4.4.2 with modifications to run any app using ART rather than Dalvik
I don't think modified android will make it unrunnable (and the game is actually written in Java and uses libGDX to make it Android-compatible)
Paraphen
Yeah I'm thinking there might be an ART issue here, my nexus 5 running 5.0.1 is booting to a black screen :(
AstralPhnx

[Kevlin] wrote:

Yeah I'm thinking there might be an ART issue here, my nexus 5 running 5.0.1 is booting to a black screen :(
Eh... That's a bit silly. They really need to fix this up
Topic Starter
euphyy_old
Guys, please start posting the error logs, as these aren't issues that fluddokt or I can reproduce. If you're having the black screen problem, you can follow the issue on GitHub (and perhaps add more information, if the fixes don't work for you): https://github.com/fluddokt/opsu/issues/1 fluddokt is handling the Android stuff pretty much singlehandedly at the moment, so if you have any experience with Android development, I'm sure he'd love your help.

Also, if anyone wants to try deploying his fork to iOS, please give it a shot! I don't have any Apple devices so I can't try it myself, but libGDX should make this doable without much effort. Read here: https://github.com/libgdx/libgdx/wiki/D ... loy-to-ios

xasuma wrote:

- Disable mouse/pen clicks. (So people who drag the pen can properly play).
I'll add an option for disabling mouse clicks shortly. I don't really know how to handle pen input in Slick2D (or if it's possible), and I don't have anything to test it with, sorry. x.x

chong601 wrote:

But, in 0.5.0, all mp3 hitsounds are ignored by default, but on 0.6.0, all of them are rendered even if they aren't supported.
[...]
This map will not play on opsu! 0.6.0. It just hangs when trying to play that map (Happens as well on 0.5.0)
[...]
Just the spinner is a bit too harsh to clear (opsu! does suffer from this but appears to be more forgiving than the Android version)
Thanks for all the feedback! The issue with sounds being cut off should be mostly fixed now (thanks to fluddokt, again), so try compiling the latest source if you're interested. fluddokt also fixed an issue with the new sliders, so that map should work now (it was infinite looping before). I also noticed the spinner issue on Android, as my FPS goes down dramatically (to 20-30) during them... not sure why yet, though. Lastly, I'm still not sure why you're having MP3 loading problems -- could you link to a file that doesn't load?

marcostudios wrote:

onle little problem on opsu-android, if i ssearch for a beatmap it shows the keyboard but i can't type anything
I don't know why that'd happen; try reporting it on fluddokt's GitHub?

XinCrin wrote:

For android version , could be cool to make a improved UI.
I'd love to, but I don't think anyone has time right now... UI is too painful to write in Slick2D. xD That's a really cool looking design, though!
chong601

euphyy wrote:

Also, if anyone wants to try deploying his fork to iOS, please give it a shot! I don't have any Apple devices so I can't try it myself, but libGDX should make this doable without much effort. Read here: https://github.com/libgdx/libgdx/wiki/D ... loy-to-ios
If i have an Apple PC and an iPhone... :(

euphyy wrote:

Thanks for all the feedback! The issue with sounds being cut off should be mostly fixed now (thanks to fluddokt, again), so try compiling the latest source if you're interested. fluddokt also fixed an issue with the new sliders, so that map should work now (it was infinite looping before). I also noticed the spinner issue on Android, as my FPS goes down dramatically (to 20-30) during them... not sure why yet, though. Lastly, I'm still not sure why you're having MP3 loading problems -- could you link to a file that doesn't load?
Finally I can decently play this game :D
Yeah confirmed the sliders are fixed (damn those sliders are really really fast like teleported xD)
About the spinner, the FPS is on a stable 58fps (set 240 fps but it seems android ignored that) but it really takes a lot of spins to clear even on an Easy map (but on 0.6.1 release, it seems the spinner is a bit relaxed but still harder than the default osu!)

However for the .mp3 loading issue, as of the latest build, it still happen :(
Tue Mar 03 22:18:36 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\applause.mp3'.
Tue Mar 03 22:18:36 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:85)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:195)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Tue Mar 03 22:19:37 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\combobreak.mp3'.
Tue Mar 03 22:19:37 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:85)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:195)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Tue Mar 03 22:19:38 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\failsound.mp3'.
Tue Mar 03 22:19:38 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:85)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:195)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Tue Mar 03 22:19:39 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\sectionfail.mp3'.
Tue Mar 03 22:19:39 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:85)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:195)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Tue Mar 03 22:19:39 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\sectionpass.mp3'.
Tue Mar 03 22:19:39 SGT 2015 ERROR:could not get audio input stream from input URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at itdelatrisu.opsu.audio.SoundController.loadClip(SoundController.java:85)
at itdelatrisu.opsu.audio.SoundController.init(SoundController.java:195)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:108)
Those .mp3 hitsounds are from osu! default skin (i am currently using this skin for playing and testing this game since if the defaults work, other skin *might* work well)

I checked the old versions (0.4.0 and 0.5.0) and they seemed to ignore hitsounds with .mp3 extension. Just the 0.6.0 release and the latest version seems to load all hitsounds available.

Slight issue here:
Since v0.4.0, there's a significant amount of jitter (rapid speeding up and down of animations during gameplay). It doesn't seem to make problems on easier maps (since those jitter is really low) but on high maps (AR>8), it really gets noticeable. I have tried playing around the FPS setting (i invented the 600 fps setting xD) but it still have the jitter.


Also, I have accidentally cloned your project instead of cloning the forked project... (very new to Git) but no damage were done to your branch :)
Zone
Works totally fine on my Kindle, but not on my computer. There seems to be a problem with SQLite? I don't really know a lot about coding in that direction

** Uncaught Exception! **
java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
at org.sqlite.core.NativeDB._open(Native Method)
at org.sqlite.core.DB.open(DB.java:161)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:145)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at itdelatrisu.opsu.ScoreDB.init(ScoreDB.java:66)
at itdelatrisu.opsu.Opsu.main(Opsu.java:136)

Happen to have any idea on how to fix this?
hanawanta

marcostudios wrote:

onle little problem on opsu-android, if i ssearch for a beatmap it shows the keyboard but i can't type anything
What device and what version of android do you have?
Have you tried pressing space or enter after typing something?
Some keyboards seems to store up what you want to type to autocorrect.


chong601 wrote:

However for the .mp3 loading issue, as of the latest build, it still happen :(
[code]Tue Mar 03 22:18:36 SGT 2015 ERROR:Failed to load file 'D:\opsu\Skins\applause.mp3'.
...
Is this from running the release jar?
Kinda feels like you are running it from source and its missing the mp3spi.jar somehow.

chong601 wrote:

Slight issue here:
Since v0.4.0, there's a significant amount of jitter (rapid speeding up and down of animations during gameplay). It doesn't seem to make problems on easier maps (since those jitter is really low) but on high maps (AR>8), it really gets noticeable. I have tried playing around the FPS setting (i invented the 600 fps setting xD) but it still have the jitter.
Can you try the commit over on ' fluddokt/omaster' branch and see if that helps?

Yukiine wrote:

Works totally fine on my Kindle, but not on my computer. There seems to be a problem with SQLite? I don't really know a lot about coding in that direction?

What OS are you running?
Are you running it somewhere with a '!' in it?
This is from opsu-0.6.0.jar right?
chong601

hanawanta wrote:

Is this from running the release jar?
Kinda feels like you are running it from source and its missing the mp3spi.jar somehow.
I have run both version 0.6.0 and the source version (which i have built myself)
I have made a copy of the opsu-master (downloaded using zip, not clone from the master branch) and did a priming build and mp3spi.jar is automatically added to dependencies (as mp3spi-1.9.5-1.jar)

hanawanta wrote:

Can you try the commit over on ' fluddokt/omaster' branch and see if that helps?
Commit on it or just make a pull request? I'm quite new to Git though
Oh, by the way, after i tried setting FPS to 600, it appears that spinner is really broken...
On low fps setting (60, 120, 240), the spinner works just fine (can clear any spinner), but on high FPS (600 at my case), i can't clear even easy spinner...

OT: are you fluddokt by any chance? o.O
AstralPhnx
Ok! The android version now works for me and god DAYUM it is LEAPS and BOUNDS ahead of osudroid. Sync was perfect out of the box, circles were not overly massive meaning I could see what I was doing and no lag at all! AMAZING job! Keep it up!

Edit: I know that this is early stages but I'd like to suggest a few things to add. Firstly, add a way to pause the game without using the back button. Reason being that I'm using a moto g 2014 which only has software buttons. I use cyanogen mod to hide them to stop them from getting in the way during gameplay but that leaves me without the ability to pause the game. If you could pop a pause button in there that the user tap holds to pause the game in a later version then that would be really appreciated!

Secondly, hitsounds are absent. Now I know this may be related to the audio lag present in android but osudroid seemed to pull it off. Hitsounds are a really important part of the game so hopefully they get implimented soon.

Apart from that it works like a dream!
hanawanta

chong601 wrote:

I have run both version 0.6.0 and the source version (which i have built myself)
I've tested it and you're right it doesn't work.
It seems that jarsplice doesn't include 'META-INF\services' from mp3spi.
So a quick fix would be to copy that into the opsu jar.
I can't really think of a more permanent solution.

chong601 wrote:

Commit on it or just make a pull request? I'm quite new to Git though
I'm no expert on git but,
you first need add the repo as a remote,
then fetch this remote,
then checkout the branch. I think.

chong601 wrote:

Oh, by the way, after i tried setting FPS to 600, it appears that spinner is really broken...
On low fps setting (60, 120, 240), the spinner works just fine (can clear any spinner), but on high FPS (600 at my case), i can't clear even easy spinner...
Sorry, I don't know much about this.

chong601 wrote:

OT: are you fluddokt by any chance? o.O
yea


Tuxdude143 wrote:

Sync was perfect out of the box
Since its about the same as opsu, it might not be that way for all songs.

Tuxdude143 wrote:

Edit: I know that this is early stages but I'd like to suggest a few things to add. Firstly, add a way to pause the game without using the back button. Reason being that I'm using a moto g 2014 which only has software buttons. I use cyanogen mod to hide them to stop them from getting in the way during gameplay but that leaves me without the ability to pause the game. If you could pop a pause button in there that the user tap holds to pause the game in a later version then that would be really appreciated!
You might be able to swipe up from the bottom or left to right from the right to get access to the software buttons.
Yea I don't know maybe.

Tuxdude143 wrote:

Secondly, hitsounds are absent. Now I know this may be related to the audio lag present in android but osudroid seemed to pull it off. Hitsounds are a really important part of the game so hopefully they get implimented soon.
Apart from that it works like a dream!
Most hits sounds should work, its just disabled by default because.... yeah I should change that. You will need to enable it in the settings and then do a hard reset on the app by exiting from the main menu and then swiping it out in the recent app or using a task manager.
Topic Starter
euphyy_old

hanawanta wrote:

It seems that jarsplice doesn't include 'META-INF\services' from mp3spi.
So a quick fix would be to copy that into the opsu jar.
I can't really think of a more permanent solution.
I'll see what I can do.

I also just added a beatmap cache, so let me know if that actually speeds up loading times.
AstralPhnx
You might be able to swipe up from the bottom or left to right from the right to get access to the software buttons.
Yea I don't know maybe.
I can but it's still not the most ideal solution for those of us with software buttons. Games like cytus hide the software buttons but they still have a pause button for those of us who have software buttons. It's a small thing but it makes our lives a hell of a lot easier
Topic Starter
euphyy_old

euphyy wrote:

hanawanta wrote:

It seems that jarsplice doesn't include 'META-INF\services' from mp3spi.
So a quick fix would be to copy that into the opsu jar.
I can't really think of a more permanent solution.
I'll see what I can do.
Fixed: JarSplicePlus and opsu commits.
(unrelated: looking at JarSplice's code makes me cringe, re: line 70)
chong601
previous message

xasuma wrote:

- Disable mouse/pen clicks. (So people who drag the pen can properly play).
Probably this will do the disable mouse keys.... (didn't have the time to test this because i can't get access to IDEs till after April :( )
public void mouseMoved(int oldx, int oldy, int newx, int newy)
public void mousePressed(int button, int x, int y)
public void mouseReleased(int button, int x, int y)
public void mouseWheelMoved(int change)

Probably can do something like this
if (!disableMouseKeys) {
public void mousePressed(int button, int x,int y)
}
Found this on Slick2D website (http://slick.ninjacave.com/wiki/index.php?title=Input#Mouse_2)

Places where mouse keys should be disabled: during gameplay (but rellow mouse keys when game paused)
Edit:
Damn, already added LOL

About the gameplay smoothness, I think probably its due to the way this game renders the graphic... I don't think switching to higher precision timer will easily fix that issue maybe because probably due to the update FPS is lower than the render FPS causing these jitter (and I found that this game have many different update() and render() calls on different GameContainer which makes it hard to find which one to modify :? ). I will look again on the code again and see whether I can get the right place to do it or not....

In short, the update FPS can be set to absolute maximum (or set it high enough but will not bring the computer to a drag, 240fps might be good enough i guess) and then set the render FPS to the FPS setting defined in the Options (60 vsync, 120 or 240)

My proposed solution is this (non-gameplay probably doesn't need this, only gameplay since they are really sensitive to timing at milisecond accuracy since it is quite easy to not get 300 at AR>9 maps):
private long nextFrameTime;

public void init (GameContainer gc) throws SlickException{
//do all init logic here

//keep this line below
nextFrameTime=Sys.getTime();
}

//update the backend logic at 240fps
//render part not shown... i have no idea on how to do that for now xD
public void update(GameContainer gc, int delta) throws SlickException {

int count = 0;
while(nextFrameTime < Sys.getTime()) {
update(gc);
nextFrameTime += Sys.getTimerResolution() / 240;
if (++count == 8) {
nextFrameTime = Sys.getTime();
break;
}
}
}

private void update(GameContainer gc) throws SlickException {
// put all game logic here
}
Topic Starter
euphyy_old
Release: v0.7.0
A lot of general enhancements and fixes with this release -- please refer to the release notes for details. A few quick points:
  1. Beatmap cache: Beatmaps are now cached in a database after the application starts. Coupled with some other tweaks, loading times are now drastically lower (ex. loading is about 6x faster on my computer).
  2. Automatic updater: All future releases can be automatically downloaded from within the application.
  3. Bug fixes: Major spinner improvements (fade in effect, support counterclockwise rotation, show RPM for "auto"/"spun-out" mods, remove dependence on FPS); slider calculation fixes; multiple sound effects can now play simultaneously; and many others.
Thanks again for all the support!
xasuma
SPOILER
** Uncaught Exception! **
java.lang.NullPointerException
at itdelatrisu.opsu.db.OsuDB.setStatementFields(OsuDB.java:309)
at itdelatrisu.opsu.db.OsuDB.insert(OsuDB.java:250)
at itdelatrisu.opsu.OsuParser.parseDirectories(OsuParser.java:184)
at itdelatrisu.opsu.OsuParser.parseAllFiles(OsuParser.java:78)
at itdelatrisu.opsu.states.Splash$1.run(Splash.java:106)


Fixed ^

Now it works ;) , and the loading time for songs was much faster.
AstralPhnx
Thank you SO MUCH for a pause button option in the android version this update! Keep it up!
LaughingKing37
I started playing Osu for the past month so I'm fairly new to the Osu community. So why is there a need to make an Osu clone except have it open source? Isn't the main game polished enough that there wouldn't be a need to recreate it?
chong601

LaughingKing37 wrote:

I started playing Osu for the past month so I'm fairly new to the Osu community. So why is there a need to make an Osu clone except have it open source? Isn't the main game polished enough that there wouldn't be a need to recreate it?
As of now, peppy still haven't make osu! source code open for public viewing. IIRC, he did say that it will be released by end of this year.
opsu! is actually a reimplementation of the original osu! game (no osu!devs are involved in this project afaik) and it is mainly contributed by euphyy (itdelatrisu) and hanawanta (fluddokt) and some players submitting bug reports.

Another reason of making clones is because osu! isn't really available other than Windows (although it is supported in Mac and Linux via Wine but heh, not everyone have good experience with those like I can't even make it work without recompiling my kernel :o)

Another reason is because they are just have nothing to do and decided on trying to make their own :)

Examples of the osu! clone available are:
  1. osu!iPhone (currently dead since the dev (nuddles) stopped developing it)
  2. osu!droid (presumably dead since the devs (Pesets and neico) not actuvely maintaining the code and tbh, the game suffers from multiple issues ranging from lack of support for newer versions of .osu format, memory corruption and image corruption)
  3. osu!WP (not sure about the status but probably still active)
  4. osuweb (browser version, not tested yet)
  5. osu!uebu (not released yet, browser version, HTML5 based with WebGL probably still in active development, the dev (Frowned) is working on it, but no ETA on the release date)
  6. Wojtkosu (XNA based, not active i think? the thread is 2 years old since the dev last posted in the forums :? )
Nitrousdragon
euphyy, how do you use a custom skin? I really don't like the preset skin and there is a Skins folder. I'm sure there is a purpose for it. (Is there?)

I put Black 2014 in the folder, but there's no skin option or anything.

EDIT: I fixed it, nvm.
Topic Starter
euphyy_old
Release: v0.8.0
This version includes mostly gameplay-related updates, summarized below:
  1. Replays: There is now support for recording, parsing, and exporting game replays. fluddokt helped fix many of the major problems, but please report any bugs you find. Note that this can play osu! replays (you'll have to do it manually, since there's no UI for it), but osu! cannot play opsu! replays (even though the output format is nearly identical).
  2. Game mods: This update adds the "flashlight" and "autopilot" mods, and fixes "auto" (cursor is now shown) and "hard rock" (hit object coordinates are now flipped).
  3. Other: Implemented follow points; added track previews in the downloads menu; support loading @2x images; and a handful of other bug fixes and tweaks.
As always, thanks for all your feedback!

Note 1: This update includes changes to the score database format, but if all goes well, the database should be altered automatically when opening the new version. Make a backup of your old database if you want.

Note 2 (to peppy): I'm currently using the osu! servers for the track previews -- as I've seen some other sites do -- but let me know if you want me to remove this.


Nitrousdragon wrote:

Sorry, there's still no support for skin switching or skin.ini. x.x

LaughingKing37 wrote:

It's really just for fun, but as chong601 mentioned, opsu! runs on more platforms than osu! and will also work on lower-end computers. There are plenty of other things you can do, too, but you'll have to be creative. (Here's an example.)
xasuma
Wonderful update! I am very happy with the way this is going :)

Two thing I would like to point out:

1. Flashlight does not get any smaller as the combo increases (I think) . I don't know if you intend it that way.
2. The music offset is different for different songs. (I use -100ms or -150ms ) one of those two worked for the songs I played, but I had to change them depeding on the song. Any fix for the offset to just make it automatic would be wonderful. :p

Suggestion:

- In-game custom frame cap (I know its on the .cfg file) :p
- opsu! logo , instead of the default java logo shortcut.
- How to change skin? Make it more obvious :p


Issues:

After update, and restart the game: https://github.com/itdelatrisu/opsu/issues/55
Then this happened https://github.com/itdelatrisu/opsu/issues/56
Then the update got reverted? And it asks me to update many time, feels like its in a loop.
and this https://github.com/itdelatrisu/opsu/issues/57

cheers :D
Topic Starter
euphyy_old

xasuma wrote:

Thanks for the quick feedback! ^.^
  1. Flashlight does get smaller at 100 and 200 combo, as stated on the wiki. I didn't verify if that's correct, but that's what's currently implemented.
  2. The music offset option is really just a bad fix for whatever mysterious problem is causing the inconsistent beatmap offsets. I could never figure out what was wrong...
  3. What do you mean by "custom frame cap"? Like, let the user select any FPS? (That sounds reasonable, as long as I cap it. XD But it wouldn't be as convenient if you wanted to quickly switch between the current preset values.)
  4. Custom app icons aren't possible as long as I'm distributing JARs (and not native executables). I don't plan on changing this at the moment, sorry.
  5. Skin-related updates have been on my to-do list for a long time, but I honestly can't say if/when I'll get to it. I can't bring myself to take the time to figure out what everything in skin.ini does... :P
As for your issues: the updater downloads the new JAR and saves it as a new file -- it doesn't overwrite the old one. I think all of your problems are being caused by you running 0.7.0 instead of 0.8.0 after your database gets updated -- let me know if that resolves everything.
xasuma
custom frame cap: http://puu.sh/gHOds/de9132fd33.png (but in game, so I could type the fps limit)
So, switch between 60fps, 120fps, 240fps, customfps.


And yes, that was the issue!
It's a little un-intuitive that it doesn't overwrite the older version. But anyways, that was it. :)
Bigpet
I like to idle in open-source project chatrooms :D

So is there any official chatroom (preferably IRC) for opsu? If not, I'll be idling in #opsu on freenode by myself in the meantime
rafradek_old
Could you make android version of the game more suitable for mobile? Hit objects are too small on smaller devices, sliding is too sensitive, there are no options, and config files are saved in external storage rather than internal.
ShishanoSakura
I just found this awesome apk for Android so I'm still testing it out but till now it's awesome, haven't seen any bugs really.

Suggestions:
- Sign In option for the game so that your process could be like saved? (I don't know if it's possible already haven't seen it) Because I find that my phone works like a mouse tab on the insane beatmaps.
- Android gameplay bigger, I have a large screen (6.5inch) and it tends to get annoying with the small icons.

I'll report if I find bugs anywhere! :D
Manivela
This is amazing i hope you keep going. Android compatibility is awesome
Newb1et
Awesome Android port! Although is it just me or is the accuracy grading a bit too agressive, having a hard time to get good accuracy from that I've got good accuracy. Also, the new cursor seems to be a bit delayed(probably the reason why accuracy is low). And last note, why aren't you able to use the original osu! skin? Osu!Droid was able to use the old skin. ;)
chong601

Newb1et wrote:

Awesome Android port! Although is it just me or is the accuracy grading a bit too agressive, having a hard time to get good accuracy from that I've got good accuracy. Also, the new cursor seems to be a bit delayed(probably the reason why accuracy is low). And last note, why aren't you able to use the original osu! skin? Osu!Droid was able to use the old skin. ;)
Delayed cursor may be the touchscreen issue, not game issue (since most android phones have input delay on touchscreen)
The reason opsu! can't use osu! skin is because due to peppy copyright on skin elements (only allowed in osu!, requires explicit permission if wanted to use outside or osu!)
Quote from the original thread (under LICENCE box):
All osu! graphic and other game assets are copyright ppy Pty Ltd.

You are granted permission to use the elements contained within this archive as a template for creating your own skins. You can modify these in any way you see fit. Please do not include the resources if you haven't modified them; the defaults will automatically be used in this case.

You are NOT permitted to use these graphics outside of skins and/or beatmaps. This includes using them on other websites, games, products etc.

If you would like to use the resources outside of the scope provided above, please contact me at pe@ppy.sh

One extra thing to add:
opsu-android requires 200 MB of RAM to run (may require up to 300 MB on certain occasions), so phones with less than 1 GB of RAM on device may not work properly (or wouldn't start at all)
jurassicplayer
I found something that feels like a bug with the sliders, but I've only seen it happen on a single map so far (didn't test very many maps). It's like the slider gets "caught" on the end with like an extra beat and so you have to hold it at the end of the slider while the ball seems to spin in place for that beat.

Map in question (Normal):
https://osu.ppy.sh/s/2585

It's fairly close to the beginning (the slider is shaped like an upside down question mark) and should be noticeable by having one of the slider beat stars on the actual end.
chong601

jurassicplayer wrote:

I found something that feels like a bug with the sliders, but I've only seen it happen on a single map so far (didn't test very many maps). It's like the slider gets "caught" on the end with like an extra beat and so you have to hold it at the end of the slider while the ball seems to spin in place for that beat.

Map in question (Normal):
https://osu.ppy.sh/s/2585

It's fairly close to the beginning (the slider is shaped like an upside down question mark) and should be noticeable by having one of the slider beat stars on the actual end.
You mean this slider?
The said slider in osu!:


The same slider in opsu!:


The code of the slider in the .osu file:
248,251,57161,2,2,L|312:251|312:200|248:200|249:91,1,280,2|0
Yeah confirming that some sliders are really funky on opsu! due to incomplete implementation of the sliders (current available sliders are Bezier and CircumscribedCircle, other types of sliders such as catmull and linear sliders aren't available yet)
The slider is actually a Linear slider, which is iirc isn't available and is then fall back to Bezier which destroys it xD

EDIT: You can report this on Github since he mostly active there (or I can help you forward this bug to the issues tracker)
Energy0124
Oh my science! I can't believe that I didn't discover this project until now. I always want to find a open source osu implementation to learn from and I finally find it today! Thank you euphyy for creating such a amazing project! I will definitely try to help if I get some free time! :)
chong601
you know, euphyy's code is so advanced that my lecturer, company supervisor and friends have obtained the latest copy of the source code to investigate the code structure

even if i know programming, his programming skills exceeded my range of understanding xD
Rori Vidi Veni
dfsafsdfsdafsfsdafdafs
chong601
The current commit on GitHub have support for DoubleTime and HalfTime (although incomplete) since using those wiill cause pitch shift
(you need to manually compile those since there's no pre-release versions)
jnmiah
On my android phone, Galaxy s2, Running 4.1.2, it is stuck on "Loading Sounds". It doesn't move at all. Not sure if it is slow, or not responding at all. Using release 0.8.0a.
ccxex29
First.. im using ASUS ZenFone 5...
No issue in performance... stable at 61fps

The issues for me are:
-the menu scroll is so fast when swiping...
-my preferences are not saved
-its too small for phones... if you could make an option for dpi or gui resize.. it would be useful
-the downloads are slow... in Indonesia...

Thanks in advance..
chong601

jnmiah wrote:

On my android phone, Galaxy s2, Running 4.1.2, it is stuck on "Loading Sounds". It doesn't move at all. Not sure if it is slow, or not responding at all. Using release 0.8.0a.
Did you use custom hitsounds?

ccxex29 wrote:

First.. im using ASUS ZenFone 5...
No issue in performance... stable at 61fps

The issues for me are:
-the menu scroll is so fast when swiping...
-my preferences are not saved
-its too small for phones... if you could make an option for dpi or gui resize.. it would be useful
-the downloads are slow... in Indonesia...

Thanks in advance..
currently using Zenfone 4 A4500CG
1. deal with it (the UI isn't polished yet)
2. not quite sure on this (since it works here)
3. set your CS to 0.1 if you can't read small circles in options
4. deal with it (or just copy osu! PC maps to opsu=>Songs folder)
jnmiah
Chong601, I did not use custom hitsounds. I cant boot it at all.
sugarmikuchan
I tried to open opsu! and it came out with this error .__.

Thu May 07 22:28:48 SGT 2015 ERROR:** Uncaught Exception! **
Thu May 07 22:28:48 SGT 2015 ERROR:org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
at org.sqlite.core.NativeDB._open(Native Method)
at org.sqlite.core.DB.open(DB.java:161)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:145)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at itdelatrisu.opsu.db.DBController.createConnection(DBController.java:65)
at itdelatrisu.opsu.db.OsuDB.init(OsuDB.java:74)
at itdelatrisu.opsu.db.DBController.init(DBController.java:46)
at itdelatrisu.opsu.Opsu.main(Opsu.java:138)
chong601

sugarmikuchan wrote:

I tried to open opsu! and it came out with this error .__.

Thu May 07 22:28:48 SGT 2015 ERROR:** Uncaught Exception! **
Thu May 07 22:28:48 SGT 2015 ERROR:org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
at org.sqlite.core.NativeDB._open(Native Method)
at org.sqlite.core.DB.open(DB.java:161)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:145)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at itdelatrisu.opsu.db.DBController.createConnection(DBController.java:65)
at itdelatrisu.opsu.db.OsuDB.init(OsuDB.java:74)
at itdelatrisu.opsu.db.DBController.init(DBController.java:46)
at itdelatrisu.opsu.Opsu.main(Opsu.java:138)
Did you happen to run this game on folders with "!"? (for example like D:\opsu! or C:\osu!)
opsu! doesn't work in directories with an exclaimation mark.
Topic Starter
euphyy_old

chong601 wrote:

Did you happen to run this game on folders with "!"? (for example like D:\opsu! or C:\osu!)
opsu! doesn't work in directories with an exclaimation mark.
...so I realized I was handling that error completely wrong. It actually gets caught as of 50d55d8 (hopefully).

Sorry for being gone for so long -- I haven't had the time to keep up with this project lately. I'll get back to it when I have the chance.
chong601

euphyy wrote:

...so I realized I was handling that error completely wrong. It actually gets caught as of 50d55d8 (hopefully).

Sorry for being gone for so long -- I haven't had the time to keep up with this project lately. I'll get back to it when I have the chance.
at least we know that you are still maintaining it lel
deadrestos
I don´t know how to transfer from osu beatmaps to opsu ... can someone help me ? :o
chong601
just copy the beatmaps to:
Windows: <drive letter>:\path\to\opsu\folder\Songs
Linux: /path/to/opsu/folder/Songs
Android: Internal storage/Songs folder or Internal Storage/opsu/Songs (depend on which opsu-android you use, but either one)
Topic Starter
euphyy_old
Release: v0.9.0
Summary of important changes:
  1. Speed changing: This update implements the "Half Time" and "Double Time" mods, as well as playback speed selection during replays. Note that pitch is shifted with the current implementation; a new music player is in the works.
  2. Back-end updates: There were some major back-end additions, notably hit object stacking and Catmull curves.
  3. Visual improvements: Changed to a cleaner font (Droid Sans Fallback), improved hit animations, and fixed a handful of other issues.
  4. Download servers: Added support for downloading from the osu!Mirror and Hexide servers.
Thanks again for all your support!
Newb1et

euphyy wrote:

Release: v0.9.0
Summary of important changes:
  1. Speed changing: This update implements the "Half Time" and "Double Time" mods, as well as playback speed selection during replays. Note that pitch is shifted with the current implementation; a new music player is in the works.
  2. Back-end updates: There were some major back-end additions, notably hit object stacking and Catmull curves.
  3. Visual improvements: Changed to a cleaner font (Droid Sans Fallback), improved hit animations, and fixed a handful of other issues.
  4. Download servers: Added support for downloading from the osu!Mirror and Hexide servers.
Thanks again for all your support!
Awesome! You back on the project? Love to see this progress more! :D 🙌

Oh, seems like the 0.9.0 update is currently for PC as of right now. Guess I'll wait... 😓
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.
show more
Please sign in to reply.

New reply

/