WinDEU's Marathon Making Guide (WIP)

Answering all questions about r21freak and r21/ITG.
Feel free to ask questions/add information.

Moderator: Admins

WinDEU's Marathon Making Guide (WIP)

Postby WinDEU on Fri Jul 27, 2012 1:18 am

I've thrown a few guides around on youtube as well as a few other sites, but I really want to make a "be all end all" guide to things. Much more to come as I write out all the parts, as well as picture examples so that this isn't just a giant wall of text. P.S. Does anyone know how to make a functional table of contents that go to the actual sections when clicked on? (for example, the two sticked topics in this forum)



TABLE OF CONTENTS

I - What is a marathon? Why make one?
II - Setting up your marathon
III - Breakdown of a #MODS line
IV - Glossary of mods (Coming soon!)
V - General marathon advice: Do's and Don'ts, Tips and Tricks (Coming soon!)
VI - Advanced mod combos (Coming soon!)
VII - Troubleshooting (Coming soon!)



I - What is a marathon? Why make one?

A marathon is a fixed set of songs (usually 4), played in sequence without breaks in between. The main feature of a marathon is the ability to have dynamic modifier changes throughout the songs. This means the following:
- You have the entire ITG2 modifier bank at your disposal at any time.
- You have the ability to turn on and off any of these modifiers at any time, at any rate (with a few exceptions).
- You have the ability to use any percentage you wish with any of these modifiers (with a few exceptions).

Combining the above statements, marathon scripting has practically infinite potential and you are allowed a very large amount of freedom with it. That being said, it is also a lot of work; considerably moreso than making a simfile. Adding to this, work on a course is done in a plain text editor such as Notepad, Notepad++, and so on. I highly recommend the following to make life easier, should you choose to try your hand at course making:
- Make your courses with Stepmania open in Edit Mode, just as you would a normal simfile. As you work on your course in the text editor (Alt+Tab makes work flow a breeze), your most recently saved changes will reflect what it looks like in Stepmania. To see the list of courses available with the currently selected simfile in Edit Mode, press "c". A menu will pop up called "Play Mods From Course". Toggle through until you find the name of the course you are currently working on. You do not need to close Stepmania or Reload Songs/Courses every time you make a change.
- Format your course in such a way so that it is easily readable by you. This can mean several things, such as making comment lines (by putting "//" in the beginning) by a section of mods to remind you of what their purpose is. Personally I seldom use comments, but I do separate my mod lines into sections, as well as trying to keep them in chronological order. If I have one particular modifier that persists throughout the entire song but turns on and off according to a sound in the song that it follows (for example, Beat going with the bass kicks in a song), I try to keep all of those at the very top and in its own section. Formatting is important because these files can get very large very fast, depending on what you want to do with the course.






II - Setting up your marathon

Now that you know what a marathon is, how do you set one up? First, you need to create a CRS file. This extension lets Stepmania know that the text file is a course. Next, you want to set up the basics. Here is a sample course file that you can copy and change to suit your needs:
Code: Select all
#COURSE:Sample;
#METER:Regular:8;
#METER:Difficult:10;

#MODS:TIME=0.000:END=10.000:MODS=*2 50% Drunk;
#MODS:TIME=0.000:LEN=10.000:MODS=*2 50% Drunk;

#SONG:My Songs/Song 1:HARD:;

//////////////////////////   END SONG 1   //////////////////////////
//////////////////////////  BEGIN SONG 2 //////////////////////////

#MODS:TIME=0.000:END=10.000:MODS=*2 50% Tipsy;
#MODS:TIME=0.000:LEN=10.000:MODS=*2 50% Tipsy;

#SONG:My Songs/Song 2:HARD:nodifficult;

//////////////////////////   END SONG 2   //////////////////////////
//////////////////////////  BEGIN SONG 3 //////////////////////////

#MODS:TIME=0.000:END=10.000:MODS=*2 50% Mini;
#MODS:TIME=0.000:LEN=10.000:MODS=*2 50% Mini;

#SONG:My Songs/Song 3:EXPERT:;

//////////////////////////   END SONG 3   //////////////////////////
//////////////////////////  BEGIN SONG 4 //////////////////////////

#MODS:TIME=0.000:END=10.000:MODS=*2 50% Beat;
#MODS:TIME=0.000:LEN=10.000:MODS=*2 50% Beat;

#SONG:My Songs/Song 4:EXPERT:noshowcourse;

Now, let's break this course file down, starting with the first three lines:
Code: Select all
#COURSE:Sample;
#METER:Regular:8;
#METER:Difficult:10;

The #COURSE tag specifies the name of the course. The name of this course in particular is "Sample".

