130 lines
6.3 KiB
HTML
130 lines
6.3 KiB
HTML
<html>
|
|
<head>
|
|
<title>Negative BPM/Stop Tutorial by WinDEU</title>
|
|
</head>
|
|
<!-- Obtained from http://rhythmatic.net/phpBB2/viewtopic.php?p=514628#514628
|
|
Credit goes to WinDEU. -->
|
|
<body>
|
|
Hello everyone, and welcome to WinDEU's Negative BPM tutorial! Making negative
|
|
BPMs is pretty complex, so hopefully this guide will help you guys out.<br>
|
|
<br>
|
|
<span style="font-weight:bold; font-style:italic">NOTE: I am using
|
|
SM 3.95 for this tutorial. 3.9 works as well, and is probably better to use
|
|
for playback purposes. When a negative BPM hits in edit mode, 3.95 jumps very
|
|
quickly (but not instantly) to the next point in the chart, whereas 3.9 does
|
|
do it instantly.</span><br>
|
|
<br>
|
|
<span style="font-weight: bold;">What are negative BPMs? </span>
|
|
<span style="font-style: italic;">Negative BPMs are the act of "warping" to a
|
|
later place in the chart</span>, skipping multiple lines of the chart and
|
|
ignoring anything within those areas.<br>
|
|
<br>
|
|
Once you understand how negative BPMs work, it shouldn't be too hard to
|
|
figure out.<br>
|
|
<br>
|
|
So, let's start out with a screenshot.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00214.jpg" border="0">
|
|
<br>
|
|
We start off on measure 1, with a current second of 0.055, and a BPM of 150.
|
|
Take note of the current second (upper right), this is very important in
|
|
dealing with negative BPMs.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00215.jpg" border="0">
|
|
<br>
|
|
We are now on measure 2, with a BPM of -150, the exact opposite of the normal
|
|
BPM. Look at the current second again. It took 1.600 seconds to scroll 1
|
|
whole measure at 150 BPM. Right now the current second is 1.655. Also of
|
|
note, the BPM goes back to 150 starting on measure 3. Now, here's where the
|
|
magic happens.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00216.jpg" border="0"><br>
|
|
We are on measure 3, back into positive BPM territory, but take a look at the
|
|
current second again. It is 0.055 on measure 3, the same value as the current
|
|
second from measure 1. This makes sense, because it took -1.600 seconds to
|
|
scroll from measure 2 to measure 3, because the BPM was negative during that
|
|
measure.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00217.jpg" border="0"><br>
|
|
As you can see from the current second on measure 4, it is the same value as measure 2.<br>
|
|
<br>
|
|
This is how the warping happens. When the chart first reaches the negative BPM,
|
|
it will search for the next positive BPM value.
|
|
<span style="font-weight:bold; font-style:italic;">NOTE: if there is no
|
|
positive BPM after the last negative BPM, I believe that the song ends
|
|
instantly, because it has reached the highest time possible within the chart.
|
|
Once the negative BPM hits, the current second will start counting backwards
|
|
forever.</span><br>
|
|
<br>
|
|
So, once the negative BPM hits, the game attempts to find the next place in
|
|
the chart that <span style="font-weight: bold;">matches the current second of
|
|
the exact moment the negative BPM hit.</span> At measure 2, the current second
|
|
was 1.655, and from the picture above, we can see that the next place that the
|
|
current second is 1.655 would be measure 4. So, you've effectively created a
|
|
warp going from measure 2 to measure 4, skipping everything in between.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00218.jpg" border="0">
|
|
<br>
|
|
So basically, it comes down to this: When making negative BPMs, make sure that
|
|
the space between the negative BPM and the next positive BPM is
|
|
<span style="font-style: italic;">doubled</span> (assuming that you're using
|
|
the same BPM, which would be the easiest method anyway).<br>
|
|
<br>
|
|
<span style="font-size:20px; line-height:normal; font-weight: bold; font-style:italic;">Negative Stops</span>
|
|
<br><br>
|
|
Negative stops work about the same way as negative BPMs, without the mess
|
|
of having to change around the BPMs. There is a little math involved, though.<br>
|
|
<br>
|
|
Let's say that you want to do a 2-measure warp, like the negative BPM example
|
|
above. You need to simulate going backwards by two measures. Normal stops keep
|
|
the current second going, even though the chart is at a standstill. Negative
|
|
stops keep the current second going as well, only backwards.<br>
|
|
<br>
|
|
First, find the time it would take to progress two measures. You can do this
|
|
by either checking the current second, going down two measures, check the
|
|
current second again, and take the difference. Or, you can calculate it like this:<br>
|
|
<br>
|
|
<code>60/[BPM] = [quarter note value, in seconds]</code><br>
|
|
<code>[quarter note] x 8 = [2 measures, in seconds]</code><br>
|
|
<br>
|
|
So that translates to:<br>
|
|
<br>
|
|
<code>60/150 = 0.400</code><br>
|
|
0.400 x 8 = 3.200 seconds = two measures<br>
|
|
<br>
|
|
Now that we've got that out of the way, it's time to make the negative stop.
|
|
You might have noticed something though. StepMania doesn't let you input
|
|
negative stops. F9 to decrease the stop values in edit mode doesn't let you
|
|
go below 0.00, and adding a negative stop through Add Stop from the menu
|
|
doesn't work either.<br>
|
|
<br>
|
|
Unfortunately, you'll have to manually insert the negative stop into the .sm
|
|
file. <span style="font-weight:bold; font-style:italic;">NOTE: Before you
|
|
manually insert any negative stops, make sure to save your chart, otherwise
|
|
any unsaved data will be lost!</span><br>
|
|
<br>
|
|
This time, take note of the <span style="font-weight: bold;">current beat</span>
|
|
(again, upper right). Now, open up the .sm file and look for the #STOPS tag.
|
|
If you want to add a -3.200 long stop in at measure 2, it will look like this:<br>
|
|
<br>
|
|
<code>#STOPS:4.000=-3.200;</code><br>
|
|
<br>
|
|
After you're done, save the .sm, and go back to StepMania (which should still
|
|
be open). Press ESC, and go to the menu option "Revert From Disk." It will
|
|
warn you that any unsaved changes will be lost (which is why I gave the warning
|
|
before explaining all of this). Choose yes, and you should see the negative
|
|
stop value appear on measure 2.<br>
|
|
<br>
|
|
<img src="./negbpmtut/screen00221.jpg" border="0"><br>
|
|
<br>
|
|
If you scroll to measure 2, and then to measure 4, you will see that the
|
|
current second values are the same, meaning that you've successfully created
|
|
a warp with negative stops!<br>
|
|
<br>
|
|
<span style="font-weight:bold; font-style:italic;">NOTE: Using a lot of
|
|
negative stops in a short period of time tends to lag ITG machines a lot,
|
|
so be wary of this.</span><br>
|
|
<br>
|
|
That covers the basics of negative BPMs and negative stops. Hopefully this guide helps!
|
|
</body>
|
|
</html> |