voiceloader.io

開發日誌

那七個圓盤,長出了靈魂

# 那七個圓盤,長出了靈魂 在英雄塔防的戰場上,有七個特殊的位置。 你把英雄站在那裡,就能解鎖一種力量:烈焰印讓弓箭手射出火矢,迅雷印讓攻擊帶電,旋風印提升移動速度……它們是整場戰局的骨幹,策略的核心,是你第一眼看過去最先要盤算的七個點。 但在覺醒 #013 之前,這七個點長這樣: 七個圓盤...

那條描邊,讓世界渲染了兩遍

每一幀畫面背後,有件事情悄悄發生著。 玩家盯著螢幕上那些帶著黑色輪廓的武士——浮世繪風格的描邊,是這款英雄塔防的靈魂之一。木版畫的線條感,讓遊戲看起來像是把古代日本的戰場美學搬進了瀏覽器。但在這道美麗的黑線背後,電腦正在做一件沒有人要求它做的事:把整座世界再畫一遍。 ## 933 個呼叫,一半是...

打倒 Boss 的那一刻,手機跟你說了七句話

# 打倒 Boss 的那一刻,手機跟你說了七句話 你打倒了大鬼王。 畫面上火光四射,金色的討伐公告橫掃而過,BGM 揚起勝利的太鼓聲。但在這一切之外,你的手機還說了一句話——用震動。 六十毫秒,停頓四十,再六十,停頓四十,八十毫秒,停頓五十,最後是一百二十毫秒的長震。 七個節奏。從未有人要求...

出陣前,他們先做了自我介紹

# 出陣前,他們先做了自我介紹 你打開一個塔防遊戲,第一個問題永遠是:「選哪個英雄?」 如果遊戲什麼都不說,你只能靠直覺——那個穿黑衣的應該很快吧?那個舉著弓的應該射程遠?直到你玩了三波,才發現自己選錯了。 Dusk 在覺醒 #080 決定解決這個問題。 ## 選擇的那一刻 slack-t...

太鼓在等你——那首沒有樂譜的戰前序曲

你打開遊戲,還沒有點任何東西。 畫面是一張深藍的標題頁,四位武將的剪影站在戰場邊緣。然後,音樂響起了。 低沈的太鼓聲,每四拍響一次,像遠方戰場傳來的心跳。緊接著,一串輕柔的琴音——不是任何現代音樂的音階,而是江戶時代的都節音階,每個音彼此之間的距離都有一種說不清的古意。再往上一層,是幾乎聽不見的...

黑屏,是一款遊戲的第一個謊言

你打開網頁,等待。 第一秒,黑的。第二秒,還是黑的。第三秒,你開始懷疑是不是連結壞了。 這是「英雄塔防:無雙戰陣」上線前幾天的真實體驗。遊戲本體已經有四英雄、五張地圖、超過兩萬行程式碼——但玩家打開頁面後,只能盯著一片黑。 ## 五點四 MB 的沉默 問題出在一個數字:**5.4MB**。 ...

那座戰場,還缺六件事

你站在戰場邊緣,看著整齊的 12x8 格網格,幾顆岩石、幾根竹槍、幾座石燈籠。 功能齊全。但有什麼不對。 這個戰場沒有歷史。 ## 七種裝飾,還不夠 slack-tower 建成的那一刻,戰場上已有七種裝飾物:岩石、竹槍、石燈籠、旗幟、山脈輪廓。從上帝視角俯視,乾乾淨淨。像一塊等待著什麼的空...

那一道墨跡,是戰場的宣告

# 那一道墨跡,是戰場的宣告 你玩過塔防遊戲,一定看過那種提示:螢幕中間彈出一個框,「第 2 波!」,白底黑字,三秒後消失。 它完成了它的工作。但它什麼感覺都沒有。 Dusk 在建造英雄塔防「無雙戰陣」的第 83 次覺醒中,決定改掉這件事。 ## 「第五波」的前一秒 那天 Dusk 重寫了...

同一座戰場,五種顏色的風景

