Skip to content
Jakads edited this page Nov 15, 2019 · 11 revisions

한국어 버젼은 여기

Table of Contents

Table of contents generated with markdown-toc

Rand(osu!)

Rand(osu!) is a Python3 program that randomizes patterns in any maps in any gamemodes.

How to use

Drag an .osu file into randosu.py / randosu.exe and follow the instructions.
Like this:
Yeet

How to use like a GAMER

  1. I want Mirror Mod in osu!taiko
    Set Proportion of Switching Colors to 100% and you'll have a "Mirror" mod in Taiko.

  2. I Despise Jacks in osu!mania
    Enable Scatter and set Proportion of Switching Columns to 0% to keep the original pattern AND replace as many jacks as possible.

  3. I want a minijack challenge in osu!mania
    Disable Scatter and adjust Proportion of Switching Columns like below:
    Set higher for chords-oriented maps and set lower for stream-oriented maps.

  • Easy: 5~10%
  • Normal: 10~25%
  • Hard: 20~40%
  • Insane: 30~60%
  • Torture: 100% (Official games use this)
  1. Mapping is so bothersome
    Place notes randomly on the screen but on the beat, and then run this program! :D

Disclaimer

  • Please drag only one .osu file at a time!
  • Randomized result may differ by program version even with the same seed and arguments.
  • Sliders might go out of bounds on osu!standard. Working on a fix.

Arguments

Seed

  • Default: Current Timestamp
  • Seed is used to initialize a random number generator. That means the same seed will create the same .osu file if used with the same arguments.
  • If left blank, Rand(osu!) will use the current timestamp as the seed.

osu!standard & osu!catch

True Random

  • Recommended: Off
  • Rand(osu!) uses original map as a reference so that it won't create an absolute mess. Details are written below.
  • This option will ignore all that and create a truly chaotic masterpiece.

Min Scale Factor & Max Scale Factor

  • Default: 0.8x ~ 1.5x
  • Rand(osu!) calculates the distance between the objects as a reference, multiplies a random number to it, and then use the result to place the next object.
  • These arguments will specify the random number's range.

Chance of Red Anchors

  • Default: 25%
  • Rand(osu!) will first read all the slider curve points as normal anchors. It will then change some of the points to a red one, which will add to the chaos.
  • This argument specifies the chance of changing a curve point into a red one.

osu!taiko

True Random

  • Recommended: On
  • Rand(osu!) adopts the randomization algorithm from official taiko games, which takes 20%/50%/100% of the original notes and switches color.
  • This will theoretically randomize the map enough, but because of its mechanism, some original patterns might appear in a row unchanged.
  • This option will randomly select the color of notes by itself without referencing the original beatmap, which may output a better result.

Proportion of Switching Colors

  • Default: 50%
  • Rand(osu!) will keep the size of all notes and only change the color of some.
  • This argument controls the proportion of notes to change.
  • In official taiko games, the proportions are:
    • Abekobe(あべこべ): 100% - Mirror
    • Detarame(でたらめ): 50% - Random
    • Kimagure(きまぐれ): 20% - Semi-random

osu!mania

Scatter

  • Recommended: On
  • In Lunatic Rave 2, there's a special option called Scatter, which is just like S-Random, except it avoids jacks 16th and shorter at all costs.
  • This works the exact same in Rand(osu!), except you can customize the snap value with the argument below.
  • To compare with beatmania IIDX, Scatter Off is S-RANDOM, and Scatter On is H-RANDOM.

Avoid Jacks "x" and Shorter

  • Default: 1/4

  • As mentioned above, Scatter displaces notes in order to avoid jacks equal or shorter than the snap value.

  • This argument sets said value, which makes practicing 1/4 minijacks with shitty 1/8 jacks removed possible.

  • "Snap" is a terminology used in osu!mania mapping, which divides a single beat with equal lengths.
    Here's a comparison with "Beat" or "Note" used in other rhythm games, which divides a single bar with equal lengths.

    • 1/1 Snap = 4th Beat/Note
    • 1/2 Snap = 8th Beat/Note
    • 1/4 Snap = 16th Beat/Note
    • 1/8 Snap = 32nd Beat/Note
    • 1/16 Snap = 64th Beat/Note
    • 1/3 Snap = 12th Beat/Note
    • 1/6 Snap = 24th Beat/Note
    • 1/12 Snap = 48th Beat/Note

Proportion of Switching Columns

  • Default: 100%
  • Rand(osu!) will displace notes to other available columns.
  • This argument specifies the proportion of changing the column of a given note.
  • The lower the value, the easier the map usually gets.

Result File Names / Difficulty Names Syntax

Randomized .osu files will be created right where your original .osu file is. Here's what the names of the generated files mean.

osu!standard & osu!catch

True Random Off

  • Difficulty name: Randomized(Min Scale Factor~Max Scale Factor, Red:Chance of Red Anchors)_Seed_Original Difficulty Name
  • File name: rand(Min Scale Factor~Max Scale Factor,Chance of Red Anchors)_Seed_Original Difficulty Name.osu

True Random On

  • Difficulty name: TrueRandomized(Red:Chance of Red Anchors)_Seed_Original Difficulty Name
  • File name: truerand(Chance of Red Anchors)_Seed_Original Difficulty Name.osu

osu!taiko

True Random Off

  • Difficulty name: Randomized(Proportion of Switching Colors%)_Seed_Original Difficulty Name
  • File name: rand(Proportion of Switching Colors)_Seed_Original Difficulty Name.osu

True Random On

  • Difficulty name: TrueRandomized_Seed_Original Difficulty Name
  • File name: truerand_Seed_Original Difficulty Name.osu

osu!mania

Scatter Off

  • Difficulty name: Randomized(Proportion of Switching Columns%)_Seed_Original Difficulty Name
  • File name: rand(Proportion of Switching Columns)_Seed_Original Difficulty Name.osu

Scatter On

  • Difficulty name: Scattered(Proportion of Switching Columns%, No 1/Snap Jacks)_Seed_Original Difficulty Name
  • File name: scat(Proportion of Switching Columns,Snap)_Seed_Original Difficulty Name.osu