Closed Lyonlancer5 closed 7 years ago
If this is going to be almost a rewrite, I would also suggest adding unit tests.
Slick2D + LWJGL 3 (requires re-writing parts of the current framework and significant amounts of caffeine)
why don't we just merge fluddokt's libgdx port in here? libgdx is designed to be multi-platform, so then we don't have to maintain two separate desktop and android versions. you'd move the main game into a main module, then you would simply make a desktop and android module, which contain basically just a launcher class, and other small tweaks per-platform. compile builds with main + desktop, and main + android.
Looks interesting. Not sure what kind of input you want from me (if this is going to be a fork, which it sounds like, you can do whatever you want) -- but here are some comments after reading this:
Skin.java
with no references.You haven't explained why you want to make any of the larger changes. A lot of them seem like tons of work for little reward, e.g.:
Things you haven't mentioned, if you need ideas (off the top of my head):
Well, added to the list and a few explanations/questions.
automated tests ... integration tests ... unit tests
Would something like a CI service be of help?
LWJGL 3...
I forgot about that libGDX fork (this one?) so marking the LWJGL 3 thing off the list for now.
Was going to try an experiment regarding different resolutions rather than sticking with the pre-defined set of resolutions and also working with multi-monitor setups. The idea is far-fetched because I'm still learning to do a way to change the main UI to be "resizable" and along with it, a way to handle scaling of drawn objects.
IRC: Would be nice, though I have no idea if anyone would use this
I do see the point you made. With advanced communication systems (e.g. Discord/TeamSpeak) that fulfill the needs of users and provide more features, the IRC system would end up being unused (unless the end user specifically wants something "less")
Packing JRE
Oops. And it would take much longer to setup all those stuff too even.
Scoring
About that, which of the algorithms do you prefer, the current algorithm or something like in mania (1 million score cap) ?
an i18n framework
Whoops, the world isn't English-only, riiiiiiight (added) Do you want the language files to be housed in the JAR or to be downloaded/extracted seperately?
Storyboards
Since C# code is slightly similar to that of Java, I'll try decoding the *.osb files first (and the cases where the beatmap difficulties have their own storyboard code)
Skins Shaders
Ooh, the eye-candy... (I need a more powerful graphics card and a way for opsu! to be friendly with lower-spec PCs)
I already forked this repo (here) and added a few changes already (in the branch experiments1
)
Do you want the language files to be housed in the JAR or to be downloaded/extracted seperately?
language files are tiny, less than 100kb each even for large projects. simply bundling them is fine
I got to work on the localisation framework first and these are early progress:
Used a variant of SampleNotReal.lang
The framework itself relies on a simple system of String key-value pairs that can be reloaded upon changing the language setting. Its something like this: my.translation.key=Translated Value
or my.translation.formatted=%s supports formatting
The language files themselves are packaged in the JAR and can be found by following in the package itdelatrisu.opsu.translations
where LanguageManager can also be found.
I haven't actually integrated this into the Options panel yet, although there are edits already to prepare for it. I'll be making a gist to provide a list of localisable strings that can be used as a template (other than the default English US file)
//The framework for translating stuff is quite easy to do, its the translations themselves that are slightly hard to source. I know, this ain't final.
Smoke and key overlay might also be nice things to add :)
IRC: would be nice imo, but probably not used very much. It would also be a nice basic snooper as you can see when people join/leave channels (if it's non-bancho) and maybe even report crashes to it :) The basics of an IRC client is not that hard (I've made some java IRC bots in the past), so you can avoid using someone else's library and be sure that it's optimized for what opsu! needs.
For your final note: I have win7/8/10/linux/macbook systems so I can help in testing, but opsu! runs fine on all my machines (haven't tested the latest build with video support yet) and I don't really see why compiling would not work in different environments as long as there's a JDK and dependencies are resolved.
soon again
Overview
This issue is a list of update proposals for opsu! as of
0.15.0
. Since the new osu! client is now open-source and in active development, we might as well push some changes here.This list is non-exhaustive and will be changed per-release or when you like (owners can edit others' comments AFAIK). We could also reference feature requests to this issue.
Golden words of encouragement:
Proposals
Gameplay
Two separate score systems (our own formula and the vanilla osu! score formula)UI/Design
Framework
gst1-java-core
isn't on Maven yet)Distribution
Development
Additional notes
I'm working on setting up an Ubuntu system (not a VM) specifically for the purpose of compiling and testing Linux builds.
Eh no, its not going to be a rewrite anymore,
maybeUpdates
i18n
, removed JRE packing and osu! score formula, reference all issues from fork.