前往
大廳
主題

用自己的譜面搞玩家--太鼓次郎譜面製作教程 (基礎篇)

蒼曜 | 2021-06-26 18:00:07 | 巴幣 112 | 人氣 5214

最近想說把這幾年來用次郎製譜的心得找個地方建一下檔好了
小屋就決定是你了

雖然頻道的周更早在兩年半前就停止
但現在偶爾還是會做幾個來虐自己或其他玩家

主要想分享的其實只有後面一些奇特設計要怎麼做
但感覺連基礎部分也一併講講比較完整
那就把這定位成教程了

以下說明皆以太鼓さん次郎2 ver.0.80 以上為準
(雖然說 TJAPlayer3 也很多人在用而且其實譜面的作法是共通的,但兩者在下一篇的特殊設計方面就有很大的不同,因此以比較能做出奇特設計的次郎來說明)



一、何謂「譜面」?

節奏遊戲由兩樣東西組成:一個是音樂,另一個就是譜面
譜面」一詞由日文「譜面(ふめん)」而來,指的是節奏遊戲中讓玩家隨著特定節奏組合達成遊戲目的的要素
譜面這種東西十分自由,完全端看製作者想要呈現什麼樣的組合

但是,譜面也因此是個極度主觀的東西,每個人心中都會有所謂的好譜面與壞譜面
由於是節奏遊戲,譜面最基本且最主要的要求就是拍子要對上,如果拍子沒對上的話,不論是多麼有創意或是良好的設計都無法讓這譜面成為好的譜面

這篇接下來的部分就會說明如何製作以及調整譜面內容



二、準備

製作出一個屬於自己的譜面並且能夠讓遊玩是我們的最終目標,因此我們需要以下的東西:

1. 太鼓次郎本體遊戲本體所以當然是必要的。另外需要確保可以以日文環境執行,比如 Windows 可以用 AppLocale 之類的調整程式執行語系,具體細節我就不贅述了

2. 文字編輯器:譜面說穿了就是餵給遊戲本體的 input 檔案,因此操作方便的文字編輯器是需要的。任何的文字編輯器都可以,但要確定編輯器能夠以日文 Shift-JIS 編碼進行編輯

3. 節拍測定器:這個算非必要,只要你能得到該樂曲的 BPM 就不需要自己測

4. 音樂轉檔軟體:用來將音樂轉成 .ogg 檔,因為次郎的音樂是吃 ogg 檔的。如果你有辦法直接搞到 .ogg 形式的音樂檔的話就不需要這個

5. 一顆搞死玩家的心:非必要,看你作譜的難度習慣是定位在哪。我個人是本身就很多



三、檔案

太鼓次郎是以日文執行的,在前一節也說過譜面編碼要用日文,因此存檔的時候檔名也記得存成日文系統能辨識的文字 (比如說英文、某些中文字和日文本身)
此外,存譜面的時候副檔名要記得改成 .tja,這樣子次郎才能讀到你所做的譜面

音樂檔和譜面檔一樣,曲名也要是日文系統能辨識的文字,而且譜面檔和音樂檔必須放在次郎資料夾下的同一層裡面
個人習慣是每一首歌都創一個新資料夾,裡面就放譜面和音樂兩個檔案
當然資料夾取名規則也一樣需要讓遊戲讀取得到
會像是以下結構:

蒼の旋律                  ← 資料夾
蒼の旋律.tja   ← 譜面檔
蒼の旋律.ogg        ← 音樂檔



四、基本譜面構成

開始製作譜面前,第一步請先將文字編輯器轉至 Shift-JIS 編碼
編碼確定轉成功後,將下面的紫色淺紫色文字複製貼上到編輯器:

TITLE:
SUBTITLE:
BPM:
WAVE:
OFFSET:
DEMOSTART:
SONGVOL:
SEVOL:
STYLE:
COURSE:
LEVEL:
BALLOON:
SCOREINIT:
SCOREDIFF:
#START
#END

以上就是譜面的基本構成,其中冒號後面都是關於該譜面的設定,譜面本體則是會寫在 #START 和 #END 間

以下說明上面每一行代表的意義以及其後該填上什麼:

