2020 年,一位保加利亞開發(fā)者突發(fā)奇想,能不能在網(wǎng)頁上復(fù)刻紅警 2?
于是他用 5 年時間,用最極致的人肉逆向,一行行手寫代碼,對照著《紅警 2》去模擬、還原每一個運行邏輯 。
最終寫出了網(wǎng)頁紅警,讓每個想懷舊的 80、90 后,不用折騰和配置環(huán)境,只要打開瀏覽器就能回到小時候。
這件事,差評君還給大家寫過。
然而就在一個月前,我們身邊有人也做了類似的事。
他把西山居早期的三款作品《新劍俠情緣》、《月影傳說》、《劍俠情緣 2》,全部復(fù)刻到網(wǎng)頁版,移動端也做了適配,點開即玩。


差評君現(xiàn)在還記得小學(xué)放學(xué)回家就打開電腦,操控著獨孤劍在臨安城里亂逛,跟酒樓里的醉郎中聊幾句居然能觸發(fā)隱藏武功。然后又在《月影傳說》里操控楊影楓一路撿草藥,撿著撿著追一個黑衣人到了蝙蝠洞,結(jié)果遇到一群強盜被圍毆怎么也打不過去。
時隔 20 多年打開這個復(fù)刻版,差評君發(fā)現(xiàn)味道很純正:NPC 對話還是那么啰嗦,按 V 打坐恢復(fù)真氣也還在,地圖角落里那些藏在石頭后面的寶箱也沒少。

復(fù)刻這三款游戲的作者,沒有手寫一行代碼。
他完全依靠 AI,用不到一個月時間,不僅復(fù)刻了三款完整的武俠 RPG,甚至順手搭了一個通用游戲引擎,調(diào)試器、編輯器一應(yīng)俱全,方便別人參考復(fù)刻其他游戲。

陳老師從小學(xué)三四年級就開始自學(xué)編程,有著近 20 年的代碼經(jīng)驗,早早就在 GitHub 上開源過眾多項目 。
按理說,這樣一位資深極客,應(yīng)該對手寫代碼有著極深的信仰。
但陳老師和我說,他現(xiàn)在連一個等號都不愿意敲了。
因為他試過一套固定流程:先讓當前最強大模型寫出詳細的設(shè)計文檔,再嚴格按文檔分模塊執(zhí)行,每個模塊獨立驗證,跑通了再拼到一起。這樣產(chǎn)出的工程架構(gòu)和代碼質(zhì)量,大部分時候確實比自己從零手寫的更高。
其實早在 2020 年,陳老師就動過復(fù)刻這些童年神作的念頭,但在盤算過純手工逆向二進制文件、再重寫整套游戲系統(tǒng)的工程量后,放棄了。
直到最近,他認為 AI 的能力終于跨越了那個臨界點 。
因此,這次復(fù)刻不光是一次童年懷舊,更是一次對 AI 編程的極限測試。

這些游戲文件是二進制的,為了分發(fā)和安裝,所有信息都被打包壓縮成人類讀不懂的格式。而 AI 拿到文件后,開始瘋狂調(diào)用各種查看工具,列出文件結(jié)構(gòu)、讀十六進制,寫 Python 代碼嘗試解析。一條路走不通,馬上就換一種邏輯重試。
在過去,程序員是要拿著十六進制編輯器,靠經(jīng)驗和直覺一點點分析,再寫腳本反復(fù)嘗試的。
陳老師估算 AI 在這個環(huán)節(jié)的效率,是人類的 10 到 100 倍 。
我尋思也合理,AI 擅長暴力窮舉,它不需要睡覺、也不會煩躁、更不會在第三個小時打開抖音刷會差評君。

在用 VScode Copilot 復(fù)刻時,陳老師主要用兩個模型:Claude Opus 負責深度思考,當架構(gòu)師,把游戲拆成模塊、寫出技術(shù)文檔;Claude Sonnet 速度快,當執(zhí)行者,根據(jù)文檔把代碼寫出來。
讓人頭皮發(fā)麻的是,AI 已經(jīng)不再只是埋頭執(zhí)行,它還能具備了自主糾錯能力。
有一次做尋路系統(tǒng),陳老師覺得這個模塊太吃性能,TypeScript 可能扛不住,就讓 Sonnet 試試用 Rust 重寫。Sonnet 寫完之后自己跑了一輪性能對比,發(fā)現(xiàn) Rust 和 TypeScript 之間來回翻譯傳遞數(shù)據(jù)的開銷太大,總體算下來反而更慢了。
于是,它主動將這個測試結(jié)論反饋給陳老師,并建議回退到 TypeScript 方案 。

從 1 月 25 日開工到 2 月底收尾,刨去春節(jié)休息,滿打滿算僅用了 20 天左右 。期間,陳老師與 AI 的對話次數(shù)達到四五千次 。
他通常會同時拉起 5 到 6 個 AI 對話窗口,并行處理不同的模塊 。白天在公司上班時,也是遠程桌面讓家里的 AI 在后臺瘋狂打工,晚上回家直接驗收成果 。

