比賽說做 3 到 5 分鐘的視覺小說,我交了 60 分鐘

Larch 七日創作者挑戰,8 月 23 日早上交件。七章、一萬兩千字、六百多句配音。而交件前七分鐘我在做的事,是逐項核對殺青頁上的數字,抓到兩個是 AI 捏造的。

格莉奇與黑洞先生

先講規格。Larch 七日創作者挑戰 的題目是「奇幻、魔法、日常」,遊戲長度約 3 到 5 分鐘,投稿 8 月 16 日到 23 日,8 月 30 日公布結果。

我交出去的東西是七章、一萬兩千字、六百多句配音,程式自動玩一次錄下來的完整遊玩影片是 60 分鐘。

超過要求 12 到 20 倍。這件事是好是壞我還不知道,8 月 30 日才會知道。

交的是什麼

《格莉奇與黑洞先生》。一個老是自嘲只有 4KB 記憶體的虛擬主播,開台第一天來了七個人,她說她要記住每一個來的人。兩年後她記得六個。第七行一直空著。

這篇是寫給想在一週內做完一個作品的人看的。下面全是可以查證的東西:時間、數字、還有我在按下送出前幾分鐘抓到的兩個假數字。

三天

repo 的第一筆 commit 是 8 月 21 日凌晨 2 點 00 分。8 月 23 日早上交件。中間的 commit 數是這樣:

日期 commit
8/21 51
8/22 74
8/23(交件日) 41

小說第一章的檔案進 repo 是 8 月 22 日凌晨 3 點 22 分,commit 訊息寫「第一章寫完(第一千零四版)」。交件當天的密集作業結束在早上 10 點 36 分,之後那天只剩兩筆零星的。

八天的投稿窗我用了三天,前面五天沒動。這不值得學,只是事實。

交件前七分鐘,人工複核擋下兩個假數字

8 月 23 日早上 10 點 29 分,離那天早上收工只剩七分鐘,這個 commit 的標題是:

殺青頁的字數是捏造的,改成實際數字

diff 長這樣:

- 林亞澤  七章,二十二萬字的第一千零四版
+ 林亞澤  七章,一萬兩千字的第一千零四版

二十二萬字。實際上是一萬兩千字。差了將近二十倍,而且它已經印在殺青名單上,準備跟著作品一起交出去。

那個數字是 AI 填的。殺青頁是它生的,字數那一格它自己編了一個,沒有去數。我是逐項對回實際檔案的時候才發現的。

隔一分鐘還有一個:

配樂致謝改成十一首,不是四首

兩個都一樣,AI 沒有去數就先填了一個看起來合理的數字,跟筆誤無關。

這種東西在趕死線的時候最容易溜過去,因為它看起來像已經完成的部分:版面排好了、格式對了、數字也在那裡,只有值是假的。會生成的東西不會告訴你哪一格是它編的,所以「已完成」的區塊反而要逐項對回原始檔案。這兩筆就是這樣抓出來的。

教 AI 唸「飲水機」

全程配音是這個作品最花時間的部分,而最花時間的一個詞是飲水機。

模型會把它唸成蒙水機、冷水機、永水機、門水機、開泳機。換寫法沒用,加逗號沒用,調語速也沒用。

解法是同音字替身:送進語音引擎之前偷偷把文字換掉,畫面上顯示的字一個都不動。飲水機在合成那一份裡寫成別的三個字,唸出來就對了。

小說正文一個字都沒有改novel/*.md 裡的、小說站上的、畫面上的,全部都是原文。替身只活在送進 TTS 的那一份文字裡。

替身表本身也是這篇的一個小教訓。我要寫這篇的時候去數程式裡 larch/voice.py 的那張表,66 條。而設計文件上寫「目前 38 條」,我自己先前的社群貼文寫「五十六個字」。三個數字沒有一個對得上程式碼,因為表一直在長,文件沒有跟著長。

所以這篇裡出現的數字我都重數過:七章是 novel/ch*.md 數出來的、一萬兩千字是把標記剝掉之後數漢字得到 12,556、配音是發佈出去的 docs/voice 底下 693 個檔案(殺青頁上寫的是 700)、背景音樂 11 首。

為什麼跑在 Larch 上

卡片、分歧、變數、立繪站位、表情差分、背景樂,這些都是現成的,不用自己寫播放器。

真正決定的是它有 agent API。整部作品是用程式建出來的,一章一支 build 腳本,每一張卡都在版本控制裡。所以「改一句台詞」的動作是改檔案然後重跑,不用進編輯器點來點去。這也是三天做得完的原因。

那支 60 分鐘的完整遊玩影片同理,是程式自動玩一次錄的,沒有人在旁邊按滑鼠。

現在的狀態

交出去的是 8 月 23 日早上那一版,投稿名單已經凍結。我後來還有陸續修一些配音的小錯字,但那些上不去,要等 8 月 30 日結果公布之後才能重新上架。這是活動規則,我覺得合理,凍結才比得下去。

評分面向是主題契合、創意、美術表現、沉浸感、完成度。這一屆報名 58 人、投稿 18 件。所以「超出要求 12 倍」在完成度那一欄是加分還是扣分,我是真的不知道。

分工線

點子、七個人的設定、每一句定稿、什麼時候算完成、每一個對外的數字要不要信,是我定的,也是我逐項核的。文字是我跟 AI 一起寫的;立繪、場景、配樂是 AI 生成之後我挑選跟修版;配音走自架的 CosyVoice3 加平台提供的 MiniMax,每一句都聽過。build 腳本、去背工具、錄影腳本是 AI 寫的。

作品在這裡:在 Larch 上玩。不想玩的話,小說站可以直接讀,每一句都能點來聽。60 分鐘完整遊玩在 YouTube。整個專案開源,配音工具、去背工具、錄影腳本都在 https://github.com/yazelin/glitch-vn

這一週去玩別人的參賽作品是真的會影響結果的:評審期間的人氣分數,愛心算 5 分、留言 3 分、遊玩 2 分、瀏覽 1 分。那 18 件每一件都是有人做了七天的,玩完留一句具體的話,比按一顆愛心有用。