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


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

不過讓人覺得震撼的是:
復刻這三款遊戲的作者,沒有手寫一行代碼。
他完全依靠 AI,用不到一個月時間,不僅復刻了三款完整的武俠 RPG,甚至順手搭了一個通用遊戲引擎,調試器、編輯器一應俱全,方便別人參考復刻其他遊戲。

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

陳老師做的第一件事,就是把遊戲客戶端的原始資源文件直接丟給了 AI,讓 AI 去解析。
這些遊戲文件是二進制的,為了分發和安裝,所有資訊都被打包壓縮成人類讀不懂的格式。而 AI 拿到文件後,開始瘋狂調用各種查看工具,列出文件結構、讀十六進制,寫 Python 代碼嘗試解析。一條路走不通,馬上就換一種邏輯重試。
在過去,程序員是要拿著十六進制編輯器,靠經驗和直覺一點點分析,再寫腳本反覆嘗試的。
陳老師估算 AI 在這個環節的效率,是人類的 10 到 100 倍 。
我尋思也合理,AI 擅長暴力窮舉,它不需要睡覺、也不會煩躁、更不會在第三個小時打開抖音刷會負評君。

這還只是開始,真正的考驗是如何重建整套遊戲系統。
在用 VScode Copilot 復刻時,陳老師主要用兩個模型:Claude Opus 負責深度思考,當架構師,把遊戲拆成模塊、寫出技術文檔;Claude Sonnet 速度快,當執行者,根據文檔把代碼寫出來。
讓人頭皮發麻的是,AI 已經不再只是埋頭執行,它還能具備了自主糾錯能力。
有一次做尋路系統,陳老師覺得這個模塊太吃性能,TypeScript 可能扛不住,就讓 Sonnet 試試用 Rust 重寫。Sonnet 寫完之後自己跑了一輪性能對比,發現 Rust 和 TypeScript 之間來回翻譯傳遞數據的開銷太大,總體算下來反而更慢了。
於是,它主動將這個測試結論反饋給陳老師,並建議回退到 TypeScript 方案 。

就這麼一個負責想、一個負責干,項目推進得比陳老師自己預期的還快。
從 1 月 25 日開工到 2 月底收尾,刨去春節休息,滿打滿算僅用了 20 天左右 。期間,陳老師與 AI 的對話次數達到四五千次 。
他通常會同時拉起 5 到 6 個 AI 對話窗口,並行處理不同的模塊 。白天在公司上班時,也是遠程桌面讓家裡的 AI 在後台瘋狂打工,晚上回家直接驗收成果 。

看到這一定有人質疑:20 萬行代碼全靠 AI 自動生成,真不是屎山代碼?
確實,負評君也用 AI 寫過 App,結果每加一個功能就多一個 bug,甚至修一個 bug,還會冒出來兩個新的。
陳老師說,零編程經驗的人用 AI 寫代碼最大誤區,就是讓 AI 一口氣寫個完整 APP,缺少架構設計。一開始還行,後面越加功能越亂,因為 AI 最擅長模仿之前寫法,一旦前期邏輯混亂,後期就越來越亂。
所以陳老師做法是分模塊開發,每個模塊單獨設計、單獨測試,跑通了再拼。遇到 bug 也是把運行日誌發給 AI,定位到具體模塊進行修復。在每次完成大改動後,他還會新開一個窗口,讓另一個 AI 從零開始掃描剛改過的代碼。
總之,經歷了不下 10 輪的優化與重構,這近 20 萬行代碼最終成功落地。

所以這 20 萬行代碼到底做了什麼?
打開遊戲你就知道了:角色在地圖上走動時能會繞過障礙物找到最短路線。天氣會從晴天突然轉雨、雨滴還會掛在螢幕緩緩落下,這效果在原版里壓根沒有,是復刻版新加的。武功系統也做了 22 種飛行軌跡和 10 種狀態效果,螺旋的、追蹤的、扇形擴散的,能組合出幾百種法術。

由於原版遊戲是西山居用自創的腳本語法把整個劇本串起來的,為了讓遊戲在瀏覽器里跑起來,陳老師還把上百種劇情指令全部重寫了一遍,並且加入了現代遊戲行業通用的 Lua 語言支持,以後想給遊戲加新劇情、改對話分支,不用去琢磨西山居獨創語法,用 Lua 腳本就能成。
不僅如此,他還做了一個遊戲編輯器。
武功、NPC、地圖、物品、對話樹,13 個模塊全能在網頁上直接編輯,改完刷新就能在遊戲裡看到效果。以後只要把引擎接入 AI,用戶就能一句話生成遊戲劇情和 MOD 了。

這三款遊戲在 B 站上本來就有一批 MOD 創作者,以前都是純手工製作,費時費力。如果這個功能做出來,每個人都能做出自己的劍俠情緣。

寫到這,那個老生常談的問題又來了:程序員真要被替代了嗎?
陳老師的答案是目前不會,但程序員這個職業的定義,已經在改寫了。
過去要獨立開發遊戲,你必須要把 70% 精力投入到敲代碼、做建模、修 Bug、優化性能上,30% 留給遊戲玩法 。
但現在,AI 已經能夠包攬這些代碼活,你需要用 30% 的精力去做架構決策,剩下 70% 傾注到玩法設計中 。
比如物品交互邏輯怎麼定?數值成長曲線怎麼畫?NPC 行為樹怎麼排?這些屬於產品和設計層面的決策,是沒有標準答案的 。
AI 可以給你提供一百套方案,但最終想做出一款怎樣的遊戲,依然需要人類來拍板 。
換句話說,陳老師這 20 年的編程經驗並沒有作廢,而是轉化為了復刻遊戲過程中的架構決策。
像負評君這種沒有編程經驗的人,遇到 bug 不知道怎麼定位,遊戲系統怎麼拆也沒概念,有 AI 也照樣乾瞪眼。

但。。。
這次聊天也引出了一個更深層次的推論:
程序員工作重心的分配已經從「7 比 3」變成了現在的「3 比 7」,那麼隨著 AI 模型的極速疊代,這個比例會不會很快變成「1 比 9」,甚至「0 比 10」?
這種需要有經驗的人來主導代碼的階段,還會持續多久?
甚至明天之後,連「遊戲該怎麼設計」這種創意工作,AI 會不會也能比大部分人想得更快、更周全。

在這個時間尺度被極度壓縮的領域裡,沒人敢給出確切定論 。
畢竟一年多之前 DeepSeek 才剛發布,AI 還只是幫你補幾行代碼,寫點最簡單程序,甚至再往前推一年,大家討論的還是 AI 客服。
如今 20 天、20 萬行代碼、三款遊戲,就是一個老程序員和 AI 合作的結果。
從沒有人會想到程序員有一天居然不用手敲代碼,行業內還出現了「非遺匠心手寫代碼,古法編程」的調侃,明示手寫代碼已是古法。

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

而另一面,是一扇你從未打開過的門。
從想法到成品之間的距離被極速壓縮了。
一個從未學過剪輯的人,可以把腦子裡的畫面直接變成一支短片。一個人腦海中恢弘的構想,也不再需要等待數十萬資金和一個完整的團隊去落地。
執行力是在貶值,但知道「該做什麼」的人,比以前會更不可替代。
沒人知道這枚硬幣最終會落向哪一面。但至少現在,它給了每個人重新發牌的機會。