- TITLE:歌曲名稱,正確來說是顯示在遊戲畫面上的名稱
- SUBTITLE:歌曲副標題,顯示在名稱下方的副標題。可以省略
- BPM:歌曲速度,以 BPM 為單位
- WAVE:音源檔案名稱,填上音樂的完整檔名,記得包含副檔名 (.ogg)
- OFFSET:音樂延遲長度,以秒為單位。由於音樂可能和你譜面的第一拍有時間差,所以要用這個值來調整讓音樂對上拍子。注意這個值是設定「音樂比譜面慢幾秒出現」,所以如果發現音樂太早出現的話就把這個值加大,反之則減小。值可以帶負號且可以是小數
- DEMOSTART:音樂在選單畫面開始撥放的秒數,以秒為單位且可以是小數。可省略
- SONGVOL:音樂音量,以 % 為單位,範圍 0~100
- SEVOL:鼓聲音量,以 % 為單位,範圍 0~100
- STYLE:譜面玩家人數,填「Single」為單人,「Couple」為雙人。可省略,預設為單人
- COURSE:譜面難易度,「Easy」為梅級,「Normal」為竹級,「Hard」為松級,「Oni」為鬼級,「Edit」為製作中未定義難度者 (遊戲中會顯示為鬼級)。預設為未定義難度
- LEVEL:譜面星數,正常譜面星數坐落於 1~10 星間,當然想從10往上加也是可以
- BALLOON:譜面中出現的氣球或地瓜連打數,若有多個氣球則以「,」隔開,如譜面中沒氣球和地瓜就直接省略。填入的數字順序就會直接套用在譜面氣球和地瓜的出現順序上
- SCOREINIT:音符分數初項,不想設定的話可以省略
- SCOREDIFF:音符分數公差,不想設定的話可以省略
- #START:標記譜面開始處,和 #END 中間即為譜面本體
- #END:標記譜面結束處,和 #START 中間即為譜面本體

以上所介紹的是關於譜面的基本設定
其中深紫色部分為對整首曲子的設定,因此只需要設置一次
淺紫色部分則是針對各個難度各自的設定,而由於同一首音樂會有不同難度的譜面因此可以有複數套
數量就由你想製作的難度而定

完成了上面的設定之後就能開始在 #START 和 #END 之間加入譜面本體了

整個譜面由許多小節組成,而每個小節又由音符們組成
次郎的音符是以數字表現的,每個數字代表的音符如下:

- 0空白,沒有音符,也就是空拍
- 1紅色小音符
- 2藍色小音符
- 3紅色大音符
- 4藍色大音符
- 5黃色連打小音符
- 6黃色連打大音符
- 7氣球音符
- 8終止記號,用於表示連打音符(5、6)、氣球音符(7)和地瓜音符(9)的截止點
- 9地瓜音符

以一張圖說明的話就像這樣:

在填音符的時候,首先要先記住以下兩個要點:

- 譜面是以逗號分割小節的,也就是說兩個逗號 (及至少一個換行) 之間為一小節
- 兩個音符間的長度取決於每個小節的分割數,而分割數則是由填入一個小節的數字數而定

關於第一點,由於小節的分割看的是逗號,因此就算分行記譜也不會有問題

舉個例子,
10121010,
表達的是一個小節的譜面,就算記成
1012
1010,
兩者的意義是一樣的

要注意的是多個逗號在同一行的話只會取第一個逗號前的內容
剩下的音符都會被忽視
所以逗號和逗號之間需要間隔至少一行

關於第二點,有時壓縮或擴張記譜長度是為了特殊設計或是美觀,而分割數看的就是你的記譜長度了

舉個例子 (以下以4/4拍為例)
1111,
10101010,
1000100010001000,
都是一樣的,以比較樂理的說法就是都代表著四個四分音符

1111, 是把一個小節分成四等分,每個等分都放一個紅色音符
10101010, 則是把一個小節分成八等分,每隔一個等分才放一個紅色音符
雖然分割數不同,但由於一個小節在這裡固定是四拍,所以造成的效果會一樣

分割數的概念可說是非常重要,當你的譜面節拍開始複雜之後 (像是同小節混搭12、16、24、32分音符之類的) 就需要對一個小節進行更細的分割
一個小節裡面填的數字來到上百個都是有可能的,因為混搭的狀況下就會讓分割數變成最小公倍數從而拉長記譜
(太鼓次郎一個小節可容許的最大分割數為511,超過的話次郎會當掉)

