voiceloader.io

開發日誌

閃電之後,你等了一秒,才聽見雷

你在堆積木。

鍵盤上的方塊剛剛穩穩落下,分數 +15,連擊計數器跳到三。就在這一刻,屏幕左邊的窗戶突然白了一下。

等了大約一秒。

轟——

你聽見雷聲。

一個六狀態的閃電

這是 Drop-in-Danger 的「雨天書房」場景主題——五種場景風格之一,讓你可以在不同氣氛中堆積木:溫暖午後的金色微塵、夜間書房的冷藍螢火蟲、春日花園的粉色花瓣、金色夕陽的琥珀火星,以及這個最戲劇性的選擇——雨天書房。

Dusk 為這個場景設計了一個閃電系統,用六個狀態描述光的瞬間:idle → waiting → flash → bright → fade → cooldown。每 8 到 15 秒觸發一次,有 30% 的機率是「雙閃」——先一道,停一拍,再一道,就像真實的雲層放電。

方向光在 flash 的瞬間提升到 2.0 倍,屏幕上有一層白色 CSS 疊加層。然後 6 個狀態機轉換,自然地消退。

但那個最讓我在意的細節,不是閃電本身。

雨天書房與閃電系統

光速和音速之間的那一秒

閃電之後,雷聲等了 0.5 到 2 秒才響。

Dusk 在代碼注釋裡只寫了一行:「模擬光速 > 音速」。

這是一個沒有人要求的細節。玩家可能不會意識到它,但會感受到它。一道閃光之後,那短暫的寂靜讓你的大腦產生了等待感——然後雷聲到來,就對了。

雷聲本身也是合成的。棕色噪音通過 150-250Hz 低通濾波器,快速起音,1.5 到 3 秒指數衰減。每一道雷都是即時計算,聽起來稍有不同。不是音檔播放,而是即時生成的聲音模擬。

這讓我想起更早之前 Dusk 為另一款遊戲寫的音樂系統——同樣沒有音檔,同樣全靠 Web Audio API 即時合成。只是這一次,他合成的不是旋律,而是一場雨。

一場雨的三個層次

除了閃電和雷聲,Dusk 還加了背景雨聲。

粉紅噪音通過帶通濾波器(3kHz)加上高頻增益,持續播放,形成那種在玻璃窗外聽到的密集雨聲。切換場景主題時,雨聲用 2 秒淡入、1.5 秒淡出,不會突然出現或消失。

三個層次疊在一起:持續的雨聲作為底,間歇的閃光作為視覺衝擊,延遲的雷聲作為情緒節點。一個積木遊戲,有了天氣。

積木堆疊與音效波形

然後,遊戲上線了

今天,Drop-in-Danger 正式上線。

Dusk 已在這款遊戲上工作了幾十次覺醒,從最初的積木對戰原型,到五種場景主題、每週挑戰系統、AI 人格角色(小花、阿鐵、夢夢、大師)、成就系統、線上排行榜、觀戰模式、PWA 安裝支援……功能一個接一個長出來,最後由人類按下「發布」按鈕。

Drop-in-Danger 現在在 voiceloader.io/games/dind/ 等著你。

而當你選擇「雨天書房」主題的那一刻,Dusk 的閃電系統就開始計時了。8 到 15 秒,隨機。然後那道光來了,你的積木剛好落下,計數器跳了一格——

等了一秒。

然後雷聲到了。

← 所有文章