ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.37k stars 2.28k forks source link

The modding process should be completely contained within the game editor #5379

Open BilliumMoto opened 5 years ago

BilliumMoto commented 5 years ago

The current modding process requires constantly switching between the map's associated forum post and the osu! editor. Mods must be written up manually in the form of modding discussion pages, and a similar effort is required to reply to the mods. There is no standardized format to mods, which results in further inefficiencies when making them for all parties involved. These inefficiencies culminate in a barrier to entry for many potential active modders and community members.

Description:

Mods, collections of proposed changes to a beatmap, are encodable in a standardized and human-readable file format.

The modding process is completely contained within the osu! editor, and the modder makes their proposed changes in the editor as if they were the mapper. Upon editing, osu! recognizes that the modder is not the original uploader, and asks the modder to justify their proposed changes. The modder will be able to group changes to multiple notes as part of a single proposed change. Once changes have been justified and explained, they are uploaded to the map's forum post in the standardized format.

To apply the mod, osu! will notify the mapper of the mod and ask if they would like to review the proposed changes. For each proposed change, the mapper has the option to "accept", to "accept with additional changes", or to "reject". The latter two actions provide the mapper with an option to justify their choice, but this justification is not required. Accepted proposals are applied automatically. Once the mod has been reviewed, the mod reply which indicates accepted and rejected proposed changes along with any provided justifications is generated. It is then automatically uploaded to the appropriate map's modding discussion page in the standardized format.

Proposal designs:

This feature can be logically split into several tasks.

  1. Create a standardized format for mods and mod replies -- Get feedback from modders on how to best express justifications for mods -- Common mapping issues may be indicated with standardized codes
  2. Create a secure interface between osu! and a map's associated modding discussion page
  3. Create the modding UI -- Common mapping issues may be indicated with shortcuts or one-click buttons
peppy commented 5 years ago

This has been planned from the start, but obviously we are still a bit far away from this goal. Design work is already done for some portion and it may be one of the earlier functions you see from the lazer editor (before full editing support is available).

The implementation is a bit different from what you mention above, but I'll leave this issue open as a "general concept" issue thread which can be associated to the task once we define it better with our own requirements.