» Welcome, guest.
[ Log In :: Register ]

Pages: (2) < [1] 2 >

[ Track this topic :: Email this topic :: Print this topic ]

Topic: KSF Guide Redux< Next Oldest | Next Newest >
16:51 CST :: 6/29/2006

Wolfman2000
Owner of Pump Pro Edits

Profile PM WEB AOL 

Group: PH Contributors
Location:
Joined: Sep. 2004
Total Posts: 234


I'm working in cooperation with Turkeyslam to attempt to clean up and simplify the current guide on the KSF format and how it relates to Stepmania.  The first draft of this guide is available on my Store and Serve space.  Please read, comment, critique, and help advise on how to make this guide one of the best ones it can be to improve Pump support in Stepmania.

The old guide, for those curious, is available here.


Edited by Wolfman2000 on 16:53 CST :: 6/29/2006

--------------
Visit Pump Pro Edits today!

17:07 CST :: 6/29/2006

TougaKiryuu
>< I'm thirsty

Profile PM 

Group: PH Members
Location:
Joined: May 2006
Total Posts: 156


can you upload it somewhere else, because I really don't wanna register for there and I can't get a freebie download otherwise because they like to not provide links  :smackhead:

--------------
C44 is really LOVE IS ZONE:  "NONE OF THIS WILL EVER END"

17:15 CST :: 6/29/2006

Wolfman2000
Owner of Pump Pro Edits

Profile PM WEB AOL 

Group: PH Contributors
Location:
Joined: Sep. 2004
Total Posts: 234


New spot to upload?  I'll see if I can fit it all in this post...

--------------------------------------------------

I can, but this version is technically outdated. :P

--------------------------------------------------

Alright: it fits.


Edited by Wolfman2000 on 17:40 CST :: 6/29/2006

--------------
Visit Pump Pro Edits today!

17:18 CST :: 6/29/2006

Turkeyslam
PH Webmaster

Profile PM WEB 

Group: PH Administrators
Location: Kenner, LA
Joined: Sep. 2003
Total Posts: 15795


Quote (Wolfman2000 @ 18:15 CST :: 6/29/2006)
New spot to upload?  I'll see if I can fit it all in this post...

--------------------------------------------------

KSF For Dummies: Redux!

This guide will attempt to document everything required to convert KSF files to SM files without a problem...and maybe even write KSF files out as well.

KSF files are the simfiles used in PIU simulators.  The two major simulators players turn to are Kick It Up (KIU) and Direct Move (DM).  They behave similarly in most regards except for Tickcounts and BPM changes, which will be documented later.  Unless otherwise said, assume that this guide is for those that have KIU-compliant files.

KSF files are designed to be minimalistic.  Each file contains required headers, occasionally some optional headers, and the steps for _one_ difficulty.  The headers are defined below, along with a basic example:

#TITLE:Banya - Love is a Danger Zone [Crazy];

SM's #ARTIST and #TITLE tags are combined into one: there is no concept of #SUBTITLE.  The only thing required is the song name; Artist and difficulty is optional, but recommended whenever possible.

#BPM:140;

BPM is simply the BPM of the music.  This is relatively self explanitory, and a required tag.

#DIFFICULTY:10;

The difficulty is an optional parameter.  It's used to rate how hard the song is.  In KIU, it can only go up to 11; I'm unsure if DM has this restriction.

#TICKCOUNT:4;

The tick count, another required tag, defines the types of notes allowed for the duration of the song.  1 allows only quarter notes; 2 4ths and 8ths; 3 4ths and 12ths; 4 4ths, 8ths, and 16ths; 6 4ths, 8ths, and 12ths.  Other tickcounts are allowed, but going beyond these does not work in KIU.  DM can change the tick count midsong; this is to be documented later.  Also of interest: the tick count directly affects how holds are affected (again, more later).

#STARTTIME:68;