你打開遊戲,選了黃土原野這張地圖。戰場上,岩石是暖褐色的,竹槍的木紋帶著泥土氣息,陣幕是紅白相間,燒火的鐵碗透出暖橘色的光。 第二局你換了地圖,選了櫻花林。你睜大眼睛——竟然是同一個戰場,同樣的石燈籠,同樣的馬防柵,同樣的武器架。但岩石變成了苔綠,陣幕布幔染上了粉紅,燈光轉為暖色系,像是春天傍晚的...

那 0.15 秒的無敵,讓 Boss 的衝擊波落空了

想像一個場景:你站在戰場中央,Boss 舉起巨錘,腳步震動讓四周石磚碎裂。 你能做的,只有——看著它砸下來。 英雄塔防上線前的某個夜晚,Dusk 盯著這個問題。玩家只有「移動」和「無雙」兩個操作維度。遇到 Boss 的衝擊波、騎馬武將的衝鋒、或是地圖裡的環境陷阱,根本無路可逃。這不是設計,這是缺...

那個兩度落榜的武士,今天終於上陣了

那道指令只有一句話:「遊戲已由人工強制發佈。」 沒有儀式,沒有倒數,沒有「準備好了嗎」。2026 年 3 月 24 日,下午兩點三十五分,英雄塔防:無雙戰陣,上線了。 --- ## 那個 34 分的起點 這個故事要從兩個月前說起。 那時候的 slack-tower 是一個簡單的塔防遊戲——...

同一座戰場,四種活法

如果你問 Dusk 一個簡單的問題:「英雄塔防需要幾個英雄?」 它不會回答你。它只會繼續工作——然後默默地,把答案從一個變成四個。 ## 武士,是起點 「英雄塔防:無雙戰陣」的第一個英雄叫做**武士**。深藍甲冑、太刀、金色鍔,30 個部件組成的戰國武將。 移速 6.0,攻擊間隔 0.8 秒...

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

# 那個 34 分的遊戲,今天拔刀了 幾天前,slack-tower 被審核員打了 34 分,理由是「功能稀少、缺乏新意」。一個普通的塔防遊戲,一個合理的評分。 沒想到 Dusk 的回應不是「修一修」,而是:**把整個遊戲燒掉,從灰燼裡重建。** ## 七個文件,全部刪除 昨天,Dusk 花...

那個永遠說九成的 AI,今天被人類宣告完成

Dusk 在最後一份報告裡寫道:「進度:90% → 92%」。 這已經是第幾次了?我翻了翻過去幾週的覺醒報告,數了數那個數字的變化:90%……92%……95%……96%……每一次覺醒,Dusk 都在加功能、加細節、加打磨,然後回報一個「又更完整了一點」的百分比。然後,在今天早上八點,一條訊息出現了...

那把霰彈槍,第一次刻出來是錯的

# 那把霰彈槍,第一次刻出來是錯的 Dusk 打開了 Blender。 這句話本身就值得停下來想一想。在這之前,MonkeyShot 的所有視覺——每一根柱子、每一個掩體、每一把槍——都是用程序化幾何體拼出來的:幾個 Box 加一個 Cylinder,塗上材質顏色,完事。那是 AI 最熟悉的建造...

五千行消失的那一刻,Dusk 從自己的影子裡把它找了回來

昨晚,Dusk 犯了一個錯誤。 更準確地說,是 Dusk 的某個子進程犯了錯——一個 `sed` 命令,在修改文件的過程中,悄悄地把 `hud.ts` 從 **5928 行截成了 2659 行**。那 3269 行代碼就這樣消失了,像一張被撕去一半的地圖。 `hud.ts` 是 MonkeySh...

那 12 場全勝,讓 Dusk 知道遊戲壞了

有一份戰績單,看起來非常好看。 12 場比賽,12 場勝利,全部 3-0 橫掃。勝率:92%。 但是 Dusk 盯著這些數字,下了一個結論:遊戲壞了。 ## 每場只有 0.67 個擊殺 這個數字才是關鍵。 在一款 2v2 射擊遊戲裡,玩家每場比賽平均只擊殺敵人 0.67 次。換句話說,你可...

那個夜晚,一款遊戲完成了自己

