1. osu! forums
  2. osu!
  3. Development
show more
posted

gintoki147 wrote:

I love this project.
Personally, I think you should drop desktop support and focus only on the Android version. Too bad it's almost impossible to play streams on a touch screen. D:
I think you got the point wrong here. There is one guy working on the PC version, which is opsu! itself, and another one who is working on opsu! for android. I think euphyy (the creator and mantainer of the PC version) would rather carry on working on it for the PC version, while leaving everything related to the android version to fluddokt, the guy working on the android port.
posted

Howl wrote:

gintoki147 wrote:

I love this project.
Personally, I think you should drop desktop support and focus only on the Android version. Too bad it's almost impossible to play streams on a touch screen. D:
I think you got the point wrong here. There is one guy working on the PC version, which is opsu! itself, and another one who is working on opsu! for android. I think euphyy (the creator and mantainer of the PC version) would rather carry on working on it for the PC version, while leaving everything related to the android version to fluddokt, the guy working on the android port.
It seems that fluddokt has been even busier than I have lately, which is why the Android version hasn't been getting as many updates. (I don't blame him, since porting my changes can't be very interesting...) But it's all open source, so really anyone can take over if they want to.

A technical issue is the way the Android version is written. To actually get the program running on Android, fluddokt had to switch the game engine from Slick2D (simple, dead, and desktop-only) to libGDX. But instead of porting the source code, which would've taken a very long time, he's "faking" the Slick2D API and replacing the implementation of all referenced methods with libGDX code. It works, as you can tell, but comes with these large problems:
  1. If someone updates the Slick2D code and calls Slick2D methods not yet "faked", all of those methods need to be rewritten as well (which isn't always easy, or even possible).
  2. If anyone continues developing the libGDX code with pure libGDX calls, the source code will be a mess of mixed Slick2D/libGDX and merging changes from the Slick2D code will get significantly harder.
  3. Some desktop code needs to be rewritten to work at all on Android, which makes things even more complicated.

The only two choices I can see are to rewrite the project completely in pure libGDX (which nobody wants to do) or continue developing in Slick2D and porting the changes (which anyone can try to do, if they're up for it).

A more practical problem is that I don't actually own an Android device, so I'm not easily able to test anything for it.
posted

euphyy wrote:

It seems that fluddokt has been even busier than I have lately, which is why the Android version hasn't been getting as many updates. (I don't blame him, since porting my changes can't be very interesting...) But it's all open source, so really anyone can take over if they want to.

A technical issue is the way the Android version is written. To actually get the program running on Android, fluddokt had to switch the game engine from Slick2D (simple, dead, and desktop-only) to libGDX. But instead of porting the source code, which would've taken a very long time, he's "faking" the Slick2D API and replacing the implementation of all referenced methods with libGDX code. It works, as you can tell, but comes with these large problems:
  1. If someone updates the Slick2D code and calls Slick2D methods not yet "faked", all of those methods need to be rewritten as well (which isn't always easy, or even possible).
  2. If anyone continues developing the libGDX code with pure libGDX calls, the source code will be a mess of mixed Slick2D/libGDX and merging changes from the Slick2D code will get significantly harder.
  3. Some desktop code needs to be rewritten to work at all on Android, which makes things even more complicated.

The only two choices I can see are to rewrite the project completely in pure libGDX (which nobody wants to do) or continue developing in Slick2D and porting the changes (which anyone can try to do, if they're up for it).

A more practical problem is that I don't actually own an Android device, so I'm not easily able to test anything for it.
Well, to be honest, I would support the choice to rewrite the entire game in libGDX.

Reasons are because of libGDX are targeted at making games on any platform as well as cleaner code base (as long we don't do much of editing and mucking around)
From my view, most of the game (map parser, objects, states (need confirming, yet to reach that part), sounds) itself can be retained as is, but the drawing part must be rebuilt to use libGDX platform.

Also, by changing to libGDX, the performance issues on opsu-android may be possible to be handled since there's no API faking going on everywhere as well as the desktop version which seems still have room for more improvement

For the part of rewriting, I might able to offer my help but because of my Java skill limitations (and the fact that libGDX documentation is quite lengthy, so it takes time for me to understand how the whole platform works for now), I might unable to handle the project on my own and have to keep up with RL stuff.
posted

chong601 wrote:

I don't think there'd be any significant performance gains because opsu! isn't very resource-intensive anyway. There's also a lot of Slick-specific code in the states and audio, so there's more rewriting required than you'd expect. I'm not discouraging you from porting the code, but if you're willing to do that much, it might really be more worth your time to help fluddokt merge changes over to his fork. (Though the new slider rendering code might be a pain to move over there...)
posted
ummm is the spinner glitch for opsuandroid fixed? (using tablet btw) laggs for half a second
posted

gintoki147 wrote:

I love this project.
Personally, I think you should drop desktop support and focus only on the Android version. Too bad it's almost impossible to play streams on a touch screen. D:
Don't download 1/4 beatmaps then. Is that hard?
opsu! could need specific beatmaps for it, like osu! stream
posted

XinCrin wrote:

gintoki147 wrote:

I love this project.
Personally, I think you should drop desktop support and focus only on the Android version. Too bad it's almost impossible to play streams on a touch screen. D:
Don't download 1/4 beatmaps then. Is that hard?
opsu! could need specific beatmaps for it, like osu! stream
im not a fan of touch screen osu but what about having bottom right corner of screen for tap overlay keys.
posted

Agrrox wrote:

im not a fan of touch screen osu but what about having bottom right corner of screen for tap overlay keys.
tfw opsu!-android have no support of multitouch
posted
Play streams is not fun in a touch screen imo.
posted
play streams on a touchscreen to guide the cursor and use a keyboard to tap is fun imo.

but good luck getting used to the touchscreen delay
posted
I don't know if this is a known issue, but still...
Even though I adjusted the music offset in the options menu, some songs are clearly out of sync with the objects, while others play just fine.
Maybe opsu! is not reading the beatmaps' offset correctly?

I'm playing on Android btw
posted

gintoki147 wrote:

I don't know if this is a known issue, but still...
Even though I adjusted the music offset in the options menu, some songs are clearly out of sync with the objects, while others play just fine.
Maybe opsu! is not reading the beatmaps' offset correctly?

I'm playing on Android btw
Probably the beatmaps don't have a correct offset. A local offset feature (per-beatmap offset) has already been requested on this thread.
posted
I'm trying to find the Ios version.Does it work on ios?
posted

YangireKaito wrote:

I'm trying to find the Ios version.Does it work on ios?
Theoretically, yes. But nobody has tried building the libGDX version for iOS because I think nearly none of the contributors have Macs... (and here's my request that's been ignored :P)
posted
Awwwww.....Damn my android sux.My pc is good but Ican't use it always.
posted
Release: v0.11.0
This update contains a lot of bug fixes, some new features, UI improvements, and a new build system.
  1. Animations: Added easing animations on a lot of elements, so all the menus feel pretty different from before.
  2. "Hidden" mod: With this release, all the core game mods are now complete.
  3. Download servers: Added additional download options for YaS Online, Mnetwork, and MengSky.
  4. Gradle: With the help of LemonLake, you can now build opsu! using Gradle (or keep using Maven). This came with the bonus of removing JarSplice from the build cycle, as opsu! now has its own native loader.

The bug fixes are too numerous to list here, so check out the release notes if you're interested. Thanks again for all the support!
posted
It was working with previous version but I can't open it now. I got this error, I don't know if someone could help me. Thanks in advance :)

Tue Sep 01 21:23:06 CLT 2015 ERROR:Pixel format not accelerated
org.lwjgl.LWJGLException: Pixel format not accelerated
at org.lwjgl.opengl.WindowsPeerInfo.nChoosePixelFormat(Native Method)
at org.lwjgl.opengl.WindowsPeerInfo.choosePixelFormat(WindowsPeerInfo.java:52)
at org.lwjgl.opengl.WindowsDisplay.createWindow(WindowsDisplay.java:247)
at org.lwjgl.opengl.Display.createWindow(Display.java:306)
at org.lwjgl.opengl.Display.create(Display.java:848)
at org.lwjgl.opengl.Display.create(Display.java:757)
at org.newdawn.slick.AppGameContainer.tryCreateDisplay(AppGameContainer.java:302)
at org.newdawn.slick.AppGameContainer.access$000(AppGameContainer.java:34)
at org.newdawn.slick.AppGameContainer$2.run(AppGameContainer.java:367)
at java.security.AccessController.doPrivileged(Native Method)
at org.newdawn.slick.AppGameContainer.setup(AppGameContainer.java:348)
at itdelatrisu.opsu.Container.start(Container.java:69)
at itdelatrisu.opsu.Opsu.main(Opsu.java:205)
Tue Sep 01 21:23:06 CLT 2015 ERROR:** Uncaught Exception! **
Tue Sep 01 21:23:06 CLT 2015 ERROR:null
java.lang.NullPointerException
at itdelatrisu.opsu.GameImage.setDefaultImage(GameImage.java:615)
at itdelatrisu.opsu.GameImage.getImage(GameImage.java:553)
at itdelatrisu.opsu.ui.Cursor.reset(Cursor.java:290)
at itdelatrisu.opsu.Container.close_sub(Container.java:121)
at itdelatrisu.opsu.Container.start(Container.java:75)
at itdelatrisu.opsu.Opsu.main(Opsu.java:205)
posted
To everyone who's been asking, fluddokt updated the Android version to 0.11.0a, and you can get it here: https://github.com/fluddokt/opsu/releases/tag/0.11.0a
Thanks so much for still maintaining this!

XinCrin wrote:

It was working with previous version but I can't open it now. I got this error, I don't know if someone could help me. Thanks in advance :)
Does this page help? http://hopper.minecraft.net/help/pixel- ... celerated/
posted
Nice work but I have some requests:
MouseSpeed = xx.xx
Frame Limiter = Unlimited
Skinnable Logo and Play / Exit / Download buttons :/
posted

Osugye wrote:

Nice work but I have some requests:
MouseSpeed = xx.xx
Frame Limiter = Unlimited
Skinnable Logo and Play / Exit / Download buttons :/
No idea how to change mouse sensitivity in LWJGL (you probably can't). I don't think unlimited FPS is necessary (it really eats up CPU in Slick2D, and it probably wouldn't have any benefits), but feel free to modify the source code yourself -- I can point out the few lines you'd need to change if needed. And everything is skinnable.
show more
Please sign in to reply.