It's not exactly the gap, but the purpose is the same.  The music starts up right away upon getting past the full screen title card.  The start time, which is measured in centiseconds, defines how long to wait before the steps start.  If the steps start late, decrease the start time, and vice~versa.  Note that with most KSFs, the start time is designed to be worked with PIU simulators, not Stepmania; manual adjusting might be required.

#STEP:

Nothing follows to the right of the Step tag.  Immediately below that, though, the steps begin.  The step notation will be described shortly.


No more headers can be placed after #STEP (DM exceptions, see later).


The Step Format:


The tick count defines how many rows per measure.  As said before, a tick count of 1 only allows quarter notes, and thus you get 4 * 1 rows in one measure.  Most songs use a tick count of 4, or 16 rows per measure.

Each row has exactly 13 numbers in it.  The first five are always in play: they represent the 5 arrows on the left side of the PIU pad in order of down-left, up-left, center, up-right, and downright.  The next 5 numbers are used either in double or couple modes of play: they are ignored otherwise.  The last three deal with the lighting system in the arcades: it's alright to leave these alone.


The only numbers used in these rows are 0, 1, 2, and 4.  0 is nothing, and 1 is a tap.  A row of 2s signifies the end of the step file, and the music cuts off.  A column of 4s is a PIU hold note.

Hold notes in PIU have the following behavior.  The first 4 is the equivalent of the head. The remaining 4s form the rest of the hold.  As soon as the last 4 is passed, the hold ends.  A judgement is given when you step on the first 4, and then while you are holding the hold, a judgement and combo increase is given for every 4 you successfully hold.  Letting go starts a chain of misses for each 4 passed up until you get on it again.  The tick count comes into play here: the higher the tick count, the more judgements accumulate quickly.  This means holding onto a hold with a high tick count can regain life quickly, while not being on it can suck it dry just as fast.  

Currently in SM, the only types of holds available are the traditional DDR style holds, and the ITG rolls which are DDR holds that must continuously be activated.  A new notetype can be added to allow the possibility of PIU style holds: that is a topic for another day however.



For the most part, this information is enough to get most people started on PIU simming, and for SM converting.  Unfortunately, this doesn't cover the concept of BPM changes.  First, some general information would be of use.  There are two ways to do so, depending on which simulator one wishes to use the ksfs on.  Regardless of how it's done, all BPM information is stored within the individual KSF file itself!  This means one chart for a song can have no changes, while a second one could put in a slow down or speed up if wanted.  PIU Exceed Home Version and PIU Zero Arcade take advantage of this by allowing two people to play the same song and have different BPM effects.  A famous example would be the song Phantom: on Normal and Hard, the song stays consistent the whole way; on Crazy, there is a slowdown about 1/4 of the way in that can be disorienting to those that play on high speed mods; on Nightmare, different parts of the song basically get "jittery" during the game.  Since SM ties BPM syncing to the whole song and not the individual difficulty, however, this presents a problem for those that would play 2 KSFs (or 2 of any other sim file that relies on this method) that aren't the same "sync".  One chart would appear, but the other one wouldn't.  It is mostly this behavior that needs addressing.

KIU's method of changing BPMs will be discussed first; then DM.


KIU:

KIU simulates the older versions of Pump in terms of how to handle BPM changes, mostly Premiere 1 and below.  It relies on what is called #BUNKI.  In simple terms, #BUNKI is the exact centisecond where the song changes the BPM.

To change BPMs, extra tags are required in the header.

#BPM2:280;

BPM2 is what the second BPM change will be.

#BUNKI:8295;

BUNKI is the centisecond that BPM2 activates.  To easily find the Bunki, use either an MP3 analysis tool like Goldwave or Audacity to find the exact centisecond you want the chart to activate BPM2.

#STARTTIME2:4181;

STARTTIME2 is something that really seems unnecessary, but is required for reasons only Andamiro knows (an employee of his actually wrote the original KSF format).

