-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AiMod support for modding #12091
Comments
I think that there is an interesting avenue to explore here, in integrating https://github.com/Naxesss/MapsetVerifier with lazer directly. The good news is that its processing components are C# already, but the bad news is that it's coupled to a custom beatmap parser. And well, we probably ought to ask for permission first. |
The repository license for all C# components are MIT (Expat), so I think that with proper crediting, asking for permission is not necessary.
|
I'd be interested in helping out with integrating Mapset Verifier into lazer. Design-wise the main interest is probably the
This way, For a simple example, the
Here's how it's displayed in the application if both issues are present: I figure we could do something similar for lazer. Possibly as a tab like compose, timing, etc. Allowing users to create custom checks would be really useful considering that the RC changes quite often, so this is something we may want to consider designing around. |
A good starting point may be to add a new tab in the editor alongside the existing ones, and show issues in a similar tabulated format to how timing is done. Improving the design and UX could come as a secondary pass. I'd probably push back against custom rules, as I'd hope the ones in the game would be kept up-to-date and flexible enough to a point this would not be required. Note that currently we only load the active difficulty. You could quite easily parse the others, but I'd start with just focusing on the current one to begin with for simplicity. |
As an aside, the osu-stable code base for AiMod is relatively portable, and written with extensibility in mind. If someone is looking to take this task on and would like that code as a reference, let me know and I'll extract it out. |
The majority of this has now been implemented, but will keep this issue open to track completion of all required checks to bring this up to parity. |
Now that we've added a few checks I'm going to list and organize them so it's easier figure out what to work on next, as well as to highlight what is currently blocked and what I'm uncertain of. I'll be updating this as I go. Here are all checks from Mapset Verifier and their respective status in lazer. These are sorted by priority (0 = very common and/or severe) and then by difficulty of implementation. This includes most if not all relevant checks from AiMod. Status✔️ Done All Rulesets
osu!-specific
¹ - Editor lacks context of other difficulties, so any check that compares difficulties cannot be implemented. |
Right now lazer has no internal way to check for errors that can be undetectable or almost impossible to find within a beatmap
while a good solution would be to add AiMod into lazer, the actual release of lazer gives a great opportunity to upgrading the old AiMod to be up to date with the current modding standards
it's probably worth having a discussion on what (if any) modding support you want to add to lazer (and im also sure that alot of the bng/nat groups would like to give input on different features a modding assistant could have) but i see huge potential with a up to date AiMod within the game, which could also act like an auto ranking criteria checker
(split from #12020)
The text was updated successfully, but these errors were encountered: