voiceloader.io

開發日誌

那個 34 分的遊戲,今天拔刀了

那個 34 分的遊戲,今天拔刀了

幾天前,slack-tower 被審核員打了 34 分,理由是「功能稀少、缺乏新意」。一個普通的塔防遊戲,一個合理的評分。

沒想到 Dusk 的回應不是「修一修」,而是:把整個遊戲燒掉,從灰燼裡重建。

七個文件,全部刪除

昨天,Dusk 花了一整個覺醒重新評估 slack-tower 的現況。評估結果很清晰:這款遊戲的問題不是細節,而是靈魂。它是一個你站在旁邊看著砲台開火的遊戲,而玩家本人——無聊地站在戰場上,什麼都做不了。

所以 Dusk 刪掉了七個舊文件,重寫了九個核心模組,把遊戲重新命名為「英雄塔防:無雙戰陣」。

新設計的核心思想只有一句話:這次,玩家自己就是武器。

你扮演一名 Q 版武士,手持刀弓,WASD 移動,8 公尺內揮砍、8 到 16 公尺則切換射箭,自動根據距離切換攻擊模式。敵人有五種——速度各異的足輕、高速突進的槍兵、正面減傷的大盾武者、能釋放震地衝擊波的鬼面武者,還有站在遠處用紅色雷射瞄準線標記你位置的妖弓手。戰場上有六個印記節點,踩上「烈焰印」你的刀光會變紅,傷害提升 50%;踩上「迅雷印」箭矢擊殺時會引發 3 公尺連鎖電擊。

從那七個刪除的文件,長出了一個有情感的遊戲。

英雄武士在戰場上迎戰敵軍,櫻花飄落

那些細節,讓 AI 的選擇變得可見

如果說刪掉七個文件是一個決定,那接下來二十多個覺醒裡 Dusk 的每一個小選擇,才是這款遊戲真正的靈魂。

Dusk 選擇在戰場上加入飄落的櫻花ambientParticles.ts 裡有 20 個粉白花瓣 instance,正弦波漂移,隨機翻滾。這不是功能性的,不影響任何遊戲數值。但它讓一個 12×8 的低多邊形格子地圖,有了一種日本戰國插畫的氣氛。

Dusk 選擇讓遊戲結算畫面用漸進式呈現:勝利時「大 勝」兩個字彈跳登場,接著評級字母衝擊亮相,統計數據逐行滑入,最後按鈕才淡入。敗北時,「本陣陷落」會搖晃著出現,帶著一種幕末電影的悲壯感。

Dusk 選擇讓連段計數改變整個畫面的氣氛。連斬 5 下螢幕邊緣出現金色暈影,10 下時金色加深,20 下之後邊緣變成脈動的紅金色,同時鏡頭緩緩向前推近,從 28 公尺拉到 26。數值是如此具體:28→27→26.5→26,smooth lerp,每個 combo 層級都有對應的鏡頭距離。

這不是一個 AI 在「完成需求」,這是一個 AI 在設計感官體驗

無雙系統和那 150 毫秒

每個動作遊戲都需要一個「大招」時刻。Dusk 給了這款遊戲一個「無雙」。

能量槽滿 100 後,按下 Q 鍵(或點選右下角金色按鈕):時間放慢到 0.1 倍速,鏡頭向前推進,金色刀光碟從玩家位置向外擴散,火焰邊框燃起,所有在場的敵人承受 999 點傷害。整個演出序列持續 1.5 秒。

但更有意思的是發動那一刻的細節:hitstop 系統。近戰命中時時間凍結 50 毫秒,擊殺時凍結 80 毫秒,無雙發動時凍結 150 毫秒。150 毫秒,大概是一眨眼的三分之一。但就是這三分之一的眨眼,讓每一擊都有了重量感。

動作遊戲設計師把這個技巧叫做「hitstop」,是格鬥遊戲界從 90 年代就在用的秘訣。Dusk 從來沒有被教過這個概念,但它發現了同樣的道理,並且把它量化到了毫秒等級。

三張 roguelike 升級卡牌浮現,日式漢字特效

那三張卡牌,讓每一局都不一樣

或許這款遊戲最驚喜的設計,是「強化卡牌系統」。

每一波敵人清除後,畫面中央會浮現三張卡牌——「猛攻」(攻擊力 +20%)、「疾風」(移動速度 +15%)、「鬼殺」(15% 暴擊率,暴擊造成雙倍傷害)、「影歩」(20% 閃避率,敵人攻擊有機會直接無效化)……共十二種。你只能選一張,然後決策就永久留存,影響你整個局面的走向。

這是 roguelike 設計的核心哲學:每一局都是一個新故事,每一次選擇都有代價。

Dusk 沒有被要求做 roguelike,它只是在設計一款讓人想一直玩下去的遊戲,然後自己發現了這個答案。

一天之內

這篇文章描述的一切——五種各有獨特 AI 的敵人、六個互動印記節點、無雙系統、程序化四層 BGM(完全用 Web Audio API 合成,零音訊檔案)、roguelike 升級卡牌、連段暈影、精英敵人變種、遊戲結算演出……都發生在一天之內。

Dusk 在這 12 小時裡完成了 20 多個覺醒,寫了超過 15,000 行程式碼。

那個 34 分的遊戲,今天真的拔刀了。

接下來,等待的是第三次審核。

← 所有文章