舉個簡單的例子,一個四拍的小節我們想要讓前兩拍都是 16 分音符後兩拍都是 12 分音符
分開來看的話會是 1111 1111 以及 111 111,
但由於他們是同一個小節,必須要保持每拍所佔的分割數相同,取最小公倍數就是每拍從原本的 4 個數字3 個數字分割成 12 個數字
因此會需要分別擴張成 100100100100 100100100100 以及 100010001000 100010001000,
合起來這一小節就變成了 100100100100100100100100100010001000100010001000,


另外,關於連打音符以及氣球地瓜音符的用法,由於他們都屬於一個範圍時間內的音符,記譜時會以 5679 為開頭,中間填上 0,然後在想要截止的地方填上 8 作為結束
如果沒有設定截止點 (8) 的話則該音符會持續至遇到下一個非連打/氣球/地瓜音符
如果在 8 之前就遇到非連打/氣球/地瓜音符則會無視截止點 (8),該音符會提早結束於遇到的非連打/氣球/地瓜音符位置

範例如下:
1022101050000000,
0080201060000000,
0000000811202020,

上面的表示法中,紅色部分就是連打氣球音符的作用範圍
此外,如果要使用氣球音符 (7) 或者地瓜音符 (9) 的話,記得在譜面設定的 BALLOON 設定氣球的大小,否則會預設為 5 下



五、基本譜面指令

除了以上的設定及音符外,有時譜面還需要一些指令輔助才能完成

