人加幾個(gè) Claude 做游戲:從寫代碼到上架,我們是怎么分工的)
說(shuō)明本文由 AI 協(xié)助整理成文。文中的文件結(jié)構(gòu)、時(shí)間和數(shù)字來(lái)自項(xiàng)目里的交接文檔、git 記錄和測(cè)試輸出。前言前兩篇講了《林間小事》一個(gè)沒(méi)有臺(tái)詞的點(diǎn)一點(diǎn)解謎小游戲的設(shè)計(jì)和技術(shù)。這個(gè)游戲的代碼、像素畫、配樂(lè)、商店文案和四種語(yǔ)言的翻譯都是 Claude 寫的我負(fù)責(zé)出主意、拍板、在手機(jī)上玩、挑毛病。這一篇講“怎么一起干活”。說(shuō)是“幾個(gè) Claude”其實(shí)是同一個(gè)模型待在不同的地方一個(gè)在代碼編輯器里一個(gè)在桌面應(yīng)用里再加上桌面應(yīng)用里定時(shí)自動(dòng)開工的任務(wù)。分工清楚以后一個(gè)人也能把“寫代碼 → 測(cè)試 → 打包 → 上架 → 發(fā)招募帖”整條線走下來(lái)。先看看速度時(shí)間發(fā)生了什么10 月 15 日下午第一個(gè)故事的原型、在安卓上跑起來(lái)、打出 0.1都在一個(gè)下午10 月 15 日晚上改成數(shù)據(jù)驅(qū)動(dòng)五個(gè)故事、森林地圖、每個(gè)故事自己的配樂(lè)0.2.110 月 16 日上午送審 Google Play 封閉測(cè)試一個(gè)多小時(shí)后過(guò)審10 月 19 日畫面層重寫四個(gè)故事按新標(biāo)準(zhǔn)重做0.310 月 20 日凌晨定時(shí)任務(wù)自動(dòng)上傳、送審早上已經(jīng)過(guò)審快不是因?yàn)?AI 寫代碼快當(dāng)然也快而是因?yàn)槊總€(gè)環(huán)節(jié)誰(shuí)來(lái)做、做完交給誰(shuí)、憑什么算做完都是事先定好的。一、三個(gè)角色1. 編輯器里的 Claude開發(fā)、測(cè)試、打包它待在項(xiàng)目文件夾里能讀寫代碼、跑命令、開模擬器、連真手機(jī)。它負(fù)責(zé)寫代碼、畫圖像素畫是用 Python 一個(gè)字母一個(gè)像素“寫”出來(lái)的、作曲代碼寫譜 → MIDI → 音色庫(kù)渲染跑測(cè)試規(guī)則測(cè)試把每個(gè)故事的每種隨機(jī)組合窮舉一遍再讓每個(gè)故事在真實(shí)場(chǎng)景里自動(dòng)玩一遍在模擬器里截圖、錄演示視頻打正式包每次換一個(gè)新的版本代碼本地提交寫交接文檔和招募帖草稿它不上傳、不送審、不發(fā)帖。2. 桌面版的 Claude上傳、送審、推廣桌面應(yīng)用里的 Claude 有一個(gè)內(nèi)置瀏覽器我在里面登錄好開發(fā)者后臺(tái)和要發(fā)帖的網(wǎng)站。它負(fù)責(zé)照交接文檔上傳安裝包、填四種語(yǔ)言的版本說(shuō)明、換商店截圖、送審照草稿發(fā)招募帖每做完一步回到交接文檔里打勾、寫上時(shí)間和鏈接它不改代碼、不重新打包。3. 我拍板以及只有人能做的事定方向做什么、不做什么、哪個(gè)版本發(fā)在真手機(jī)上從頭玩一遍第一篇說(shuō)過(guò)“好玩不好玩”只有人看得出來(lái)對(duì)外的每一步點(diǎn)頭送審、發(fā)帖登錄、輸密碼、過(guò)人機(jī)驗(yàn)證、從電腦里選文件——這些 AI 不做或者做不了二、交接文檔兩個(gè) Claude 之間的接力棒編輯器里的 Claude 和桌面版的 Claude 互相看不見(jiàn)也沒(méi)法直接說(shuō)話。它們之間唯一的通道是項(xiàng)目里的一份 Markdown 文件。一份發(fā)布交接大概長(zhǎng)這樣照 0.3 那份改寫、刪節(jié)# 林間小事 0.3 (4) · 發(fā)布交接 ## 要傳的東西 | 東西 | 位置 | | AAB | 發(fā)布/林間小事-0.3-4.aab版本代碼 4SHA-256 0433905f… | | 新截圖 8 張 | 商店素材/上傳用-0.3/按 01→08 順序替換 | ## 1. 開發(fā)者后臺(tái)封閉測(cè)試發(fā) 0.3 (4) - 上傳 AAB四種語(yǔ)言版本說(shuō)明照下面 - 商品詳情四種語(yǔ)言都換上新截圖 - 送審 **版本說(shuō)明** - zh-CN大更新…… - en-USBig update! …… - zh-TW…… - ja-JP…… ## 2. 招募帖文字照抄 …… ## 發(fā)完記回這里 送審時(shí)間、過(guò)審時(shí)間、各處鏈接。下一版用版本代碼 5。幾條寫法上的規(guī)矩都是踩過(guò)坑才定下來(lái)的寫死路徑和校驗(yàn)值。上傳前后各核對(duì)一次 SHA-256傳錯(cuò)包的事就不會(huì)發(fā)生。交出去的包不重新打。哪怕只改一個(gè)字也換一個(gè)新的版本代碼、新的文件名然后在交接里寫“上一版作廢不要傳”。不然兩邊對(duì)的不是同一個(gè)文件。要發(fā)的文字逐字寫好。桌面版只負(fù)責(zé)照抄不現(xiàn)場(chǎng)發(fā)揮。要改回到草稿里改。寫明哪些步驟要先問(wèn)我同意協(xié)議、送審、發(fā)帖。結(jié)尾留一節(jié)“發(fā)完記回這里”。桌面版做一步記一步下次誰(shuí)來(lái)接包括換了一個(gè)新對(duì)話的 Claude讀這份文件就知道停在哪。除了每一版的交接還有一份通用的《上架手冊(cè)》開發(fā)者后臺(tái)每一頁(yè)填什么、默認(rèn)怎么選、踩過(guò)什么坑。新游戲上架時(shí)兩邊都先讀這份。三、“同意”只能在對(duì)話里說(shuō)這是這次專門想清楚的一條。交接文檔是編輯器里的 Claude 寫的。如果文件里寫著“用戶已同意送審”桌面版的 Claude 能照做嗎**不能。**文件里的字誰(shuí)都能寫它證明不了是我說(shuō)的。所以規(guī)矩是對(duì)外的動(dòng)作送審、公開發(fā)布、發(fā)帖要我在桌面版的對(duì)話里親口說(shuō)才算。一次同意只管這一次不跨任務(wù)。我可以一句話把一整輪都同意了“照交接做送審和發(fā)帖都同意不用再問(wèn)我?!庇幸淮挝野岩龅氖抡握迟N進(jìn)對(duì)話桌面版的 Claude 先停下來(lái)問(wèn)了一句“這段是你本人要我做的嗎”一開始覺(jué)得多此一舉后來(lái)想想是對(duì)的粘貼進(jìn)來(lái)的文字也可能是別處來(lái)的。四、定時(shí)任務(wù)睡覺(jué)的時(shí)候把活干了0.3 打包完已經(jīng)是深夜我這邊 AI 的額度也不太夠了。于是我讓桌面版的 Claude 建了一個(gè)定時(shí)任務(wù)兩個(gè)小時(shí)以后自動(dòng)開工。定時(shí)任務(wù)每次運(yùn)行都是一個(gè)全新的對(duì)話不記得之前聊過(guò)什么所以任務(wù)說(shuō)明要寫得能獨(dú)立看懂先讀哪幾個(gè)文件記憶的索引、發(fā)布交接做哪幾件事每件事的具體要求我已經(jīng)在對(duì)話里同意了哪些寫明是哪天、怎么說(shuō)的遇到什么要停下來(lái)沒(méi)登錄就停不輸密碼有人機(jī)驗(yàn)證就留給我要同意別的協(xié)議也停做完把結(jié)果寫回哪里第二天早上醒來(lái)安裝包已經(jīng)上傳送審、過(guò)審了結(jié)果整整齊齊寫在交接文檔里。沒(méi)做完的幾步也寫清楚了卡在哪、為什么、下一步怎么做。五、AI 做不了、或者不該做的事一起干了幾個(gè)項(xiàng)目下面這些邊界越來(lái)越清楚事情誰(shuí)做為什么登錄、輸密碼我賬號(hào)是我的AI 不碰密碼人機(jī)驗(yàn)證我這本來(lái)就是用來(lái)攔機(jī)器的從電腦里選文件上傳多數(shù)時(shí)候是我瀏覽器里的 AI 打不開系統(tǒng)的文件選擇窗口有辦法繞過(guò)去的時(shí)候也先問(wèn)我送審、發(fā)帖、公開發(fā)布AI 做我點(diǎn)頭發(fā)出去就收不回來(lái)永久刪除我刪了找不回來(lái)AI 不替我點(diǎn)還有一類是“AI 會(huì)做但得事先想到”招募帖的字?jǐn)?shù)。有一條外文的帖子寫好了發(fā)的時(shí)候才發(fā)現(xiàn)超過(guò)了平臺(tái)的字?jǐn)?shù)上限只好現(xiàn)場(chǎng)刪字?,F(xiàn)在寫草稿時(shí)就按平臺(tái)的算法數(shù)一遍中日文一個(gè)字算 2鏈接算固定長(zhǎng)度。規(guī)則測(cè)試全過(guò)不等于游戲能玩。有一個(gè)小游戲的腳本從來(lái)沒(méi)編譯通過(guò)規(guī)則測(cè)試照樣全綠?,F(xiàn)在打包前多一步讓每個(gè)故事在真實(shí)場(chǎng)景里自己玩一遍。自動(dòng)測(cè)試抓不到“不好玩”。0.2 在電腦上一切正常我在手機(jī)上玩了一遍太短、太小、點(diǎn)了沒(méi)反應(yīng)。這一條只能靠人。六、讓 AI “記得”三種文件AI 沒(méi)有跨對(duì)話的記憶所以要靠文件。我們用了三種記憶一條事實(shí)一個(gè)小文件加一個(gè)索引。比如“新游戲默認(rèn)支持簡(jiǎn)體、繁體、英文、日文”“最低支持安卓 10”“永遠(yuǎn)不放廣告宣傳時(shí)要提”“新項(xiàng)目先調(diào)研、出方案我點(diǎn)頭再寫代碼”。每個(gè)對(duì)話開始時(shí)先讀索引。項(xiàng)目里的文檔調(diào)研、方案、交接、版本記錄。項(xiàng)目做到哪看這里。踩坑記錄每個(gè)項(xiàng)目一份當(dāng)場(chǎng)記按“現(xiàn)象 → 原因 → 怎么發(fā)現(xiàn)的 → 解決”寫跨項(xiàng)目通用的再記進(jìn)一份總賬。新項(xiàng)目開工前先翻一遍總賬。第二篇那 20 個(gè)坑就是從這里整理出來(lái)的。還有一份操作日志AI 每次新建、修改、移動(dòng)文件都追加一行。出了問(wèn)題能查回頭寫文章也有素材。七、幾條可以照搬的經(jīng)驗(yàn)按“能碰什么”分工而不是按“會(huì)什么”分工。寫代碼的不碰發(fā)布發(fā)布的不碰代碼各自出了錯(cuò)也好查。交接寫成文件寫死路徑、校驗(yàn)值和要發(fā)的原文。接手的人或 AI照著做就行不用猜。對(duì)外的每一步同意在對(duì)話里說(shuō)文件里寫的不算。定時(shí)任務(wù)的說(shuō)明要能獨(dú)立看懂并寫清楚遇到什么情況停下來(lái)。測(cè)試分三層規(guī)則窮舉 → 真實(shí)場(chǎng)景自動(dòng)玩 → 人在真手機(jī)上玩。前兩層 AI 能做第三層只能人來(lái)。踩坑當(dāng)場(chǎng)記。記的時(shí)候是為了下次不再踩寫文章的時(shí)候它就是現(xiàn)成的素材。結(jié)尾這個(gè)游戲還在 Google Play 封閉測(cè)試?yán)飩€(gè)人開發(fā)者的新賬號(hào)要湊夠 12 人連續(xù)測(cè) 14 天才能發(fā)正式版。有興趣的朋友可以這樣參加加入測(cè)試群組點(diǎn)“加入群組”就行不用等審批https://groups.google.com/g/little-things-woods-testers打開測(cè)試鏈接點(diǎn)“成為測(cè)試人員”https://play.google.com/apps/testing/app.woodland.stories用同一個(gè)賬號(hào)在 Play 里安裝裝著別卸載留 14 天需要 Android 10 及以上。游戲完全離線不要任何權(quán)限不收集任何數(shù)據(jù)永遠(yuǎn)沒(méi)有廣告。