確實,差評君也用 AI 寫過 App,結(jié)果每加一個功能就多一個 bug,甚至修一個 bug,還會冒出來兩個新的。
陳老師說,零編程經(jīng)驗的人用 AI 寫代碼最大誤區(qū),就是讓 AI 一口氣寫個完整 APP,缺少架構(gòu)設(shè)計。一開始還行,后面越加功能越亂,因為 AI 最擅長模仿之前寫法,一旦前期邏輯混亂,后期就越來越亂。
所以陳老師做法是分模塊開發(fā),每個模塊單獨設(shè)計、單獨測試,跑通了再拼。遇到 bug 也是把運行日志發(fā)給 AI,定位到具體模塊進行修復(fù)。在每次完成大改動后,他還會新開一個窗口,讓另一個 AI 從零開始掃描剛改過的代碼。
總之,經(jīng)歷了不下 10 輪的優(yōu)化與重構(gòu),這近 20 萬行代碼最終成功落地。

打開游戲你就知道了:角色在地圖上走動時能會繞過障礙物找到最短路線。天氣會從晴天突然轉(zhuǎn)雨、雨滴還會掛在屏幕緩緩落下,這效果在原版里壓根沒有,是復(fù)刻版新加的。武功系統(tǒng)也做了 22 種飛行軌跡和 10 種狀態(tài)效果,螺旋的、追蹤的、扇形擴散的,能組合出幾百種法術(shù)。

不僅如此,他還做了一個游戲編輯器。
武功、NPC、地圖、物品、對話樹,13 個模塊全能在網(wǎng)頁上直接編輯,改完刷新就能在游戲里看到效果。以后只要把引擎接入 AI,用戶就能一句話生成游戲劇情和 MOD 了。


陳老師的答案是目前不會,但程序員這個職業(yè)的定義,已經(jīng)在改寫了。
過去要獨立開發(fā)游戲,你必須要把 70% 精力投入到敲代碼、做建模、修 Bug、優(yōu)化性能上,30% 留給游戲玩法 。
但現(xiàn)在,AI 已經(jīng)能夠包攬這些代碼活,你需要用 30% 的精力去做架構(gòu)決策,剩下 70% 傾注到玩法設(shè)計中 。
比如物品交互邏輯怎么定?數(shù)值成長曲線怎么畫?NPC 行為樹怎么排?這些屬于產(chǎn)品和設(shè)計層面的決策,是沒有標準答案的 。AI 可以給你提供一百套方案,但最終想做出一款怎樣的游戲,依然需要人類來拍板 。
換句話說,陳老師這 20 年的編程經(jīng)驗并沒有作廢,而是轉(zhuǎn)化為了復(fù)刻游戲過程中的架構(gòu)決策。
像差評君這種沒有編程經(jīng)驗的人,遇到 bug 不知道怎么定位,游戲系統(tǒng)怎么拆也沒概念,有 AI 也照樣干瞪眼。

這次聊天也引出了一個更深層次的推論:
程序員工作重心的分配已經(jīng)從 "7 比 3" 變成了現(xiàn)在的 "3 比 7",那么隨著 AI 模型的極速迭代,這個比例會不會很快變成 "1 比 9",甚至 "0 比 10"?
這種需要有經(jīng)驗的人來主導(dǎo)代碼的階段,還會持續(xù)多久?
甚至明天之后,連 " 游戲該怎么設(shè)計 " 這種創(chuàng)意工作,AI 會不會也能比大部分人想得更快、更周全。

畢竟一年多之前 DeepSeek 才剛發(fā)布,AI 還只是幫你補幾行代碼,寫點最簡單程序,甚至再往前推一年,大家討論的還是 AI 客服。
如今 20 天、20 萬行代碼、三款游戲,就是一個老程序員和 AI 合作的結(jié)果。
從沒有人會想到程序員有一天居然不用手敲代碼,行業(yè)內(nèi)還出現(xiàn)了 " 非遺匠心手寫代碼,古法編程 " 的調(diào)侃,明示手寫代碼已是古法。

一面是你最熟練的那部分手藝,正在變成 AI 的默認功能。
AI 已從聊天框里的一問一答,變成了能自己閱讀文檔、記住上下文、調(diào)用工具、主動干活還能檢查錯誤的工具。
這種變化正在從編程領(lǐng)域蔓延到所有腦力勞動,設(shè)計從手搓素材變成了生成和調(diào)整 AI 生成的方案,視頻從手動剪輯變成了創(chuàng)意策劃 +AI 執(zhí)行。
各行各業(yè)的工作重心正以月為單位被重新定義,人類經(jīng)驗、技能的保質(zhì)期也在跟著頂級模型的版本號走。

從想法到成品之間的距離被極速壓縮了。
一個從未學(xué)過剪輯的人,可以把腦子里的畫面直接變成一支短片。一個人腦海中恢弘的構(gòu)想,也不再需要等待數(shù)十萬資金和一個完整的團隊去落地。
執(zhí)行力是在貶值,但知道 " 該做什么 " 的人,比以前會更不可替代。
沒人知道這枚硬幣最終會落向哪一面。但至少現(xiàn)在,它給了每個人重新發(fā)牌的機會。
撰文:刺猬
編輯:莽山烙鐵頭 面線
美編:素描
圖片、資料來源:
https://miu2d.com/


