工程師就是要解決問題。
文/托馬斯之顱&秋秋
離職米哈游后,丁盛豪決定創業,并在園區隔壁創建了柚衣科技,組建了一支AI游戲團隊。
2021年,大二在讀的丁盛豪在實習一個月后迅速轉正,正式加入米哈游。當時HR犯了難,因為用高中學歷身份入職的員工,之前確實沒辦過。
公司這么早轉正丁盛豪,自然有它的道理。
據丁盛豪回憶,實習之后,他先是用5元成本的鍵盤和200元的手機,實測云游戲延遲,重新手搓全套方案并量產,并在一周內寫出了當時延遲最低的云游戲方案。在轉正之后,他也曾幫多個項目解決了性能優化等方面的難題。
多名米哈游員工告訴葡萄君,丁盛豪在公司的綽號是「小天才」——他就像一塊磚,哪里需要哪里搬,總能解決各種棘手的問題。
這一切聽上去實在過于離譜,但和丁盛豪見上一面之后,葡萄君理解了很多傳言的合理性。
柚衣科技的辦公室看起來亂七八糟,滿地都是各種DIY設備,機房旁邊的錄音室更是堆滿了垃圾。
于是經過一番計算,最后他花十幾塊錢,購買了常常用于婚慶的EVA實心泡沫棒,把環境底噪一下子降低了幾十dB……整個發現問題、解決問題的流程,堪稱工程師思維的縮影。
2023年,為了滿足自己對AI方向自由探索的愿望,順便修完延畢的學業,丁盛豪選擇離職創業。在兩年多的時間里,他憑借10個人的團隊,在一周只工作四天的工作制度下,做出了AI驅動的CRPG游戲Demo,并拿到了兩輪數百萬美金的融資。
可能有人聽到AI游戲就發怵,畢竟過去很多案例證明,目前該賽道仍概念大于實際,很多產品要么AI與游戲的體驗割裂,要么看不到AI在游戲里的價值,更有甚者,恨不得接入個Chat,就說自己是AI游戲。
但丁盛豪團隊這款名為《印格》的AI游戲不太一樣:它更像是傳統CRPG,擁有碎片化敘事和多分支選擇,玩家的行為經常會引發蝴蝶效應影響世界發展,但這些變化又會被收束在「拯救妹妹、揭開真相」的主線中,不會讓人過于出戲或迷失。
用丁盛豪的話說,這相當于AI當導演的密室逃脫,游戲會實時根據玩家的反應調度內容。
聽到這兒,可能很多人都會跟葡萄君一樣心里打鼓:丁盛豪這個人靠譜嗎?他們游戲真正的差異點在哪?其背后的AI技術真具有突破性和可行性?前一段時間,我們來到了柚衣科技的辦公室,試玩了游戲,并和丁盛豪聊了三個小時。
剛好能看到米哈游公司前的LOGO
01
入職米哈游,
一周寫出一線云游戲方案
丁盛豪在上學那會兒,就是一位追求技術到偏執的人。
高中期間,他就在開源社區自學編譯器,在GitHub上闖出了不小的名氣。為了給自己掙學費,他做過不少外包,搞過網站搭建,也做過機器人編程。
后來,丁盛豪覺得自學編程已經到了瓶頸,需要更系統化的知識結構,于是申請了慶應義塾大學,報讀環境信息學。得益于其技術基礎,他參與了很多功能性核磁共振(fMRI)、腦電(EEG)等實驗的設計和改進。期間他還接觸了早期的AI技術,試著利用神經網絡幫同學分析實驗結果。
大二時,有朋友邀請丁盛豪幫忙優化SaaS數據庫。看到丁盛豪的表現后,朋友的朋友:元氣資本合伙人老金吐槽他技術力這么強,好歹找個服務用戶更多的產品。"不像SaaS,干了好幾天才四個客戶,其中兩個還相互并購了。"
正好,丁盛豪是重度游戲愛好者,其Steam賬戶至今已經有15年的歷史。于是老金問了他一個問題:"你聽說過米哈游嗎?"
彼時《原神》剛上線,雖然米哈游也投資了一家云游戲技術服務商,但高層認為,團隊自身不能放棄自研,于是讓一位創始團隊的成員帶隊組建云游戲團隊。
正巧,面試丁盛豪的就是這位云游戲業務負責人。丁盛豪在服務器優化方面的經驗,剛好對上了他們的需求,負責人當場拍板:我們就缺做優化的。
加入米哈游后,丁盛豪僅用了一個月就被破格轉正。
現在回想起來,他表示這主要因為他在剛進入米哈游時做的兩件事:
第一件事,是花了一周從零開始手搓出比肩大廠、延遲體驗更好的云游戲方案,發現并解決了先前云游戲技術存在的延遲、掉幀問題。
丁盛豪說,方案能這么快寫出來并落地,也跟這兩個問題有關:那時大多數的云游戲方案,都是基于谷歌WebRTC框架的衍生,只要弄懂原理就能很快寫出來。
不過這種「粗加工」也使他們很難直接獲取延遲數據,只能對捕獲屏幕、編碼、網絡、封包等云游戲工作環節的延遲組合計算,獲得最終數值。
了解硬件工作原理的丁盛豪認為這套算法并不嚴謹。"萬一某環節不在計算范圍怎么辦?比如捕獲和編碼環節會在GPU內被加速,算法得出的延遲很有可能主要來自于PCIe通訊的時間,而非真實延遲。"
為了得出用戶實際體驗云游戲的延遲,他先花了5塊錢制作了一個只有R鍵和LED燈的鍵盤PCB電路:R鍵是《原神》弓箭角色瞄準的操作,從拉弓到屏幕出現準星的時間能看作具體的延遲過程。
然后他又用200塊錢,從閑魚淘了一部舊款索尼手機——因為它可以拍攝960幀的高速攝影。借此,丁盛豪發現當時云游戲解決方案的實際延遲在100毫秒以上,而非之前組合計算得來的30毫秒。這也解釋了此前測試時,為什么有很多玩家吐槽游戲遲滯、操作不跟手。
"后來某硬件大廠說他們的解決方案類似,不過是跟羅技合作定制鼠標檢測操作,然后在芯片中專門劃分出一塊區域計算延遲——當時我們就感慨,還是大廠資金充裕……"
根據真實延遲數據,丁盛豪開始反查云游戲的工作流,很快發現之前的方案會讓圖像在CPU和GPU中反復拷貝,產生大量延遲——這可以通過代碼優化,也是丁盛豪的方案延遲更低的原因。后來,米哈游還為這一系列優化技術申請了專利。
掉幀的問題也是類似的原因。
丁盛豪表示,由于谷歌WebRTC框架解決的是視頻會議需求,因此他們的絕大多數算法,是如何將一般只有15幀的視頻會議,插入到60HZ的屏幕中,以此獲得順滑的觀感。
但游戲的幀數一般在60幀或以上,這套算法會導致兩幀被插入到屏幕的同一個垂直同步周期內,一來二去,掉幀的問題就出現了。"我用高速攝像機一幀幀數游戲畫面,結果發現就十幾幀。"弄清原理后,他很快通過優化代碼、匹配幀率完成了優化。
解決了云游戲的硬性技術問題后,丁盛豪開始思考怎么解決成本問題。
他認為這先要有一個清晰的定位:優化成本的前提一定是保證品質,否則玩家的云游戲體驗會大打折扣。再考慮到Unity引擎的主循環對CPU L3緩存命中的需求較高,以及服務器CPU通常針對并行負載而非單線程進行優化,他們最終選擇使用家用電腦的CPU,作為云游戲的服務器。
但想要讓電腦CPU為云游戲工作,還需要解決兩個問題:如何設計機械結構使得PC可以被塞入服務器機柜?又該如何給家用PC引入BMC芯片以管理海量設備?"當時該芯片的貨源相當緊缺,被炒到一兩千元一顆,于是我就想,要不自己做一個類似功能的電路板?"
丁盛豪研究發現,手搓BMC芯片最大的挑戰是其集成度很高,但只要把電路做大一些,用多塊芯片的組合替代單一芯片功能,就能得到類似的控制效果。相應地,他同時也把適配服務器機柜的機械結構設計了出來,并用了大約半年時間完成量產。
完成這些工作的丁盛豪,在第二年很快閑了下來。其他項目組也開始時不時地借調他過來,幫忙解決一些性能優化問題:
比如,他曾用一周時間設計出了獨立的AI超分算法,以此保證云游戲圖像接收速率的同時,對其進行AI超分辨率優化,把畫面的分辨率提升上去;
再比如,他曾在幫某款游戲接入云游戲版本后,發現游戲的鏡頭移動異常緩慢,后來通過反編譯發現是某個加速度數值少了一個計算符號,因此幫項目組迅速定位到了BUG……
有接近米哈游的人士表示,當時公司里的很多員工也不知道丁盛豪的身份,只知道他留著長頭發,坐在老板工位附近十幾米,有什么問題就可以找他。一來二去,丁盛豪「小天才」的名號就在團隊內部傳開了。
02
離職米哈游,創業做AI游戲
然而,在米哈游做出了一些成績和名氣后,丁盛豪卻選擇了離職。
做出這個決定的時候,他剛剛在米哈游工作了兩年。在完成云游戲技術的大部分迭代后,他感覺工作沒有太多挑戰,很快陷入了迷茫狀態;與此同時,提前工作也讓他的學業未能及時完成,進入了延畢狀態。
"雖然公司沒有限制我遠程聽課、答辯,但確實有些事會拖著讓人走不開。有一次學校的老教授還給我打電話,說希望我能在他退休前畢業,因為AI+Compiler方向的論文可能只剩他可以幫忙審核了。"
正當丁盛豪迷茫時,GPT 3.5的爆火給他帶來了一些新動力。此前他就研究過一陣神經網絡模型Transformer,但受限于規模,只落地過一些參數量較小的模型。GPT 3.5的出現,讓他對AI的理解思路開闊了不少,"除了拿來做Chatbot,GPT 3.5還能做什么?"
巧的是,當時米哈游創始人蔡浩宇也在考慮做AI游戲。為了和蔡浩宇交流,丁盛豪做了一份詳細的提案。
提案主要探討如何在封閉系統約束AI。與常見提示詞策略不同,丁盛豪的方案更底層:直接修改現有模型的工作機制,使其只能輸出限定的詞匯(Token)。他用歐亨利的小說《麥琪的禮物》作為技術樣例,計劃無論輸入什么變量(如角色身份或物品變化),AI都會固定生成錯位的橋段,將故事引向戲劇性結局。
但很遺憾,這套注重可控性和低成本的方案和米哈游的AI戰略并不一致。為了更自由地實現這個想法,同時完成學業,丁盛豪在2023年5月離職米哈游,創立了柚衣科技。
順帶一提,他們的天使輪融資,正是來自丁盛豪老朋友老金所在的 Genkirakira L.P.(即元氣資本)。而掌趣科技作為該基金的主要 LP,長期聚焦 AI 在游戲領域的應用,此次投資也是其在這一布局的具體落子,正好與柚衣的 AI 敘事探索形成了呼應。
創業之后,丁盛豪繼續沿著那份提案中的技術方向逐步深入:
第一,什么品類的游戲,適合封閉系統的AI敘事?
丁盛豪第一個想到的就是CRPG,作為資深跑團愛好者,丁盛豪一直覺得這個品類存在幾個痛點:一是NPC不夠智能,這是AI可以優化的部分;二是劇情不夠豐富,沒辦法在用戶做出任何交互時給予反饋,同時又符合敘事邏輯。
"比如我在跑團時扮演有工程學背景的矮人,那我是不是可以炸掉酒館的承重柱,讓二樓塌下來?雖然美術資產沒辦法這么任意地匹配,但文本的反饋可以用AI解決。"
第二,怎樣的敘事邏輯,能同時兼容游戲性和AI自由度?
為了想清楚這個問題,丁盛豪先是試著去拆小說、電影的敘事邏輯,發現好像都不太對,直到不經意間,看到了互動小說領域的很多研究文獻,才感覺好像摸到了一些門路。
一位研究學者Emily Short寫過不少敘事類型的研究文章,在閱讀之后,丁盛豪發現了一種相當契合他想法的敘事概念:Storylets。
簡單來說,每一段敘事內容都能歸結為三部分組成的模塊,分別是發生條件、具體內容和導向結果。"條件決定了故事是否發生,內容可以根據各種因素修改,但大方向不會變,結果是它會引起什么變化,比如開啟另一段故事……當敘事模塊化后,就能支持不同編劇高效協作。"
另一篇文章,則介紹了使用這種敘事結構的游戲案例:《80 Days》。在這款產品中,玩家將扮演富人的仆人,幫他完成80天環游世界的目標,每次環游世界時遇到的經歷都會不太一樣,而且存在很多「蝴蝶效應」。
"比如某個地區的軍火比較便宜,你可以將其帶往高價區出售,但期間你有可能遭遇謀殺案,你會因為攜帶軍火而被認定為嫌疑人——類似的交錯組合的案例還有很多,而且你玩的時候基本感覺不到觸發了什么條件,而是這些事都是自然發生的。"
「觸發條件、具體內容、導向結果」敘事內容
丁盛豪認為,雖然人力沒能推算出Storylets的極限,但這種思路卻給AI生成,找到了一個既封閉又自洽的發揮空間。
想清楚邏輯后,丁盛豪就一邊嘗試寫將AI生成內容編譯成可執行劇本的引擎,一邊招人寫劇本、測試,反復驗證這條路的可行性……最終,在創業兩年多后,他用兩萬行代碼做出了一款相對成熟的AI編譯引擎。
"早期劇本寫得特別崩潰,要么AI生成的不對,要么人寫的東西跑不通——直到今年年初,邏輯突然神奇地跑通了。"
編譯引擎的作用,主要是將編劇創作的內容、AI生成的內容編譯成可執行的程序,并檢查編譯過程中的絕大部分問題。"故事的什么地方需要調用AI、生成時需要約束哪些東西、條件的設置是否有矛盾……這些都會基于一階謂詞邏輯的方式形式化驗證,比如A條件與B條件永遠無法同時發生,那么就會在這個地方報錯,讓編劇知道哪里需要修改。"
講到一階謂詞邏輯推理,丁盛豪展示了AI編譯引擎的后臺。那是一個由點和不同顏色的線條組成的3D圖形,"這是經過一階邏輯謂詞推理后生成的力引導圖,圖中的點代表了故事的條件,由點延伸出的紅線,代表事件走向結果,綠線則代表兩端的事件會相互影響,但不會導向結果。"
丁盛豪表示,這套編譯引擎同時影響了產品敘事邏輯和工作流,既讓復雜的動態網狀敘事、多周目體驗成為可能,又減輕了編劇在思考故事邏輯、分工協作方面的壓力。"具體來說,它會比純人工寫劇本的效率提升10-20倍。"
03
下一代的AI敘事游戲,
該是什么樣?
第一眼看去,《印格》采用了Q版+二次元的美術風格,與其他游戲相比,角色、場景等都有更高的飽和度。
"巧的是,我剛好發現最近這類美術風格的熱度趨勢出現了上漲,可能會在未來成為相對主流的審美。"
Demo的劇情和玩法則相對簡單,在快速閱讀的情況下,葡萄君大概花半個小時通關了單周目:
在游戲中,玩家需要探索一個科幻背景下的醫院,等待重病的妹妹完成手術,接她出院,同時逐步揭開世界的真相。
《印格》就像是大家期望中的CRPG:你將真正扮演一個有自主意識的角色,可以不按游戲規劃好的路線或方式推進劇情——而這些小心思,很有可能會產生連鎖反應:你偷藏東西的行為,可能會被NPC通過監控發現;隨手將翻肚皮的魚丟進垃圾桶,可能會讓某位NPC抑郁自殺……
這些細節彩蛋就像埋伏好的回旋鏢,在你第一遍體驗時,或許會覺得"這是設計好的劇情",但當重新玩或者開啟多周目時,就會發現很多劇情的結果,可能都跟你不經意間的某個選擇、某句話有著內在聯系——很多試玩玩家回過味后,基本都會表示震驚或后悔,并將挖彩蛋、改變某段劇情,作為持續體驗游戲的新動力。
等一下,為什么聊了這么多,葡萄君一直沒有提及任何和AI有關的關鍵詞?
沒錯,在體驗Demo時,我們幾乎沒有發現這是一款AI驅動敘事的游戲。
《印格》選擇了傳統CRPG左側畫面、右側文本的演出模式,NPC臺詞的播放流暢度跟預設好的一樣自然,只有當極個別大段文本生成時的AI思考過程,以及可以自由輸入文本對話的形式,才讓人恍然察覺AI的影子。
看到這里,或許會有人質疑:如果AI只是為了更好的內容體驗,那這款游戲跟多花點人力手搓劇情有什么區別?
首先,丁盛豪表示如果不是有AI參與,這款游戲根本做不出來:網狀敘事對內容產能的要求極高,如今《印格》的Demo如果純手工制作,可能再多加幾位編劇寫一年都寫不出來——就算寫出來,也可能因協作問題,導致不同的內容銜接生硬,影響玩家的沉浸體驗。
其次,他認為目前游戲處于Demo階段,由于需要保證玩家快速跑完流程,團隊并未實裝套話、NPC根據玩家反映實時給予提示或改變難度、NPC可以去擦除或改變玩家輸入的內容等更凸顯AI價值的獨特玩法。
"我們的Demo已經驗證了AI可以生成確定性的參數,而一旦有了參數,我們就可以借此設計更多樣的玩法,我相信這套邏輯在未來會有更多的可能性。"
提到未來,丁盛豪表示《印格》將按章節付費,在今年年底正式上線第一章,內容量將會是Demo版本的5倍左右。一位朋友還幫他預估了銷量,"如果排除AI對游戲的正面或負面影響,按照常規CRPG游戲來預估,這款游戲如果賣得好,銷量有可能會達到20萬到30萬。"
當然,盡管團隊對產品抱有市場預期,但他們更希望借助這款游戲,跑通AI敘事的邏輯。"我們未來會開放AI敘事編譯引擎,幫助更多產品優化敘事體驗。"
在丁盛豪看來,游戲敘事內容所需要的種種環節,都能在AI的加持下獲得大幅提升:
效率上,它能把團隊的人效比提升約20倍;
創作質量上,AI支持單人構建動態網狀敘事,輔助埋設伏筆并填坑;
操作上,0代碼基礎即可從劇本生成程序,且編劇只需少量提示詞即可讓AI交叉推算生成豐富內容,還能即興插入,或只寫上半部分劇情,由AI演算下半部分;
成本上,極簡提示詞使每小時的算力(Token消耗)僅需幾分錢,且TTS等模型可部署到用戶本地,進一步提升體驗流暢性。
同時,這套工作流讓游戲長線運營有更低的門檻和更高的想象力。丁盛豪表示,曾有玩家在ChinaJoy試玩時遇到了BUG,他們當場進入游戲后臺拆出模塊修復,在游戲第二周目時解決了BUG,且無需重啟客戶端,這一操作讓不少玩家表示:你們的AI游戲確實AI。
也有玩家會提出游戲劇情上的建議,比如不希望某位NPC死亡,這些如有必要,團隊也可以直接修改模塊,AI會自動演算新的世界線,保證劇情自洽。而這種動態調整在傳統獨立游戲中想都不敢想,畢竟光是修改幾個情節,就有可能引發服務器崩潰。
說到底,這套方案通過追溯AI技術的源頭,使其無需等待大模型的下一次突破,就能精準輸出開發者所需內容,讓游戲更快落地——更重要的是,它真正找到了AI與游戲的平衡點,讓AI游戲首先成為「體驗不錯的游戲」。
04
漕河涇最像硅谷的公司
當然,現在說什么都還太早,柚衣科技目前要緊的,還是讓《印格》盡快面見玩家,來驗證他們上述的諸多想法。
畢竟,雖然丁盛豪的創業心態還行,但不是每個同事都能像他那樣,對技術整體有明確的輪廓,能想象到產品和團隊的未來。在制作AI編譯引擎那會兒,大家也會懷疑團隊什么時候能夠成功,懷疑各種技術組件要如何拼裝在一起。
不過幸運的是,丁盛豪的團隊很早就實行了做四休三。"我們嚴格執行奈飛做四休三的彈性工作制,節假日的調休也不用補——當然周五還是按原定工作日計算,加班也沒有加班費。"
實行了一段時間后,丁盛豪發現這種作息不僅沒有影響工作效率,反而會額外激發團隊成員的創意、平衡團隊輸入和輸出的壓力,"周五我們會邀請人員交流分享經驗,大家可以自發報名。"
實行這項制度的深層原因,也是因為柚衣科技的愿景:利用AI創造出新的工作流。"既然如此,我們就必須接受先進的工作節奏和生產關系,讓大家看到AI帶來的實際效果,而不是一邊喊著降本增效,一邊讓大幾十人在那里卷。"
在這輪AI+游戲的創業風潮中,葡萄君見過不少公司。有人做過成功的游戲,有人來自頭部大廠的研究團隊,和他們相比,柚衣和丁盛豪相當年輕。但他們思考問題和解決問題的方式,卻有一種屬于上個世紀的復古感覺:一群離經叛道的極客,成天在車庫里不知道鼓搗些什么,但最后還真讓他們做出了既顛覆常識,又能滿足實際需求的東西。
之前曾有一線投資機構的朋友評價丁盛豪的團隊,說他們是自己見過的所有中國公司里最像硅谷的公司。這句話聽起來有點夸張,但如果把范圍縮小到漕河涇,我看相當貼切。
游戲葡萄招聘內容編輯,
點擊「閱讀原文」可了解詳情
推薦閱讀
游戲行業書籍推薦:
點擊下方名片,關注公眾號
(星標可第一時間收到推送和完整封面)