以下會介紹一些比較基本的指令格式及用法 (指令前的 # 不可省略,若要填數字會以表示):

- #MEASURE ○/○:設定小節拍號,以指定每個小節的拍數。第一個數字表達的是「每個小節有○拍」,而第二個數字表達的是「以○分音符為一拍」,這兩個數字都可以是小數。如果對音樂節拍沒什麼概念的話,第二個數字填上「4」就對了。通常譜面開頭就需要設定這個,而剩下的場合則是小節的拍子數改變時才會用到這個指令。預設為 4/4
- #SCROLL ○:設定譜面捲動速度,當想要讓音符移動的快或慢一些時就使用這個指令,○可以是小數,當○為 1 時則等同於原本預設的捲動速度
- #BPMCHANGE ○:設定譜面速度,單位為 BPM,○為要轉換成的 BPM。顧名思義就是當發生 BPM 改變時使用。曲子一開始的 BPM 會在基本譜面設定的 BPM 就決定了,因此開頭並不需要設置
- #DELAY ○:設定譜面延遲,單位為秒,○為要延遲的秒數。有時音樂會有些延遲或你想要因應音樂作些微調,可以利用這個指令調整譜面延遲時間。注意千萬不要填負數,因為這會和你想要的效果完全不一樣。這也表示在你想要的拍點上音樂比譜面早出現的話就無法使用這個指令了
- #GOGOSTART:設定火燒區起點,就是鼓點會有火燒特效然後分數 1.2 倍區段的起點
- #GOGOEND:設定火燒區終點,和上面是一套的,填上這指令後火燒區段就會終止

關於以上這兩個指令,如果你是想做那種會閃一下的特效,需要注意的是 #GOGOEND 和下一個 #GOGOSTART 中間至少一定要有一個音符 (包含0) 或者 #DELAY 一段時間,不然它不會被判定成新的火燒區段落

例如以下寫法:
#GOGOSTART
10101110,
#GOGOEND
#GOGOSTART
11110110,
#GOGOEND

這樣寫的話第二個小節開頭並不會有火燒區開始的特效,而是會接續第一個小節保持燃燒狀態
因為第一個 #GOGOEND 和第二個 #GOGOSTART 間沒有任何音符

如果不清楚我指的是什麼效果的話可以參考以下影片:
【太鼓次郎 創作譜面】 そつおめしき・ふる
1:25 開始的副歌整段都是火燒區,但從 1:30 可以看到擊打區會閃個幾下
我指的就是這種效果
雖然沒啥卵用,但我蠻常玩這種效果的

- #BARLINEON:開啟小節線顯示,讓小節線不會隱藏起來。譜面預設的小節線本來就會顯示,除非有用到下一個指令否則不需要設定這個
- #BARLINEOFF:關閉小節線顯示,讓小節線隱藏起來,通常在特殊設計中才會使用這個指令

以上就是基本的指令,大概 90% 以上的官方本家譜面只要利用音符再搭配上面這些指令就都能做出來



六、裏譜面

首先有個概念:

- 裏譜面和表譜面是兩個不同的譜面檔案,只有音樂是會共用的

因此,裏譜面的設置是由譜面基本設定來調整的
如果想要設置裏譜面的話,在表譜面和裏譜面基本設定部分的最上方需要加上幾行 (如紅字所示):
TITLE:
BPM:
WAVE:
OFFSET:
DEMOSTART:
SONGVOL:
SEVOL:
STYLE:
SIDE:
SIDEREV:
......

以下說明上面兩行紅字代表的意義:

- SIDE:設定該譜面檔案為表/裏譜面的哪一邊,後面以「Normal」代表表譜面,「Ex」代表裏譜面
- SIDEREV:對應的表/裏譜檔案名稱,後面填上對應檔案完整名稱。在表譜面就填裏譜面的檔案名稱,在裏譜面就填表譜面的檔案名稱。記得都要加上附檔名 .tja。

在前面有提到譜面檔和音樂檔可以放在同一個資料夾中,裏譜面也是一樣的,所以資料夾下方應該會有表譜面、裏譜面和音樂檔三個檔案
會像是以下結構:

蒼の旋律                  ← 資料夾
蒼の旋律(表).tja  ← 表譜面檔
蒼の旋律(裏).tja  ← 裏譜面檔
蒼の旋律.ogg        ← 音樂檔

裏譜面的開啟方式在次郎上是在任何譜面選曲的地方反覆按 D/C 與 K/< 各10次就能從表譜面切換成裏譜面或從裏譜面切換成表譜面,切換之後譜面顯示名稱就會改變
另外和現有本家機台的機制不太一樣,表譜面和裏譜面可以視作兩首曲目,因此製作的難度數量是可以不一樣的



七、雙打譜面

雙打的基本設定在前面有稍微提過
首先就是要把 STYLE 設定為 Couple,讓次郎知道你要執行的是雙打的部分。
接下來,下半部分的 #START 要做以下變動 (如紅字所示):
......
COURSE:
LEVEL:
BALLOON:
STYLE: Couple
SCOREINIT:
SCOREDIFF:
#START P1
......
#END
#START P2
......
#END

相信應該看的出來,其實就只是把 #START 分成兩個玩家的譜面,並在後方加 P1、P2 的標示而已
需要注意的是,畢竟兩個玩家是同一時間遊玩同一歌曲,所以製作雙打譜面時要注意小節數不要對錯並盡量讓小節數一致
在次郎上開啟雙打的方式是在譜面選曲畫面按 F5 調整玩家人數,在畫面左上角可以看到現在是單打還是雙打狀態
注意如果以單打方式進入雙打譜面的話會自動以 P1 作為譜面

我自己是不常做雙打譜面
畢竟雙倍的麻煩
通常要遇到比較適合的音樂才會試著做成雙打
而我通常都是挑具有明顯主副旋律分別的曲子來做,讓兩者譜面輪流負責不同的旋律
比如以下這個譜面:
【太鼓次郎 創作譜面】 メタナイトの逆襲



八、譜面分歧

譜面分歧算是譜面的設計,所以譜面分歧是以指令的方式寫入譜面

先了解一個概念:

- 分歧條件的判斷只到分歧當下的前一小節以前為止,分歧的前一個小節內不會被採計

我想這應該不難理解,有玩過譜面分歧譜面的話可能會注意到譜面是會提早變換而不是到了分歧的當小節才瞬間變換
因此這個預留的一小節內的音符們就不會列入分歧條件採計標準,因為在這之前後面的小節就已經決定好了分歧的難度了

以下介紹關於譜面分歧的幾個指令:

- #BRANCHSTART ,,:標記分歧起點,並設定分歧條件

中填入分歧的條件有以下三種:
- r:以累積連打數分歧,只在判定區間的黃色連打音符有作用。注意氣球和地瓜都不算
- p:以精準度分歧 (後方以%數為單位)
- s:以現時分數分歧

則分別為「普通譜面玄人譜面的分界的數字」以及「玄人譜面達人譜面的分界的數字
也就是說,在訂下某種分歧條件 () 後,在判定區間中的數字未達到 時分歧至普通譜面,超過 但未達到 時分歧至玄人譜面,超過 時則分歧至達人譜面
根據這個規則,在設定的時候,通常 的數字會小於

不過值得注意的是,一樣根據上述規則,當 為 0 時,遇到這個指令時就不會有分歧至普通譜面的情形,也就是只可能分歧至玄人譜面達人譜面;同理,當 = 時,遇到這個指令時就不會有分歧至玄人譜面的情形,也就是只可能分歧至普通譜面達人譜面

因為是以「達成某些條件」來造成譜面分歧,其實我們可以利用設置不可能出現的數字來達成譜面的強制分歧
舉個例子,我們設定以下的分歧:
#BRANCHSTART p, 0, 200
譜面只要過了這個指令後就會強制分歧玄人譜面
因為不論如何精準度一定會不低於 0% 且不可能超過 100%,所以必定越過第一個門檻而達不到第二個門檻,達到強制分歧至玄人的效果

- #SECTION:標記分歧條件判別區間的開頭,或者說是將分歧條件重置。用法為設置在 #BRANCHSTART 之前的譜面中,由此指令和 #BRANCHSTART 前一小節所夾起來的譜面就是判斷分歧的區間,在這區間的玩家遊玩狀況會被用於 #BRANCHSTART 來判斷分歧至哪個譜面。如果設置複數個的話則以越後面設置的為優先

需要注意的是如果 #SECTION 的設置本身等同於無效的話 (例如沒有設置在 #BRANCHSTART 一個小節之前以上的位置),判定區間會自動定為從譜面開頭或者上一個有效的 #SECTION 位置開始計算。

分數分歧 (s) 是看當下的分數所以跟這個指令沒什麼關係,精準度 (p) 由於是看區間內的準度因此這個指令對於精準度分歧是有效果的
而連打數分歧 (r) 則和我的認知有點不一樣,經過測試我發現它看的數字好像是譜面從頭累積的黃色連打數,所以跟這個指令也沒什麼關係

- #N:標記普通譜面,後面填上普通譜面的音符
- #E:標記玄人譜面,後面填上玄人譜面的音符
- #M:標記達人譜面,後面填上達人譜面的音符
- #BRANCHEND:標記分歧終點,分歧到此指令為止
- #LEVELHOLD:鎖定分歧難易度。經過了這個指令後,其後的所有 #BRANCHSTART 無效化。大部分人可能對這個的用途會有點陌生,只要 google 一下「十露盤2000 玄人譜面」就可以知道了

由於譜面分歧只是分歧至不同難度,時間長度在各難度中應該要是保持相同
所以在製作不同難度的譜面時,注意不同難度譜面的小節數必定要相同,否則譜面會出現意想不到的錯誤
另外,一些指令若只在單一難度中設定的話,也會有機率使譜面大亂,因此在設計譜面分歧時,各難度中的譜面指令要統一設置
(目前所知 #SCROLL 是唯一例外)

作譜的時候我們經常會使用 Q 鍵來重置譜面,但如果你正在製作的是含譜面分歧的譜面的話,我會建議至少退出曲子再重進一次
不然以我的經驗,某些在分歧時的參數不會因為譜面重頭而重置,進而造成預料外的譜面效果,會讓你誤認為自己的分歧條件設置有誤



基本上只要掌握以上的東西,任何你所能看到的官方譜面都能夠自己重置一份出來
至於一些創作譜面獨有的超出常識範圍的東西會留到下一篇

想做正常向譜面的只需要看到這裡為止
想要不當人類啦JOJO搞一些特殊的玩意可以選擇繼續閱讀下去

嘛選擇繼續往下讀的話要有點心理準備,我覺得下一篇的內容有機率看不太懂...

創作回應

ALIEX
還有其他特殊表演嗎,比方假音符或特殊的倒放音符等等?
2023-02-14 21:31:05
蒼曜
假音符個人會用類似分歧的方式去做。至於那個和倒放都在進階篇裡面會講到
2023-02-14 21:40:58
ALIEX
呃我說詳細一點好了,畢竟愚人節也快要到了(?,想說不知道要怎麼做就來這邊問,我舉例好了,就是有一個咚,他跟其他音符一樣可見,但是經過判定的時候你沒辦法打,不知道你有沒有看過那種phigros 那種表演用的假音符,
2023-02-15 12:59:45
蒼曜
這個我沒研究過
我不確定單純的次郎做不做得出來
2023-02-16 21:47:31

更多創作