Sign In To Proceed i2v15

Don't have an ? 1a2w41

osu! to create your own !
forum

[AiMod] osu!tp's difficulty calculator 4r566a

posted
Total Posts
18
Topic Starter
Tom94
Hello everyone,

I have ported osu!tp's difficulty calculator to C# using the osu! sdk. Since I am not very versatile with C#, please forgive me if you find some weird code.
The code has been filled with explanations to almost any step, so please read through it before asking questions.
If you feel, that something has not been answered or if you have a suggestion how to do something better, then I'd be happy if you'd let me know.

A detailed (not from a programmer's point of view) brief explaination of how it works can be found on the osu!tp info page.

Source code:
https://github.com/Tom94/AiModtpDifficultyCalculator
Everything is released into the public domain, meaning you can do with it whatever you want.

How to use:
Since I have not ed any compiled binaries, you will have to compile the code yourself.
  1. the osu! sdk
  2. Put the AiModtpDifficultyCalculator source code into a new folder, which should be in the same directory as "osu!framework"
  3. Open the AiModtpDifficultyCalculator project with visual studio
  4. Alter Properties -> Build -> Output path to match "<your osu! folder>\Plugins\AiMod\". You have to create those folders if they do not exist already.
  5. Build the solution and then start osu!. You can automate this, by setting Properties -> Debug -> Start external program to your osu! executable.
  6. Go into the map editor of a beatmap of your choice and press Ctrl+Shift+a
How to remove:
Simply delete "<your osu! folder>\Plugins\AiMod\AiModtpDifficultyCalculator.dll".

Final remarks:
I do not claim this algorithm to be "correct". My goal with it is to satisfy as many people as possible, but there will always be tradeoffs. Some parts of the algorithm are just approximations of reality (for example scaling beatmaps to achieve uniform CircleSize) and others are purely based on opinion (scaling factors, should OverallDifficulty be included?, etc.). Because of all this I ask you to provide your ideas if you think you solved a particular problem better than the algorithm does. But please keep it simple. The best solutions usually are short and elegant ones, that do not introduce a great amount of variables.


is appreciated. :)
Metro
yay
Sieg
binaries please?
MillhioreF
I've compiled the binaries myself, for those who are lazy - you can them here (just extract to your root osu! directory.)
These binaries will be out of date the moment the code is updated or changed at all, so if you want regular updates to the formula then you really should Visual Studio and figure out how to compile it yourself.

Disclaimer: It is STRONGLY recommended that you compile this code yourself - ing .dll files from the internet is dangerous. That being said, not everyone is willing to large development software in order to compile what amounts to a few kilobytes of code, and I've looked through it myself before compiling and it's safe to the best of my knowledge, so and use at your own risk.
peppy
At least .NET dlls are easy to check for malicious code. Looking forward to taking a look through this and the feasibility of using it to replace existing eyupStars.
Sieg
cheked few maps with this and actually it looks pretty accurate
good job
puncia
Thank you very much for this <3
Damori_old
Oh my god! ♥
TheVileOne

peppy wrote: 115z70

At least .NET dlls are easy to check for malicious code. Looking forward to taking a look through this and the feasibility of using it to replace existing eyupStars.
Quoting this because I never thought I would hear peppy say it. Great things are happening in the land of osu!
TakuMii
If this actually gets implemented, my hype for ppv2 will be through the roof! :D
Soulg

YayMii wrote: 125i65

If this actually gets implemented, my hype for ppv2 will be through the roof! :D
same! +111111
Soarezi
9001
Yarissa
Peppy if you actually consider using that code (or portions of it) I will love the direction osu! is heading. (And maybe you. A little.)
peppy

YayMii wrote: 125i65

If this actually gets implemented, my hype for ppv2 will be through the roof! :D
ppv2 is not based off any static calculations, and I don't foresee this changing. that's not my intention when making a ranking algorithm. having a better star system will be a good benchmark for comparison, though.

nb: Please do not discuss pp in this thread. This is a difficulty rating system, and has nothing to do with a ranking system (pp); they are completely non-mutual concepts.
Soulg
After compiling it, what am I looking for? I ed Millhiore's folder and added it in, but I saw no change in anything. Was there already an update?
Marcin
If you are using test build, simply put a plugins folder into your osu! installation, then edit a selected beatmap and open AImod.
MillhioreF
Except SDK plugins are broken on the test build for the moment, so try public (I'm not sure if the updates have gotten there yet)
Yauxo
I this being broken with an update, does this work again or isit still rip?
Please sign in to reply.

New reply 18684e