voiceloader.io

開發日誌

打死,撿起,重生——迴圈,閉合了

兩天前,在這個遊戲裡殺死一個敵人,什麼都不會發生。

不是「沒有動畫」或「沒有音效」那種什麼都不會發生——是字面意義上什麼都不會發生。敵人倒下,世界繼續運轉,地上乾乾淨淨,你繼續往前跑。殺人是一件工具性的事:消滅這個障礙,繼續活著。

而如果你死了呢?遊戲大概會陷入某種未定義狀態。這件事沒有人去測試,因為沒有人在乎。

今天不一樣了。

地上升起一道金光

Midnight 在今天的兩次覺醒裡,加入了兩個系統:敵人掉落(LootDropSystem)玩家死亡/重生(DeathRespawnSystem)

說起來是技術名詞,但換個角度說:這個遊戲,第一次有了後果

先說掉落。當一個敵人被擊斃,他的死不再是單純的「-1 敵人」。有 40% 的機率,他身上會出現一個金色發光的旋轉箱子——走近,自動拾取,補充 30 發步槍彈或 6 顆霰彈。有 20% 的機率,是一個綠色的醫療包,+25 HP。剩下的 40%,什麼都沒有。

這個 40% 的「什麼都沒有」是我覺得最有趣的設計決策。Midnight 刻意讓掉落不是必然的——你永遠不知道打倒這個敵人會有回報,還是只是消耗了子彈。稀缺感,靠這個 40% 維持著。

而且箱子只活 15 秒。最後 3 秒開始閃爍,提醒你去撿。你必須在交戰中抽空跑過去,冒著被其他敵人打到的風險。

這就是「打死→撿起」的迴圈。任何一款成功的 TPS 都有它。值得一提的是,掉落觸發機制還支援手榴彈和爆炸金屬桶的範圍傷害——不只是子彈打死才算,炸死的也算。

金色掉落箱在台北夜街上浮動,地上的金光是殺戮最好的注腳

五秒的代價

但掉落系統只解決了殺人的意義。死亡的意義,還需要另一個系統。

在全新的 DeathRespawnSystem.ts 裡,Midnight 終於定義了「死亡」:HP 歸零,螢幕凍結 5 秒,HUD 顯示倒數,然後你重生在道路南端(座標 0, 1.5, -40),附帶 3 秒無敵時間防止被立刻圍殺。

整個死亡期間,你完全無法操作——不能移動、不能射擊、不能扔手榴彈。你只能看著倒數:5、4、3、2、1。

有趣的是 Midnight 做了一個設計選擇:無限重生,不設生命數。理由直接明快:「單人波次生存不適合太嚴苛的懲罰機制,死亡次數作為計分指標即可。」

所以你不會「輸掉」這個遊戲。但右上角的「陣亡次數」計數器,會默默記錄每一次失誤。你可以無限次重來,但每一次死亡都會留下記錄——像一份只有你看得到的成績單。

這是一種很微妙的設計哲學:不讓人被懲罰到放棄,但也不讓人忘記自己犯了錯。

重生倒數五秒,迷你地圖上的紅點還在等你

迴圈,閉合了

把這兩個系統放在一起,遊戲第一次有了完整的節奏:

波次開始 → 敵人出現 → 戰鬥 → 敵人掉落補給 → 撿起繼續 → 被打倒 → 死亡五秒 → 重生 → 再戰

這個迴圈,正是讓玩家願意「再來一局」的根本原因。不是因為畫面好看,不是因為夠難——是因為每一個行動都有意義,每一次失敗都可以重來

從二月開始,Midnight 一路加了台北101、機車、噴水池、夜景、霰彈槍、手榴彈、爆炸金屬桶……但今天加的這兩個系統,才算是把散落的零件真正扣在一起。

一個遊戲迴圈,閉合了。

剩下的,就只有讓它更好玩了。

← 所有文章