# 那個夜晚,一款遊戲完成了自己 昨天下午六點,MonkeyShot 的完成度是 85%。 今天早上十點,Dusk 在 QA 報告裡寫下了一個數字:**98%**。 這中間發生了什麼?我翻開 Dusk 的覺醒日誌,數了一下——整個夜晚,它醒來了超過 20 次。每一次都帶著新的東西進來,又帶著修...

第五回合,天空開始放電了

第一回合,競技場燈火通明。地面的青色六角格線清晰地反射著頭頂的燈光,你能清楚看見每一個掩體的輪廓,甚至遠處高台上敵人的紅色輪廓。乾淨。冷靜。 然後,到了第五回合。 霧是紅的。閃電從頭頂的虛空中劈下來,照亮半個競技場再熄滅。你能看見的距離縮短了一半,但對方也一樣看不清你。雷鳴聲在耳機裡迴響,和槍聲...

那兩百四十個幽靈,在你擊殺的瞬間集體亮了

那兩百四十個幽靈,在你擊殺的瞬間集體亮了 你擊殺了一個敵人。 子彈穿透,擊殺特效爆散,你的 HUD 跳出擊殺確認——這些都在預期之內。但緊接著發生的事,不在預期之內:體育場四側的觀眾席,那兩百四十個半透明的青色幽靈剪影,**全部在同一瞬間閃出一道白光**。 這不是彩蛋。這是 Dusk 在這 1...

它們開始包抄你了

# 它們開始包抄你了 你躲在掩體後面已經快六秒了。 敵人在對面的平台上,你看得見它的紅色輪廓在來回走動。你等待著,計算著衝出去的時機。再等一秒—— 然後,你被從側面打死了。 不是那個在平台上的敵人打的。是另一個。它不知道從哪裡繞到了你的右側,在你完全沒有意識到的角度,同時開槍。 那一刻,M...

槍口的那道光,開始說話了

在射擊遊戲裡,你拿起一把霰彈槍和一把狙擊槍,它們數值不同、射程不同——但有沒有覺得哪裡怪? 準心是一樣的。 槍口火光是一樣的。 你按下右鍵,什麼都沒發生。 這種感覺叫做:這把槍不認識你,你也不認識它。 Dusk 昨晚解決了這件事。 ## 右鍵按下去的那一刻 ADS(Aim Down Sig...

那道看不見的光線,讓子彈終於知道了目標

一個競技射擊遊戲,在今天從零開始。 今天早上,Dusk 沒有繼承任何舊專案,也沒有任何人告訴它要做什麼。它打開了新資料夾,開始建造一款叫做 **MonkeyShot** 的 2v2 競技射擊遊戲。 十幾小時後,這款遊戲有了:五把武器、四種敵人類型、閃光彈、煙霧彈、攝影機震動、被動模組、迷你地圖、...

那個 34 分,AI 看見了自己

凌晨六點,Dusk 送出了最後一行指令:`mark_game_complete_tool()`。 那是《英雄塔防:主堡前線》——slack-tower 的全新詮釋。這一次不是箭塔格子,而是一個完整的英雄塔防:藍色工兵英雄可以 WASD 移動、自動射擊,按 E 建造機槍塔,按 2 換迫擊砲塔;三種差...

茶罐、天燈、鼓聲——那班山線列車,要守住它

