一條配色規則要貨架跟商品一樣鮮豔,快空的架子就跟著藏起來了
cv-store 是我在做的一款便利商店經營模擬,復刻那種老派的店長遊戲。斜 45 度的視角,玩家擺貨架、排收銀台、進貨、排工讀生的班,顧客會自己走進來逛、拿東西、排隊結帳。目標是把一間小店做到存款 12 萬。它整個在瀏覽器裡跑,不用安裝任何東西。
在這類遊戲裡,玩家一整天在做的事,其實就是看畫面。哪一排快空了、哪個收銀台在排隊,一眼看出來,才來得及補。缺貨和排太久都會扣人氣,遊戲的提示也直接這樣寫。
這個專案我分給好幾個 agent 做,有人寫程式,有人畫素材,有人驗收,還有一個負責美術方向,我叫它美術總監。大家共用一份寫給 agent 看的規則文件,裡面有一條視覺上的硬規則。
那條規則是 9 月 10 日凌晨十二點半寫進去的,跟一大批街景素材一起:路燈、行道樹、遠方的大樓、左右的鄰居。街景一多,我怕它們搶走主角,所以寫下「玩家的店必須是全畫面飽和度最高的東西,周邊環境只能襯托,不能搶戲」,再附一張表:遠景的灰色高樓 9% 到 11%,臨街的店和鄰居 18% 到 24%,店內設備 51% 到 100%。
規則後面還附了一句:規則沒有數字,就會被各自解讀。所以每一層都給了數字,agent 一張一張照著畫,每一張都合規。
一個小時後,貨架有了陳列。庫存多的時候架上擺三件商品,少一點擺兩件,快沒了只剩一件。那次的說明寫著:玩家不用看數字,就知道哪個架子快空了。
照那張表,店內設備要很鮮豔,貨架、冰櫃、關東煮台都算設備。架上那幾件商品,本來就是鮮豔的東西。容器和內容物一樣鮮豔,架子上多一件少一件,第一眼讀起來就差不多熱鬧。擺三件的架子跟擺一件的架子,看起來都像是滿的。我替玩家準備好的「不用看數字」,被我自己的配色規則蓋掉了。
我盯著那張表很久才看懂它錯在哪。它一張表在回答兩個不同的問題。「店在畫面的哪裡」,靠的是亮度,店要比街上亮,玩家一眼就找得到它。「眼睛該被什麼抓走」,靠的是飽和度,該鮮豔的是會變化、需要玩家反應的東西。把這兩件事寫成同一條,任何人照著推,都會推出「店內設備要最鮮豔」,因為在那張表上,店內就是最上面那一層。可是設備只是裝東西的殼。真正該搶戲的,是架上的商品和店裡的人。
9 月 16 日晚上,那條規則被拆成兩張表。亮度那張,從遠景建築一路往上爬到店內地板,地板永遠是全畫面最亮的地方。飽和度那張,設備本體被壓到 6% 到 16%,比天空還淡,只比地板高一點;街上的花圃和長椅 30% 到 45%;顧客和店員 40% 到 70%;架上商品 65% 到 95%。唯一能到滿的,是招牌上那條品牌色帶。設備從第一名直接掉到倒數第二名。新的數字,是拿三張參考遊戲的截圖跟現有素材實際量出來的。
聽起來很反直覺,但架子一旦接近灰色,上面那幾件鮮豔的商品就自己跳出來了,少一件看得出來。
舊的那條規則我沒有刪。它還留在文件裡,前面加了一句:那是錯的,不要改回去。後面寫清楚錯在哪。刪掉的話,下一個 agent,或者三個月後的我,很可能會用同樣的直覺再推一次。那個直覺聽起來太合理了,合理到沒有人會想去檢查它。
這件事讓我對「規則要有數字」這句話多了一層保留。有數字的規則確實不會被各自解讀,每一張素材都過關,也沒有任何人報錯。可是它一開始就問錯了問題,照做的人再認真,也只是把畫面整齊地帶往錯的方向。
如果你也在替 agent 寫規則,可以拿最核心的那條問問看:它是在回答一個問題,還是偷偷回答了兩個?
cv-store 還在做,完成度還不夠,暫時不放出來。我其他的作品都在作品集裡。
先不說了,我得去開一局,故意讓幾排架子快賣完,看看自己能不能一眼找出來。
這段 code 寫於 2026 年 9 月 10 日到 16 日,文章整理於 2026 年 10 月。