Instead of boring you guys with the technical information on how there can be other start times, I'll just show the formula required to get the proper STARTTIME2.  Assuming proper tags:

BPM * (BUNKI - STARTTIME) = BPM2 * (BUNKI - STARTTIME2)

There are limitations, unfortunately.  If STARTTIME2 ends up negative, then the change won't be recognized by KSF, and thus it can't be used.  If you want another BPM change, just use BPM3, BUNKI2, and STARTTIME3 for the 2nd change, but going beyond that is illegal.

For the most part, that is the simple way of how to handle BPM changes under KIU.


DM:

DM attempts to emulate the PIU games from Prex 3 and beyond.  It's based on Andamiro's .stx format, which is a .ksf file that allows for changing tick counts and more (plus simpler) BPM changes.

Instead of defining everything at the header, the changes go right behind the notes that activate the change itself!

Changing the tick count is done the same way as the header does it: #TICKCOUNT:#; does the trick.  Changing the BPM is done in the following format: |B###|, where ### is the BPM.  Both the BPM and tick count can be changed at the same time.  More than 2 changes of each kind can take place, which means that if one wanted to do a KSF of the original Healing Vision from DDR, one could do so and not be limited to only 2 changes at max that might not even work.



For those wondering how files are named in the KSF system, I will explain it now.  All song files must be called song.mp3.  To have a demo loop, intro.mp3 is used.  I'm unsure how to translate that directly to SM's demo tag.  A Disc.bmp image is used as the image for selecting a song, simulating the banner.  Title.png, which is normally used as a title card in between choosing the song and playing the song, can be used as the background if no movies are present.  I don't recall what the movie file is to be called for the ksf format, but it's just one file that's played, and the movie is NOT sent back to the background upon the last step.

The step files are limited to the following: Stepmania/DDR "equivalents" are listed alongside.

Easy_1.ksf - single standard
Easy_2.ksf - couple standard
Hard_1.ksf - single heavy
Hard_2.ksf - couple heavy
Crazy_1.ksf - single oni
Crazy_2.ksf - couple oni
Double.ksf - double heavy
CrazyDouble.ksf - double oni
HalfDouble.ksf - no real equivalent; double standard if required


That is basically all one needs to know about converting KSF to SM and back again.

--------------------------------------------------

Alright: it fits.

For the future, you can attach these files right along with the post itself. With clicking "add reply", there's an option for file attachments.

17:35 CST :: 6/29/2006

TougaKiryuu
>< I'm thirsty

Profile PM 

Group: PH Members
Location:
Joined: May 2006
Total Posts: 156


good documentation, as for when we convert this over to the sm format, I believe it'd be best to make #BPM tags seperate for each step difficulty as well as impliment #TICK but make that individual to the stepchart as well, for example:

I'll use an anime mix tag for example:
#TITLE:Canon-D;
#SUBTITLE:part of the memories #1;
#ARTIST:Banya;
#TITLETRANSLIT:;
#TICK:4;
#SUBTITLETRANSLIT:;
#ARTISTTRANSLIT:;
#CREDIT:;
#BANNER:canond.png;
#BACKGROUND:start.JPG;
#LYRICSPATH:;
#CDTITLE:;
#MUSIC:canon.mp3;
#OFFSET:-0.160;
#SAMPLESTART:60.000;
#SAMPLELENGTH:12.000;
#SELECTABLE:YES;
#DISPLAYBPM:160.000;
#BGCHANGES:0.000=canond.mpg=1.000=1=1=0,
528.000=ex2_123.JPG=1.000=1=0=0,
536.000=start.JPG=1.000=1=0=1,
99999=-nosongbg-=1.000=0=0=0 // don't automatically add -songbackground-
;

//---------------dance-single - T. Kiryuu----------------
#NOTES:
    dance-single:
    T. Kiryuu:
    Challenge:
    18:
    #BPMS:0.000=160.160,
    412.500=320.280,
    413.000=430.278,413.500=540.277,
    414.000=660.556,422.000=160.142,422.500=160.141;
    #STOPS:422.000=0.300;
    0.963,1.000,0.313,0.298,1.000:  
    #TICKS:412.500=2,422.500=4;

// measure 1
0000


the way this works is #TICK is read like in KSF but only applies during the duration of a freeze arrow.


--------------
C44 is really LOVE IS ZONE:  "NONE OF THIS WILL EVER END"

17:35 CST :: 6/29/2006

Wolfman2000
Owner of Pump Pro Edits

Profile PM WEB AOL 

Group: PH Contributors
Location:
Joined: Sep. 2004
Total Posts: 234


Alright, here is an updated version that covers what was said in IRC.  Please use this topic from here on for comments and critiques, and quote the relevant passages as well if possible.


[edit]I'm going to have to advise you change the way stops, bpm changes, and ticks are done.  Technically, a semi colon should end the steps in the SM format.

Any chance they can edit with a colon?


Edited by Wolfman2000 on 17:40 CST :: 6/29/2006

Download attachment [ PH File Download ]
File size: 0KB
Number of downloads: 791

--------------
Visit Pump Pro Edits today!

01:05 CST :: 6/30/2006

valius
Stormy Pumper

Profile PM WEB ICQ AOL MSN 

Group: PH Administrators
Location: Hayward, CA
Joined: Mar. 2004
Total Posts: 3712


Pinned for relevance and the INCREDIBLE usefulness of all this information with regards to future stepfiles.

--------------


Like Pump It Up? ?Join the PIU community in Northern California, the NorCal World Order!

13:12 CST :: 6/30/2006

AJ 187
that sm-ssc guy

Profile PM WEB 

Group: PH Administrators
Location: Chicago
Joined: April 2005
Total Posts: 550


Personally, I would shift the difficulties down one:

Easy_1.ksf - single light
Easy_2.ksf - couple light
Hard_1.ksf - single standard
Hard_2.ksf - couple standard
Crazy_1.ksf - single heavy
Crazy_2.ksf - couple heavy
Double.ksf - double standard
CrazyDouble.ksf - double heavy

But then there'd be a problem for HalfDouble.

Also, "is required for reasons only Andamiro knows (an employee of his actually wrote the original KSF format)".
I'd change "his" to "theirs" there.


--------------
sm-ssc: making StepMania better for the rest of us

15:27 CST :: 6/30/2006

Wolfman2000
Owner of Pump Pro Edits

Profile PM WEB AOL 

Group: PH Contributors
Location:
Joined: Sep. 2004
Total Posts: 234


Updated with AJ's suggestions, plus a finding of my own thanks to an Exceed 2 play session.  Can DM support BPM stops?

Download attachment [ PH File Download ]
File size: 0KB
Number of downloads: 765

--------------
Visit Pump Pro Edits today!

16:39 CST :: 6/30/2006

Wolfman2000
Owner of Pump Pro Edits

Profile PM WEB AOL 

Group: PH Contributors
Location:
Joined: Sep. 2004
Total Posts: 234


Double posting to add a new attachment...there needs to be a way to edit such things out.

Info on DM's tempo stop formula has been found, along with what seems to be another way of changing the tickcount.


Download attachment [ PH File Download ]
File size: 0KB
Number of downloads: 778

--------------
Visit Pump Pro Edits today!

12 replies since 16:51 CST :: 6/29/2006 < Next Oldest | Next Newest >

[ Track this topic :: Email this topic :: Print this topic ]

Pages: (2) < [1] 2 >

Quick Reply: KSF Guide Redux
Guest

Do you wish to enable your signature for this post?
Do you wish to enable emoticons for this post?
Track this topic

Emoticons :: iB Code
For more options such as extra emoticons and file uploads, use the "add reply" button instead of Quick Reply...