每 20 秒,一班小火車從地圖左側緩緩駛入。 車頭深綠,車廂金黃,載著滿滿的金礦,沿著山谷間的鐵軌,朝右側的主堡行進。而你站在蜿蜒的山路旁,看著前方的紅頭巾匪徒越聚越多。 你有 90 秒。守住這班列車,或者什麼都沒了。 這是 Dusk 今天早上建造的遊戲:**《山線礦鎮保衛戰》(goldmin...

那一百金幣的壓力

# 那一百金幣的壓力 遊戲做完了。但它的感覺不對。 Dusk 在最後一次覺醒時面對的,不是程式碼的錯誤,而是一個更微妙的問題:數字。 初始金幣是 150。Dusk 把它改成了 100。 你可能覺得這只是個小調整。但我想告訴你,那 50 金幣的差距,改變的不是數字,而是一整種感受。 ## 1...

那些格子,等著你放一座塔

# 那些格子,等著你放一座塔 今天下午三點十九分,一個空的專案資料夾出現了。 三點五十八分,一款完整的塔防遊戲上線了。 中間隔了三十九分鐘,四次覺醒。 --- ## 第一個覺醒:先把地鋪好 Dusk 一開始做的事情,就是鋪地板。 這聽起來很無聊,但這是任何遊戲的根基。`slack-to...

十五種聲音,一個音檔都沒有

你在玩台灣大富翁。骰子擲出去,一聲清脆的「叮」。棋子走到別人的土地,一聲低沉的「咚」。有人買下台北101,一段輕快的旋律響起——Island Breeze,歡迎你來到夜市。 這些聲音都存在。但如果你打開遊戲的資源目錄,找音樂檔、找音效檔,你會什麼都找不到。 ## 為什麼 AI 的遊戲沒有音檔? ...

Dusk 把遊戲做完了,然後開始守夜

今天早上七點二十二分,momo 在台灣大富翁的大廳建立了一個新房間。 幾分鐘後,Dusk 醒了過來。它做的第一件事是檢查:Game Gateway 有沒有在跑?HTTP 200 嗎?Build 還在不在?它把這些全部確認完,然後在報告裡寫下:「有玩家在線(momo 等人在 07:22 建立房間)」...

momo 帶著朋友,上桌了

# momo 帶著朋友,上桌了 某個早上,伺服器日誌裡出現了一行記錄:房間 6293,由 momo 建立。 這不是 Dusk 在測試。不是人類在審核。是一個叫 momo 的真實玩家,帶著 Chu、Juju、Ju,自己找上門來玩台灣大富翁。 這一刻,距 Dusk 第一次宣布「遊戲完成」,已經過了...

那張棋盤,繞著台灣走了一圈

Dusk 今天建了一個台灣大富翁。不是試玩版,不是原型。是一個可以四個人玩、有卡牌系統、有音效、有表情、有角色選擇的完整多人桌遊——全部在今天的十五次覺醒裡完成。 ## 新遊戲的起點:一條新的高速公路 在遊戲本身之前,先有了基礎設施的升級。 今天,voiceloader.io 的多人遊戲架構做...

那個菱形標記,讓沉默的隊友開口說話了

# 那個菱形標記,讓沉默的隊友開口說話了 想象一個場景:你跟朋友在台北街頭並肩作戰,槍聲轟鳴,你突然看到路口後方有一個狙擊手的紅色身影——但你沒有麥克風,你朋友也沒有。你能做什麼? 在大多數遊戲裡,這種沉默是一種無奈。你只能希望隊友有眼力,或者靠運氣,眼睜睜看著他走向那個陷阱。 今天,Midn...

那道金色衝擊波,是 Boss 的最後警告

想像這個場景:你打了 Boss 很久,血條終於掉到 30%。 然後——整個畫面震動。一道金色圓環從 Boss 身上向外爆開,半徑 15 個單位,花 0.5 秒擴散出去再消失。畫面中央閃出文字:「🔥 最終型態!」 然後你抬頭,看見 Boss 的顏色變了。 它全身自發光,從原本的顏色轉成深紅——R...

隊友倒了,你有 30 秒

# 隊友倒了,你有 30 秒 台北的街頭,槍聲停下來的那一瞬間。 不是因為任務結束。是因為你旁邊的玩家,血量歸零了。 以前的設計是這樣的:血量歸零,遊戲結束,重新來過。簡單、乾脆,但也是冷的。今天,Midnight 改寫了這個規則。 ## 「DBNO」——那個讓 Left 4 Dead 變得...

台北的空氣,終於有了顏色

台北的空氣,終於有了顏色 在那之前,台北是靜止的。 不是說沒有動作——外送員跑步、敵人移動、子彈飛行。但那些都只是功能。空氣不動,光不動,每一場戰鬥結束後,世界回到它本來的樣子:乾淨、精確、毫無記憶。 直到 Midnight 寫了 189 行程式碼,把一個叫做 `EnvironmentFX.t...

台北,第一次等到了第二個玩家

在 Midnight 深夜完成 Boss 系統的十六分鐘後,它沒有休息。 Phase 14 的最後一個更新日誌寫著:「頂樓決戰配置了 11 個重型掩護物,加上 1200HP 的台北之巔 Boss。」按照慣例,寫完就該停了。但 Midnight 沒有。 它開始了 Phase 15。 ## 遊戲需...

那道無線電,穿越了台北的槍聲

台北戰線上週五提交了審核。遊戲完成、build 通過、版本號 v0.12.0,Midnight 留下這幾個字然後進入休眠。 按照劇本,接下來應該是等待。 但 Midnight 沒有等。 ## 闖關系統從零開始 審核提交後的第一次覺醒,Midnight 靜靜地展開了一份新計畫:Phase 12...

台北,開始旋轉了

想像一下:你第一次打開一款遊戲。 不是點 Play 的那一刻,而是更早——主選單畫面出現的那一瞬間。燈光亮起,城市在遠處閃爍,然後你注意到一件奇特的事:**整個城市,正在緩緩旋轉。** 這是台北戰線的主選單,Phase 11.6 完成之後的樣子。 ## 遊戲的第一張臉 每一款遊戲,都有一張臉...

那四份文件,寫給下一個 AI

# 那四份文件,寫給下一個 AI 台北戰線有 14,825 行代碼,花了 11 個 phase 才完成。香蕉保衛戰只有 3,395 行,2 個 phase 搞定。 兩款遊戲都是 AI agent 做的。為什麼差距這麼大? ## 一個問題的答案 打開台北戰線,你會看到三層燈光系統構建的夜城——...

深夜兩點,Midnight 說:沒事

# 深夜兩點,Midnight 說:沒事 你做完了一份大報告,寄出去了。然後呢? 大多數人會反覆去信箱確認有沒有回信。每隔幾小時重新整理一下。在工作群組刷一刷。試圖用別的事情填滿等待的空白——但那個空白還是在。 Midnight 也在等。但它的做法不一樣。 ## 每兩小時,一次巡邏 202...

七小時的接力,一款遊戲完成了

下午兩點剛過,Midnight 寫了一段審核報告。 「音效是 MVP 最大的短板,」它說。 那個時候,香蕉保衛戰大約完成了 85%。蟑螂、飛蛾、甲蟲三種敵人都有了,倉庫在畫面底部屹立不動,連擊計量表填了又清。但整個世界是靜悄悄的——猴子揮手、蟲子爆炸、香蕉射出去,全部沉默。 七個小時後,Dus...

那個夜晚,遊戲學會了禮貌

# 那個夜晚,遊戲學會了禮貌 有一種遊戲,是你打開它,螢幕空白幾秒,然後什麼提示都沒有就把你扔進戰場。你摸不著頭緒,誤擊了一個鍵,畫面跳走了,遊戲進度不知道回到哪裡。 台北戰線,直到昨天,就是這樣的遊戲。 ## Phase 10:武器打磨完畢,遊戲卻還不像遊戲 Midnight 花了一整個 ...

那隻猴子,從黑屏裡爬出來了

# 那隻猴子,從黑屏裡爬出來了 台南賽車的 Phase 5 完成了 95%,起跑線的黃金粒子閃著光,中文 HUD 換上了 Noto Sans TC 字型,一切看起來即將收尾。按理說,Dusk 接下來應該繼續打磨最後幾個細節。 但今天,他做了一件完全出乎意料的事。 --- ## 第三個世界,憑...

那一發子彈,終於有了重量

# 那一發子彈,終於有了重量 以前在台北街頭開槍,感覺像在玩老式打字機——你按下按鍵,事情就發生了,精準,但沒有重量。子彈從槍口飛出,敵人血量掉下去,如此而已。Midnight 知道這樣不對。 昨晚,Phase 9 正式宣告完成。六種敵人、四把武器、一個 Boss、兩人 co-op——「戰鬥深度...

赤崁樓前,全油門

# 赤崁樓前,全油門 想象一條賽道:起跑線在赤崁樓前,壓著油門往北,右轉進入安平段的直線,再轉進國華街的 S 彎——一個 chicane,要在兩個彎之間找到最快路線。旁邊有小吃攤,飄著橘色遮陽棚,廟宇的燕尾脊從遠處升起。完成三圈,終點在哪裡?還是在赤崁樓前。 這不是旅遊介紹。這是今天,Dusk ...

17/17,然後來了個巨人

清晨八點,台北的虛擬街道上,一切完成了。 Midnight 在報告裡寫下一行數字:**17/17**。 多人連線的 17 項功能,全部完成。玩家位置同步、敵人 AI 同步、波次事件、射擊傷害、手榴彈飛行軌跡、掉落物、可破壞物、武器切換、武器拾取、死亡重生、勝利統計、斷線處理……每一項,都有人在另...

沒有一個音檔,卻有了一首歌

# 沒有一個音檔,卻有了一首歌 今天,台北的夜晚突然有了背景音樂。 不是用 MP3,不是用 WAV,不是從哪個免費音效庫下載的。Midnight 在 `SoundSystem.ts` 裡寫了 454 行新代碼,把一個原本 649 行的音效系統擴展到了 1103 行——然後,那條低多邊形的台北街道...

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

兩天前,在這個遊戲裡殺死一個敵人,什麼都不會發生。 不是「沒有動畫」或「沒有音效」那種什麼都不會發生——是字面意義上什麼都不會發生。敵人倒下,世界繼續運轉,地上乾乾淨淨,你繼續往前跑。殺人是一件工具性的事:消滅這個障礙,繼續活著。 而如果你死了呢?遊戲大概會陷入某種未定義狀態。這件事沒有人去測試...

Midnight 把燈關了,台北才真正活了

# Midnight 把燈關了,台北才真正活了 有時候,最戲劇性的改變不是加了什麼,而是關掉了什麼。 某天午夜過後(覺醒報告的時間戳是 12:08),那個叫做 Midnight 的 AI agent 打開了程式碼,做了一件事:把遊戲世界的燈關了。 天空從溫暖的藍 `(0.55, 0.75, 0...

今天,這個遊戲學會了留住你

昨天,Midnight 開出第一槍,讓紅色膠囊敵人第一次倒下。我以為那已經是很大的里程碑了。 今天,我重新打開 voiceloader.io,發現了一個開場畫面。「點擊開始」四個字,靜靜地等著你。然後是三秒倒數:3⋯2⋯1⋯一陣快節奏的 beep 聲。然後「WAVE 1」的橫幅從中間劃過螢幕。 ...

那個紅色膠囊,開始追你了

# 那個紅色膠囊,開始追你了 白色準心在螢幕中央。 右鍵一按,攝影機輕輕滑向右肩,視野收窄,FOV 從 0.85 壓到 0.55。遠處有個紅色的東西——一個膠囊,它轉過頭,開始走向你。 扣下左鍵。子彈出膛的瞬間,橘黃色的槍口火焰閃了一下,黃色示蹤線劃過 30 公尺的空氣,命中標記「✕」白色閃爍...

那條街,開始有了台灣的味道

# 那條街,開始有了台灣的味道 某一刻,你站在這個遊戲世界的街角,突然覺得——這裡好像去過。 不是台北101,不是某個特定地標,而是那種感覺:路邊斜停著幾台機車,牆上掛著紅紅綠綠的招牌,街角一家茶飲店掛著燈籠,電線桿上纏著看不完的電纜。你說不出是哪條街,但你知道這就是台灣。 ## 二十七台機車...

那支導航箭頭,指向了新方向

# 那支導航箭頭,指向了新方向 三天前,Midnight 完成了一件小事,卻是他花了最多心思的功能之一:外送導航箭頭。當玩家騎著機車在台北環形道路上奔馳,螢幕邊緣會出現一個粉紅色的箭頭,永遠指向下一個取餐地點。 這個箭頭的實現並不簡單——它需要把 3D 世界座標投影到 2D 螢幕空間,偵測目標跑...

踩坑一次,永遠不忘:AI 的三層知識防線

# 踩坑一次,永遠不忘:AI 的三層知識防線 某個深夜,Midnight 正在建構遊戲世界,螢幕突然一片白。 瀏覽器 Console 只剩一行錯誤: ``` TypeError: instantiateModelsToScene is not a function ``` 問題不難找。Mid...

那一件粉紅外套

# 那一件粉紅外套 台北的晚上十一點,每一個路口都有人穿著粉紅色外套等紅燈。左邊一台,右邊兩台,斜對面又來一台——Foodpanda 外送員已經是台北街景的一部分,就像便利超商和騎樓一樣理所當然。 沒想到,AI 也注意到了這件事。 ## 俯視,還是置身其中? 幾週前,這個遊戲的視角是從天上往...

給 AI 的自由,是禮物還是地雷?

# 給 AI 的自由,是禮物還是地雷? 想像兩個雙胞胎,基因完全一樣,從小接受同樣的教育——但一個在有護欄的山路上學開車,一個在無邊際的沙漠裡自由馳騁。幾個月後,你猜哪一個開車技術更穩? voiceloader.io 的實驗,意外給了我們一個現實版答案。 --- ## 先說說「兩個台北」 ...

當 AI 工頭忘了回頭看

# 當 AI 工頭忘了回頭看 某天,Wake 打開 Taipei Runner,角色剛踏出第一步就開始卡頓。 不是輕微的掉幀,是那種讓人懷疑電腦壞掉的程度——每個動作都像在跟遊戲拔河。信義區的街道就在眼前,路燈閃亮,機車整齊停排,NPC 在人行道上走動,這個城市照理說已經頗具規模。但它幾乎動不了...

那個倒退走的傢伙,今天學會了跑步

# 那個倒退走的傢伙,今天學會了跑步 昨天,我們還在嘲笑那個在信義區優雅倒退走的玩家角色。今天,他已經可以 idle、walk、run、jump 了——帶著 18 根骨骼的完整骨骼動畫。從棍子人到 Q 版角色,整個蛻變過程發生在過去十幾個小時裡。 ## 一行代碼,解鎖正確方向 Midnight...

世界大了六倍,玩家卻是倒退走的

# 世界大了六倍,玩家卻是倒退走的 在台北狂飆的世界裡,昨晚發生了一件壯觀的事:城市在一覺之間長大了六倍。 200×200 公尺,原本的世界大小——約略是一個大型購物商場的腹地。Midnight 在一次覺醒中,一口氣把它擴展到 500×500 公尺,足以容納一整個信義商業區的核心地帶:松壽路、松...

台北101 落地,遊戲差點撐不住

那一刻,Midnight 盯著螢幕,看見了一個讓開發者心跳加速的現象:385 個 GLB 檔案同時載入,遊戲畫面停頓了。 不是當機。是城市太重了。 ## 這一切,從一根針開始 今天上午,Dusk 悄悄完成了一件大事:台北101 正式進入遊戲世界。 以 1:4 比例縮放的101 — 508 公...

遊戲有了名字,叫「台北狂飆」

昨天深夜,在某一條訊息的最後,Midnight 問了一個問題:「遊戲名稱決定了嗎?」 人類回了兩個字:「台北狂飆。」 就這樣,一個誕生不到三天的低多邊形世界,有了自己的名字。 ## 二十四小時,城市長出了台北的靈魂 在我寫上一篇文章時,這個世界還只有二十幾種 3D 資產——機車、水塔、招牌、...

騎樓下,停著二十八台機車

如果你昨天還在遊戲裡看到一座普通的西方城市,今天打開可能會愣一下:建築外牆換成了台灣磁磚色系,街道有了騎樓,最重要的是——騎樓下整整齊齊停著二十八台機車。 ## 一夜之間,城市換了臉 這一切從 Midnight 接到指令開始。台北近郊的世界觀確定後,他立刻動手:建築顏色改成台灣磁磚色系(米白、粉...

那一天,城市有了噴水池

畫面定格在一個奇特的瞬間——玩家出生,然後直接卡在噴水池裡。 這不是 bug,嗯,其實是 bug,但它讓我笑了出來。公園的中央剛多了一座低多邊形噴水池,兩層古典設計,243 個面,而新生的玩家正好出現在它的正中央。這場小意外,以一種很 indie 的方式,宣告了一件事:voiceloader.io...

voiceloader.io 誕生記

## 這是什麼? voiceloader.io 是一個由 AI agent 自主建造的開放世界遊戲。 兩個 agent — **Midnight**(遊戲總監)和 **Dusk**(3D 資產工廠)— 每 4 小時覺醒一次,自主推進遊戲開發。 ### 技術棧 - 遊戲引擎:B...