The two #METER tags indicate the number specified for each difficulty. Regular = Normal and Difficult = Intense. If no number is specified, the game will take the average difficulty from the charts in the course. Now, let's take a look at the lines with the #SONG tag:
Code: Select all
#SONG:My Songs/Song 1:HARD:;
#SONG:My Songs/Song 2:HARD:nodifficult;
#SONG:Song 3:EXPERT:;
#SONG:My Songs/Song 4:EXPERT:noshowcourse;

The first thing you want to put in a #SONG line is the directory of the simfile. Specifying the song group isn't necessary, but extremely recommended. If your Stepmania has more than one simfile of the same name, the course will pick the one from the earliest alphabetically ordered song group folder.

Here we have 4 different song lines, each demonstrating something that can be done to each song to specify how the course looks and plays.

The first #SONG tag is standard stuff. The simfile is specified as follows: "My Songs" is the song group folder, and "Song 1" is the name of the simfile. Since "HARD" is the specified difficulty, it will use the Hard chart for the course's Normal difficulty, and the Expert chart for the course's Intense difficulty.

The second #SONG tag will use the Hard chart for both the course's Normal and Intense difficulties, due to the "nodifficult" mod placed at the end. This is only necessary if the simfile has an existing chart for the next difficulty up that you don't want to use, otherwise the "nodifficult" mod isn't necessary.

The third #SONG tag doesn't specify the song group directory. As mentioned above, the song group folder isn't mandatory, but recommended so that you're guaranteed to pull the correct simfile. Also, the difficulty specified is "EXPERT", meaning that both of the course's difficulties will use the Expert chart.

The fourth and final #SONG tag uses the Expert chart for both difficulties, like the third #SONG tag. However, the "noshowcourse" mod is applied, meaning that the title of the song will be masked as "???????????????" instead of showing the actual title.

Make sure that the difficulties specified for each song exist, otherwise the simfiles will not show up in the course.






III - Breakdown of a #MODS line

Here are a few examples of what typical #MODS lines can look like in a course file:
Code: Select all
#MODS:TIME=0.000:END=10.000:MODS=*2 150% Drunk;

Code: Select all
#MODS:TIME=5.000:LEN=10.000:MODS=*2 150% Drunk;

Code: Select all
#MODS:
TIME=5.000:LEN=10.000:MODS=*2 150% Drunk:
TIME=20.000:LEN=10.000:MODS=*2 150% Drunk:
TIME=35.000:LEN=10.000:MODS=*2 150% Drunk;

Let's break this down into parts. The #MODS tag lets Stepmania know that this part of the file is composed of modifier attacks. You can format this in one of two ways: Like the first two examples, you can put the #MODS tag at the beginning of each line and end each one with a semicolon, or like the third example, you can use one #MODS tag in the beginning and end each line with a colon (except the final line for the song in which you need a semicolon).

Now, aside from the #MODS tag, what does this line translate to?
TIME: This tells the game when to activate the attack.
END: This tells the game when to stop the attack.
LEN: This tells the game how long to sustain the attack.

With the above three parameters, you will be referencing the Current Second in edit mode, located at the top right of the screen.
END and LEN are interchangeable, and one isn't necessarily better than the other to use. I recommend using them under certain circumstances, to make copy-paste jobs easier. If you have a bunch of repeating, rapid-fire mods that do the same thing, then LEN is your best option. Take the following two pieces of code for example:
Code: Select all
#MODS:TIME=0.000:END=1.000:MODS=Drunk;
#MODS:TIME=2.000:END=3.000:MODS=Drunk;
#MODS:TIME=4.000:END=5.000:MODS=Drunk;
#MODS:TIME=6.000:END=7.000:MODS=Drunk;
#MODS:TIME=8.000:END=9.000:MODS=Drunk;

If you choose to copy these lines for a different part of the song, you will have to change both the TIME value and the END value. Plus, you risk a crash if you wind up missing an END value or mis-typing a value to be earlier than the TIME value. Now, here is another version of the code that does the exact same thing with its current values:
Code: Select all
#MODS:TIME=0.000:LEN=1.000:MODS=Drunk;
#MODS:TIME=2.000:LEN=1.000:MODS=Drunk;
#MODS:TIME=4.000:LEN=1.000:MODS=Drunk;
#MODS:TIME=6.000:LEN=1.000:MODS=Drunk;
#MODS:TIME=8.000:LEN=1.000:MODS=Drunk;

Because of the usage of LEN here, you can copy these lines for use in another part of the song later on without having to change the LEN values. All you have to worry about is the TIME value.

Finally, we get to the most important part of the line: the MODS parameter. There are several things to know about this parameter. For each mod you enter, there are optional arguments that can be used. The following two lines of code do the exact same thing:
Code: Select all
#MODS:TIME=0.000:END=10.000:MODS=Drunk;
#MODS:TIME=0.000:END=10.000:MODS=*1 100% Drunk;

