forum

osu!sdk (client SDK)

posted
Total Posts
57
Topic Starter
peppy
While this is still very incomplete, I thought I'd point out the existence of this project to see how much interest it gathers. The beginning of an SDK framework to allow external components to interact with the osu! client. Initial focus is on AiMod extensibility, hopefully bringing AiBat functionality into osu! and allowing much more as well.

http://peppy.github.io/osu-sdk/

For all those devs out there that want to help out or just show interest, watch/fork on github and post issues over there as to what you want to see in the SDK. Keep in mind osu! doesn't yet support loading external libraries, but I plan on adding this support (in the test build) this week.

Update: Added a guide which should get even a newbie setup and ready to make some awesomeness. View it on the github wiki.
palion
good to see this :)
Krzysiek
Stuff I'd like to see regarding SDK:
1. Obviously mouse/keyboard actions (movement & clicks). Will it be possible to output movement data like time<->kbd/mouse action? Current CtB auto-mod completely disregards velocity constraints and it makes it harder to debug created maps (it looked like auto motion is a set of time<->position elements not time<->kbd/mouse action items).
2. Support for other game modes (Taiko/CtB). Few examples:
- slider in standard is a pretty straightforward object (begin/end/loops/tick rate or something like that), but in CtB it's divided into beginning-ending fruit, small droplets and big droplets
- horizontal jumps create hyperdashes - the hyperdash speed must be somehow readable/determinable by SDK user
- spinners in CtB generate randomly placed fruit
Drafura
Pretty nice idea here,this could be really usefull for modders. And the minimum for ctb modding should be getting quickly the horizontal spacing of two objects without modifying the map as we have to do actually.
Topic Starter
peppy

Krzysiek wrote:

Stuff I'd like to see regarding SDK
None of this falls under the scope of this SDK.
nanashiRei
I'd love to see being able to easily read the currently playing song title for stuff like mIRC/kvIRC integration (Just like AMIP with Winamp and stuff). And i love that this is C# :D the only language besides php and python that i really understand :D
Sushi
Ohmy didn't see that, going to try it out tonight :D

I guess it's already in the scope but will there be something like a new tab in the menu bar like "add-ons" where we could add commands?
Eirene
ohgod... not gonna sleep until Ive done something cool with this ._.
YodaSnipe
So what exactly are we limited to with this SDK? Are there any specific rules to using this?
Topic Starter
peppy
At the moment you can implement AiMod modules, so it's editor-only for now. You can request more functionality/exposed APIs by filing issues on github. May I suggest that you start with AiMod just to get a feel for how things will work, and because it is a nice contained environment, before requesting more advanced stuff.
Yuugo
Man I wanna look into this, but I don't even know what I want to implement.. guess I'm just gonna start by reading through your code then and translate my java knowledge into C# syntax. Thanks for the opportunity peppy!
woc2006
No one care github issues anymore?
Topic Starter
peppy
I don't think you understand the art of waiting. I will get to it when I have the time.
Krzysiek
Didn't you mean le art of waiting?
Yuugo
So let me try to get this clear. Right now you are giving us access to a limited amount of code and let us play around with the AiMod. When we feel like we have a nice idea and are able to implement this through proper coding we can request more access where necessary? I'm not entirely sure what out possibilities are with this SDK. Could you clarify a little on this peppy?
Topic Starter
peppy
Yes, at the moment it lets you have access to beatmap content via AiMod. It is intended to eventually allow AIBat (amongst other potential projects) to enhance the editing and modding process.

At the moment the possibilities are:
* Reporting new information about a beatmap via AiMod.
* Editing basic elements of HitObjects.
emergist
Awesome! It makes me want to learn C#.
Marcin
Maybe you can make a list of function, which we can use ? (I don't have supporter so I don't know how it works.)
Topic Starter
peppy
You can view the source on github. You don't need supporter status to view it.
Marcin
BTW: Could you make writing addons in more friendly-user language (Lua, python, perl?), i've never started learning c++/c# because of it being really complicated. (or maybe I should learn, and make addon to sdk which would allow making addons in other languages... addonception)
Topic Starter
peppy
I do not see the need for a different language for this. c# is not much more complicated (if at all) than any of the languages you list, and allows for the tightest integration.
Marcin
Am I wrong or something?
Second is used at GMod (aka GLua language - edited Lua), now see how much they made with usage of this language which is in your opinion, less functionally
(There is even CPU in game)
Topic Starter
peppy
You are calling brackets and extra commenting more complicated? I never said "less functional".

Please do not start a language war in this thread; the osu!sdk will only be made available in c#.
Marcin

peppy wrote:

You are calling brackets and extra commenting more complicated? I never said "less functional".

Please do not start a language war in this thread; the osu!sdk will only be made available in c#.

I meant some senseless (for me not knowing this language) things like public override AiModType Type or protected override void RunAllRules(List<HitObjectBase> hitObjects) or even namespace AiModTestProject
show more
Please sign in to reply.

New reply