マニュアルに書くのが面倒だったりして埋もれてしまっているマイナーな機能があるので、雑に紹介していきます。
Windows起動するのが面倒だったのでスクショはUbuntuです…(Wineで割と快適に動く)。

チップBTオブジェクトにDDR風の色を付ける

選曲画面でBT-C(Kキー)を押すと出てくるメニューの「NOTE SKIN」を「NOTE」にすると使用できます。

どこで使うねん。DDRマットを繋いで足で踏みたい時にでもどうぞ。

プレイヤー別にハイスコアを分ける

複数人で使っている共用PCとかだったりして、数人で交代しながらプレイすると、プレイヤーごとにハイスコアを別にしたいことがあります。

そのような場合は、scoreディレクトリに新しくフォルダを作ってください。

ゲームを再起動すると、BT-B(Dキー)とBT-C(Fキー)を同時押ししながら左右矢印キーでプレイヤーが選べるようになり、ハイスコアがプレイヤー別で保存されるようになります。

左下にいつも「PLAYER」と表示されていたのは飾りではなくて選択中のプレイヤー名だった訳です。

譜面動画作成用の連番png出力をする

kshootmania.exeと同じディレクトリにあるconfig.iniを書き換えます。

メモ帳で開くと、以下のような行があると思います。

「output=」の値を1にして上書き保存するとプレイ時に連番png書き出しされるようになります。

ただし、「output_path=」の保存先のディレクトリパスは存在するものを指定してください。「c:\output\」のまま行く場合はC:の中にoutputフォルダをあらかじめ作成しておいてください。

「output_downscale=」の値を上げると画像を縮小することができます。例えば2にすると、1/2の画像サイズになります。昔はドットが荒かったので、ウィンドウサイズを上げた上でこれを使うことで、画質を上げていました。

連番PNG画像を動画にできるソフトにはVirtualDubなどがあります。
ただし、音声を別録りしないといけない、音ずれを治すのが大変、などなどの面倒さがあるので、よほどPCスペックに困っていなければ使わなくていいと思います。
Windows10からOSデフォルトでWinキー+G押せば動画が撮れるようになりましたし。

選曲画面で譜面が入っているフォルダ名を表示する

だんだんマニアックになっていきます。

config.iniを編集して、以下の行を足してください。

viewfoldername=1

すると、フォルダ名が曲名の横にカッコ書きで出るようになります。

譜面公募で同じ曲名ばっかりで困ったときとかに役立ちます(たぶん)。

エディタで使えるエフェクトの種類を追加する(ユーザー定義エフェクト)

譜面ファイル(.ksh)をメモ帳などで開いて、例えば最後の行の後に次のような行を足して保存、エディタで開くと、音の低いFlangerエフェクトが選べるようになっています。

#define_fx LoFl type=Flanger;delay=80samples;depth=60samples

そのほかLaserオブジェクトでピッチ変更など、いろんなエフェクトが追加できます(が、テキスト編集しないといけなくて割と面倒)。

詳細は昔のブログ記事をご参照ください。

[K-Shoot MANIA v1.60] ユーザー定義エフェクトの作成方法
K-Shoot MANIA v1.60以降では外部ソフトウェア(REAPER)によるエフェクト書き出しが不要になったため、譜面データの配布にはmp3ファイルと譜面ファイルのみで良くな...

よほどのこだわりがなきゃデフォルトのやつでやりくりできると思うので、個人的にはユーザー定義エフェクト不要論を唱えておきます(過激派)。

レーンの拡大(視点変更)を一瞬で変化させる

直角レーザーなどに合わせて変更する時、視点を一瞬で変化させたい場合があります。

その場合は、半角セミコロン(;)で区切って2つの値を指定すれば、その瞬間で値を変化させることができます。

例えばTOPの値に「0;100」を指定すると以下のようになります。

一瞬とは言っても本当に一瞬で変わると不自然なので、多少滑らかに変化するよう調整されています。

直角レーザーとBOTTOMの値をセミコロンで同時に変えると割と合います。

譜面内でレーンを横に移動させる(zoom_side)

「ばねエフェクト」を使うと譜面でレーンを揺らすことができます(回転を入れた上でCtrl+クリックを2回押すと入れられます)。
しかし、揺らすだけじゃなく横で固定したいことがあるかも知れません。その場合、「zoom_side=」という行を譜面内に追加することでレーンを横移動することができます(マイナスで左、プラスで右にずれる)。

例えば「zoom_side=100」にした場合、以下のようになります。

複数入れれば0→100へ徐々に変化させたりなど、レーン拡大(視点変更)と同じように使えます。

エディタで挿入できないので、どこに入れたら良いか調べるのが大変かも知れません。
その場合、例えばエディタでTOPの値を123にするレーン拡大を追加した上で、メモ帳で「zoom_top=123」を検索し、zoom_sideの値を指定する行に書き換えるなどすればスムーズです(それでも面倒臭そう)。

エディタ上で確認すること自体はできます。「編集」→「選択範囲のレーン拡大をコピー」、「貼り付け」で一応コピペもできます。が、変更はできません(v1.66a時点)。

プレイ背景を自分で用意した画像に差し替える

これは譜面ごとに可能です。

まず、譜面のフォルダに背景に使いたい画像(推奨: 720x640px, JPEG形式)を入れてください。

次に、譜面ファイル(.ksh)をメモ帳などで開き、「bg=」の行の指定をファイル名に書き換えてください。

bg=(ファイル名).jpg

すると、譜面フォルダに入れた画像が使われます。

半角セミコロン(;)で区切ってファイル名を2つ指定すると、ゲージがクリアライン(70%)を超えた場合に別の背景を出すことができます。

同じように背景アニメーションも変更できます。その場合は「layer=」の行を画像ファイル名に変更してください。
アニメーション画像の作成はimgsフォルダ内のbgフォルダにあるgifファイルを参考にしてください。アニメーションGIFとかではなく、600x480pxの画像を横に任意枚数並べたものをゲージ70%未満・70%以上の2種類縦に並べたものです(つまりnフレームの場合(600*n)x960px)。

こだわりのある譜面パッケージとかだと独自背景を使ってるようですね。

背景アニメーションの傾き方を変える・再生速度を変える

背景アニメーションを独自のものにした場合、再生速度を変えたいことがあると思います。

例えば背景アニメーションを「雪(snow)」にした場合、譜面ファイル(.ksh)をメモ帳で開くと以下のようになっています。

layer=snow/1100/1

半角スラッシュ(/)区切りになっていることがわかります。左から画像の名前(またはファイル名)、再生1周にかける時間(ミリ秒)、アニメーションの傾き方の設定となっています。

再生1周にかける時間を変えることで、スピードを変更することができます。
雪背景では1100なので、1.1秒で1周します。大きくすれば遅くなり、小さくすれば速くなります。ちなみにマイナスにすれば逆再生されます(雪が上がっていく…)。

アニメーションの傾き方の値は0〜3の値で指定します(デフォルトは3)。
0を基準に、以下の規則に従って計算してください。

・レーンの傾きと一緒にアニメーションも傾けたい場合: +1
・回転と一緒にアニメーションも回転させたい場合: +2

雪背景では1なので、アニメーションは傾くけど回転だけはしないということになります。

なんでここだけセミコロンじゃなくスラッシュ区切りにしたのかと、今でも後悔しています(このせいでここだけディレクトリの区切り文字の「/」が使えなくなった)。

判定タイミングだけじゃなく画面の表示タイミングも一緒にずらす

ゲーム内のOPTIONで変更できるのは、コントローラーなどからの入力の遅延を修正するためのものなので、判定のタイミングしか変更されないよう工夫されています。

しかし、画面にも遅延がある場合(TV画面など)やPC側の問題で音声再生が遅れるといった場合には入力タイミングだけでなく画面のタイミングも修正する必要がある場合があります。

その場合は、config.iniを編集します。

「inputdelay=」と書かれた行があるので、これを0にします。

inputdelay=0

その上で、もともと「inputdelay=」の行に書かれていた判定調整の値を「globaloffset=」の行に書いてください。

globaloffset=(もともとinputdelayに書いていた数値)

例えば「inputdelay=5」だったなら「inputdelay=0」に変更した上でglobaloffsetを「globaloffset=5」にします。
こうすることで、プレイ時に譜面のoffset(曲の再生タイミング)を変更した場合と同じように譜面をずらすことができ、結果的に画面もずれることになります。

ただし、画面とともに音声エフェクト(ロングFXで鳴るもの)のタイミングもずれるので、使う場合は以下の行を足して音声エフェクトをずらすことをオススメします。

soundfx_delay=(globaloffsetに指定したものを-1倍した数値)

例えば「globaloffset=5」にしたなら「soundfx_delay=-5」です。
こうすることで、音声エフェクトのタイミングが治ります。

ただし、ずらし幅が大きいと直角音や効果音付きチップFXオブジェクトの音のずれが気になると思います。以下の行を足せばノーツを押した/押していないに関わらず、効果音が正しいタイミングで自動的に鳴るようになります。

auto_play_se=1

これで割と快適です。
ほんとはOPTIONで変えられるようにすべきだけど、判定タイミング調整が2つあると混乱を生みそうなので入れられていません…

Windowsを使わずにLinux上でプレイしたりすると77msも音声タイミングがずれるようだったので、私は「globaloffset=77」「soundfx_delay=-77」「auto_play_se=1」にして、それとは別に判定調整を「inputdelay=4」にしています…

↓redditにこの(ひどい)仕様に気づいてる人がいた

あるフォルダ内の曲の判定タイミングを全曲ずらしたりする(conf.ini)

判定調整毎回どっちかにずれてる人っていますよね(ステマニあるある)。

songsディレクトリ内のフォルダ(「K-Shoot MANIA」とか)内に「conf.ini」というファイルを作ると、曲の判定を譜面ファイルをいじらず一括でずらしたりできます。

conf.iniの内容は、例えば以下のように書くことができます。

offset=10

これで譜面ファイルで指定されたタイミングより判定を10ms遅くずらしてくれます。

音量調整毎回でかい人っていますよね(ステマニあるある)。
conf.iniに「volume=」という行を追加すると、音量も一括調整できます。

volume=80

これで譜面ファイルで指定された音量の80%の音量になってくれます。

ところで話は変わるけど、譜面パッケージとかでスコアツイートにハッシュタグ付けて欲しかったりしますよね。
conf.iniに「tweet_option=」という行を入れると、スコアツイートにハッシュタグとかURLとかをデフォルトで後ろに付けたりもできます。

tweet_option=#SF2018

お気に入りフォルダに自由なフォルダ名を付けたい

選曲画面でSTARTボタン(Enterキー)を長押しすると、お気に入りを登録できます。ただ、デフォルトでは「Favorite1」「Favorite2」などのフォルダ名になってしまい、ジャンルとか難易度とかで分けたいときにわかりにくいです。

その場合は、songsフォルダ内に「Favorite1.fav」などがあるので、「高難易度.fav」とかに変えればフォルダ名が「高難易度」になってくれます。

ただ、お気に入りへの新規追加はゲーム内からできなくなるので、その場合は適宜ファイル名を戻すか、favファイルをメモ帳などで編集するようにしてください(面倒臭そう)。

サブフォルダ名の表示を変更したい/消したい

songsフォルダ内のフォルダ(「K-Shoot MANIA」など)の中に「foldername.csv」というファイルを作成することで、そのフォルダ内のサブフォルダの表示名を変更したり、サブフォルダの表示を消したりすることができます。

foldername.csvは以下の形式で記述します。複数行入れれば複数指定できます。

(元のサブフォルダ名),(変更後のサブフォルダ表示名)

例えば海外版Windowsは日本語ファイル名に対応していないので、フォルダ名自体は「subfolder1」とした上で、

subfolder1,サブフォルダ1

などと指定すれば海外環境でもサブフォルダ名を日本語表示できます。ただし、csvファイルの文字コードは必ずUTF-8(BOM付き)で保存してください(Excelを使って作成すると問答無用でShift-JISになるので注意)。

全サブフォルダを対象にする場合、元のサブフォルダ名には「*」を指定できます。また、変更後のサブフォルダ表示名は「""」と指定すればサブフォルダの見出しを非表示にできます。

つまり、以下のように指定すればサブフォルダ名の見出しをすべて非表示にできます。

*,""

このテクニックはSF2016でも使われているようです。
これを応用することで、All表示やお気に入りでABC順をフォルダ名変更によって乱すことなくパッケージ内での曲の順序を変えることができます(サブフォルダの実際の名前を順番の数字にし、foldername.csvを「*,""」にする、など)。

譜面のある部分だけゲージの重みを変えたい

譜面の一部だけ、ゲージが増えやすく&ゲージが減りやすくすることができます。
譜面のある部分だけ重要度が増す形になります。

chiprate=2x
longrate=2x
laserrate=2x

デフォルトは「1x」で、他に「2x」と「3x」を選ぶことができます。譜面の途中で変更することが可能です(特定のノーツに対してではなく、その行以降すべてのノーツに適用されます)。

「2x」にした場合、ゲージの増え方が2倍、減り方が1.5倍になります。
「3x」にした場合、ゲージの増え方が3倍、減り方が2倍になります。

ただしTOTAL値の自動算出にも影響するので、TOTAL値を固定していない場合は譜面全体のゲージ増減もあわせて変わります。
あくまで特定の部分だけ2倍にしたいといった場合の用途にのみ使えると思います。

もともとINPUT GATEの『-if- 扉のその向こう側へ』の譜面でオートプレイ時に背景がぴったりのタイミングで変わるようにするためのゲージ調整用に実装したのですが、ミスって配信前にkshファイルから記述が消えちゃったようでした。
同じくINPUT GATEの『Happycore☆Tightcore』のIN譜面が難しすぎるとのことで緩和のためにこっそり入れられていますが、ゲージが減りやすくもなるのであまり緩和になっていない説が…

曲名やアーティスト名に画像を使う

曲名やアーティスト名には実は画像を使うことができます。使用する場合は、譜面ファイル(.ksh)をメモ帳などで開いた上で、以下のように行を追加してください。
画像を追加しても、テキストで書かれた曲名やアーティスト名は消さないよう注意してください。

title=タイトル
title_img=(画像ファイル名).png
artist=アーティスト名
artist_img=(画像ファイル名).png

基本的に黒背景に白い文字で入れてください。色を使った場合でもグレースケールに変換された上で処理されます。

INPUT GATEの『Mou Nè Yo』を追加する際、当時譜面ファイルがUTF-8に対応していなかったため「è」を入れることができず、これを解決するために実装しました。『Mou Nè Yo』では200x50pxのJPEG形式の画像として「mouneyo_title.jpg」が入れられています。

StepMania用譜面を遊ぶ

K-Shoot Editorは地味にステマニ用譜面ファイル(.sm)を開くことができます。

「ファイル」→「開く」からファイル選択ダイアログを出し、ファイルの種類を「StepMania譜面ファイル(*.sm)」に変更すれば選択できます。

開くとどの難易度を変換するか順番に聞かれ、StepMania譜面を開くことができます。

ショートノーツはチップBT、ホールドノーツはロングFXに変換されます。
譜面停止も一応変換できますが、計算が正確でないのか、譜面停止がある譜面ではタイミングがずれることが多く、プレイできない場合が多いです。

ぜひDDRマットを繋いで足で踏みたい時にでもどうぞ(2回目)。


この投稿をシェアする