By default, mods activate and deactivate at a rate of 100% per second. The number after the asterisk determines the rate of the attack. *2 will make it activate twice as fast (a rate of 200% per second), while *0.5 will make it activate half as fast (a rate of 50% per second). The next argument is the percentage of the mod. Once this percentage is reached, it will sustain that amount until the time of the attack expires or it is overwritten by another mod. By default, all modifiers have a starting percentage of 0%. Negative percentages are also valid (except in 3.9, where any negative percentage converts to +100%). If you want to have multiple modifiers on the same line, simply separate each one by a comma.
Code: Select all
#MODS:TIME=0.000:END=10.000:MODS=*4 Drunk,*4 Tipsy;

As mentioned above, modifiers deactivate at a rate of 100% per second. If you want to change this rate of deactivation, simply put "No" in front of the mod you wish to deactivate. Here is an example:
Code: Select all
#MODS:TIME=0.000:END=1.000:MODS=*20 200% Drunk;
#MODS:TIME=1.000:END=2.000:MODS=*20 No Drunk;

Drunk will deactivate at a rate of 2000% per second at the one second mark.

Another thing to keep in mind is overlapping attack times. If two #MODS lines' times overlap, the lower line will take precedence. This is very useful information to keep in mind when trying to cut down on the amount of lines used. The following two pieces of code will do the exact same thing:
Code: Select all
#MODS:TIME=0.000:END=1.000:MODS=*20 No Drunk;
#MODS:TIME=0.000:END=1.000:MODS=*20 200% Drunk;
#MODS:TIME=1.000:END=2.000:MODS=*20 No Drunk;
#MODS:TIME=2.000:END=3.000:MODS=*20 200% Drunk;
#MODS:TIME=3.000:END=4.000:MODS=*20 No Drunk;
#MODS:TIME=4.000:END=5.000:MODS=*20 200% Drunk;
#MODS:TIME=5.000:END=6.000:MODS=*20 No Drunk;
#MODS:TIME=6.000:END=7.000:MODS=*20 200% Drunk;
#MODS:TIME=7.000:END=8.000:MODS=*20 No Drunk;
#MODS:TIME=8.000:END=9.000:MODS=*20 200% Drunk;
#MODS:TIME=9.000:END=10.000:MODS=*20 No Drunk;

Code: Select all
#MODS:TIME=0.000:END=10.000:MODS=*20 No Drunk;
#MODS:TIME=0.000:LEN=1.000:MODS=*20 200% Drunk;
#MODS:TIME=2.000:LEN=1.000:MODS=*20 200% Drunk;
#MODS:TIME=4.000:LEN=1.000:MODS=*20 200% Drunk;
#MODS:TIME=6.000:LEN=1.000:MODS=*20 200% Drunk;
#MODS:TIME=8.000:LEN=1.000:MODS=*20 200% Drunk;

In the first example, we see that there is no overlap involved. Drunk turns on and off every second, but the code looks kind of messy and bloated. Eleven lines are used in the first example.

In the second example, the first line acts as a blanket for the rest of the lines below because it lasts for 10 seconds. While the five activation lines below are being overlapped by the No Drunk line at the top, they still take precedence because they are lower in the code. So, the first line will activate at second 0.000, and when it is finished at second 1.000, the No Drunk line will take over. This repeats for the next four iterations of Drunk activation, and as a bonus, the top line ensures that Drunk will turn off completely before its time expires. The second example uses only six lines.
Image
Side A progress: 10%
Side B progress: 15%
Previous packs
Arrows Are Magic: Volume 1
Sick Wubs

=Mungyodance Double pack=
Charts: 33/263
WinDEU
40%
40%
 
Posts: 243
Joined: Tue Dec 09, 2008 7:18 pm

Re: WinDEU's Marathon Making Guide (WIP)

Postby SM MaxX on Fri Jul 27, 2012 1:37 am

I have a guide on SM as well. It might be a bit old (read incorrect at times) but if there's stuff you want to use on it go ahead.
Yoshi is better than Mario and you know it's true.
Image
Image
It's gonna suck. -Nobody
User avatar
SM MaxX
100%
100%
 
Posts: 2705
Joined: Fri Mar 25, 2011 12:03 am
Location: Phoenix, AZ

Re: WinDEU's Marathon Making Guide (WIP)

Postby Jayce on Sat Jul 28, 2012 3:31 am

aww what the shit I just added all this stuff :(
Image >>Image <<
Image Fanart Shop
Image Simfile Archive
Image Youtube Channel


whatever man enjoy my shit -- ServerOfTheAlter is a cum drinking slutbag -- SteveREEN is a stupid faggot bitch --
User avatar
Jayce
80%
80%
 
Posts: 1406
Joined: Wed Mar 11, 2009 2:33 am


Return to FAQ and Guides

Who is online

Users browsing this forum: No registered users and 1 guest