国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

游戲代碼應(yīng)該追求優(yōu)美,還是能跑就行?

0
分享至



游戲代碼的道與術(shù)。

今年我玩了近百個小時的《哈迪斯2》,其中一部分時間是在游戲的文件夾中度過的。

樂趣在于,《哈迪斯2》的大量核心邏輯、技能數(shù)值和關(guān)卡流程都是用Lua腳本編寫的,這些文件直接以純文本形式存在于游戲目錄中,可讀性很高,任何玩家都可以輕松閱讀、理解。

換句話說,進(jìn)入磁盤文件尋找contents/scripts,這其中的將近480個文件、50多萬行l(wèi)ua代碼,就像一本細(xì)致的游戲設(shè)定集,讓你能夠深入了解游戲的各個系統(tǒng)包含有哪些內(nèi)容,又是怎樣運(yùn)作起來的。

比如說,眾所周知“哈迪斯”系列以文本量大著稱,十分注重劇情故事和人物塑造,而在這些文件中,就可以找到所有角色的全部對話。


對劇情有興趣的玩家在翻看時,得做好“劇透”的準(zhǔn)備

清晰易讀的另一個好處是,不僅便于開發(fā)者后期對游戲的維護(hù)和拓展,同時也給與玩家更多操作的可能——因?yàn)橛螒驍?shù)值清晰可見,所以修改起來無非就是改動下數(shù)字,幾乎不費(fèi)功夫;Mod作者也不需要進(jìn)行復(fù)雜的逆向工程,還能結(jié)合開發(fā)者留下的注釋作為教程,難怪游戲在玩家社群中被稱為“對Mod”最友好的游戲。



12月剛剛在玩家社區(qū)引起熱議的人氣Mod《扎格列歐斯之旅(Zagreus Journey)》就是個挺典型的例子。

這個大型Mod允許玩家直接操縱2代主角墨利諾厄重新體驗(yàn)1代的全部冒險(xiǎn),不僅全面復(fù)刻了1代的關(guān)卡、敵人,還調(diào)整適配了戰(zhàn)斗機(jī)制,全面支持阿卡那牌、忠誓任務(wù)、信物等系統(tǒng),新增了數(shù)十種收集資源與大量劇情故事。



如果不是《哈迪斯2》的“代碼底子”足夠好,很難想象MOD作者能夠單槍匹馬在不到一年的時間里完成這么大的工作量。

這當(dāng)然是游戲的開發(fā)商Supergiant Games有意為之。早在2020年的初代《哈迪斯》時期,其就在與玩家交流的問答環(huán)節(jié)提及:“游戲的許多方面都很容易修改,因?yàn)閿?shù)據(jù)都是公開的?!蓖婕夷軌蚋乃械奈谋竞蛿?shù)字,并為游戲自由添加內(nèi)容不受限制。

而哈迪斯的口碑和熱度延續(xù),似乎也一定程度論證了“好代碼”的積極作用:不論從日后持續(xù)迭代游戲或是激活玩家參與內(nèi)容創(chuàng)作的角度,這些“背后功夫”都不是白做,還能夠賦予作品更廣闊的成長空間。

所以說,游戲開發(fā)者有什么理由不去盡力優(yōu)化代碼呢?

1

還真有?;蛘哒f,代碼“能跑就行”,至今仍是游戲行業(yè)中的一種普遍論調(diào)。

2024年的《小丑牌》拿獎拿到手軟,儼然被行業(yè)視為風(fēng)向標(biāo),但其游戲代碼卻遠(yuǎn)不如游戲設(shè)計(jì)那么優(yōu)美,許多復(fù)雜的游戲邏輯,如不同小丑牌的效果疊加、分?jǐn)?shù)計(jì)算,都是直接用大量的、嵌套的if-else語句堆砌而成,導(dǎo)致代碼看起來原始且重復(fù)。





游戲開發(fā)者LocalThunk曾經(jīng)直言不諱《小丑牌》的底層代碼是用“希望和夢想粘在一起的”,頗有些“俺尋思這可以,沒想到真的能行”的自嘲意味。

當(dāng)時也有不少遺憾的聲音,表示這樣的底層代碼使得《小丑牌》難以隨著時間的推進(jìn)進(jìn)化、拓展機(jī)制。

然而在相關(guān)討論中,經(jīng)常是支持者占了上風(fēng)。一方面,大量的if-else語句在代碼效率上固然不算好,但同時也具備容易理解的優(yōu)勢,這使得玩家能夠相對輕松地在核心玩法框架不變的前提下添加新的小丑牌。

另一方面,不少游戲開發(fā)者都站出來解釋,如果代碼能夠正常運(yùn)行,那么就沒必要鉆牛角尖。例如一位曾供職過R星的獨(dú)立開發(fā)者就表示:“要記住目標(biāo)是發(fā)布游戲,而不是編寫最簡潔、最優(yōu)雅的代碼。”



這些支持者大多認(rèn)為,只要代碼能跑,便于調(diào)試,并且沒有嚴(yán)重影響性能,那就已經(jīng)合格——大多數(shù)情況下,只要達(dá)成上述條件,玩家也不會在意游戲背后的代碼如何運(yùn)作。


就說飛沒飛吧

事實(shí)上, LocalThunk最終也是這么達(dá)成了自我和解:“它并不完美,但我知道每個東西在哪里,而且我是唯一需要維護(hù)它的人,所以這對我來說很有意義。如果它很蠢但是有效,那么它就不蠢!”

LocalThunk原本就只是一位業(yè)余游戲開發(fā)者,在游戲開發(fā)過程中神經(jīng)一直繃得很緊。根據(jù)其自己發(fā)表的開發(fā)記錄,《小丑牌》完成之前,他已經(jīng)長期焦慮、失眠,甚至一度因焦慮癥發(fā)作去了醫(yī)院。

可以想象,在開發(fā)者光是為了構(gòu)思創(chuàng)意、實(shí)現(xiàn)創(chuàng)意就已經(jīng)費(fèi)盡心神的情況下,很多時候是無暇顧及“精修”代碼的。

不是所有人都擁有高超的編程技術(shù),對于創(chuàng)意工作者,花費(fèi)時間在代碼上,往往意味著打磨創(chuàng)意、填充內(nèi)容的時間被擠占。

真要以代碼水平去要求《小丑牌》的話,此消彼長下,游戲的創(chuàng)意水平大概率達(dá)不到今天的高度,甚至連游戲能否正常發(fā)布都得打個問號——這其實(shí)是大多數(shù)獨(dú)立游戲都會面臨的問題。

很多玩家今天耳熟能詳?shù)淖髌罚瑢?shí)際上都充當(dāng)過編程的反面教材?!秱髡f之下》作者在處理對話系統(tǒng)時使用了一個巨大的switch語句,導(dǎo)致游戲中的每一個對話分支、每一個角色的每一句話,幾乎都堆在一個幾萬行的超大函數(shù)里;《蔚藍(lán)》的主角控制邏輯包含了超過5000行代碼,攀爬、跳躍、沖刺、物理判定、動畫切換,全部擠在一個文件里;初代《我的世界》的Java代碼也是出了名的隨性混亂,致使游戲底層架構(gòu)臃腫,后續(xù)花了多年時間重做。



知名程序員、id Software創(chuàng)始人之一約翰·卡馬克曾舉證:“我兒子說‘寫代碼不過是if、else和for循環(huán)而已’”

離中國玩家更近的一個例子或許是《太吾繪卷》。對不少國內(nèi)玩家而言,這是一款具有劃時代意義的產(chǎn)品,感情很深,既是因?yàn)樗?dāng)初閃電般的迅速崛起,也是因?yàn)樵谀侵髮τ螒蛘桨娴穆L等待。

不少人可能還記得,回望2018年,《太吾繪卷》的代碼水平最初是被當(dāng)作神話或是傳說來傳播的。游戲制作人茄子只看了一個月Unity教程就上去寫游戲,結(jié)果“蛐蛐大神保平安,綠皮逆練代碼無BUG一遍過”,游戲順利發(fā)布并引發(fā)轟動——事實(shí)是,游戲出色的成績和一言難盡的代碼水平構(gòu)成了鮮明的反差,繼而成為其最早的一大記憶點(diǎn)。



如果故事只到這里,那么或許還稱得上因禍得福。但EA上架的《太吾繪卷》和上線時已經(jīng)趨于完成的《小丑牌》處境并不相同,游戲的玩法框架要更自由,茄子本身也還有更多的想法要去實(shí)現(xiàn)。

這就導(dǎo)致原本的代碼無力承載,茄子則在游戲大獲成功后迅速表態(tài)希望“把游戲里千瘡百孔的代碼一一修補(bǔ)起來,為大家?guī)硪粋€在程序上,更強(qiáng)健、穩(wěn)定、高效的好玩的游戲”。

后來《太吾繪卷》花了那么大力氣去償還技術(shù)債務(wù),大概也是意識到,“差代碼”有時能夠使得一款好游戲更早順利發(fā)布,但同時,“好代碼”能創(chuàng)造更多可能,讓一款好游戲變得更好。

2

好的代碼能發(fā)揮什么作用?

2024年與《小丑牌》有并駕齊驅(qū)之勢的《動物井》,開發(fā)者Billy Basso歷時七年,基于C++自行開發(fā)游戲引擎。最終,這款畫面精致、動態(tài)光影復(fù)雜的2D像素游戲,安裝體積被壓縮到極致的33MB。

由于代碼高度自研且沒有任何冗余的第三方庫,Basso能夠?qū)τ螒虻母鱾€方面進(jìn)行完全的掌控,同時也滿足了他構(gòu)建和理解底層系統(tǒng)的樂趣。

比如游戲中讓玩家印象深刻的視覺效果和光照,他表示沒有采用單一的著色器,而是使用了約50個小的獨(dú)立技術(shù),包括動態(tài)陰影、邊緣光照、水體效果、流體系統(tǒng)等等。


Basso在GDC上的技術(shù)分享

最終,這種優(yōu)美的底層代碼為游戲的解謎提供了物理層面的深度,也從根本上影響了游戲核心的解謎機(jī)制。

玩家或許不會直接審視代碼的好壞,但更好的代碼確有可能為玩家?guī)砀鼮閮?yōu)質(zhì)的游戲體驗(yàn)和更深刻的印象,就像Basso曾表示《動物井》還可以做到更?。骸叭绻抑廊藗儠绱擞∠笊羁蹋铱赡軙优Φ乜s小它”。

也可以說,當(dāng)游戲的核心玩法樂趣高度依賴代碼的復(fù)雜功能時,后者的存在感難免愈發(fā)明顯。

高自由度的《Noita》以技術(shù)著稱,游戲只設(shè)定下物質(zhì)的基本規(guī)則,如水遇火變蒸汽,酸腐蝕木頭,剩余的一切交給玩家自行探索,從中誕生出了各種超乎預(yù)想的玩法和戰(zhàn)術(shù)。



其玩法核心的背后是自研的“Falling Sand”引擎:屏幕上的每一顆像素——無論是流動的液體、燃燒的火焰還是被炸碎的巖石——都具備獨(dú)立的物理屬性和化學(xué)反應(yīng)邏輯。

實(shí)現(xiàn)這種“像素級物理”需要極高水平的多線程架構(gòu)和數(shù)學(xué)建模,相應(yīng)的,開發(fā)團(tuán)隊(duì)設(shè)計(jì)了一套極其穩(wěn)健的實(shí)體組件系統(tǒng)(ECS),使得成千上萬個具備物理屬性的像素點(diǎn)可以相互碰撞、傳導(dǎo)溫度、發(fā)生相變。

從這個角度看,代碼已經(jīng)不止是實(shí)現(xiàn)創(chuàng)意的工具,而是作為創(chuàng)意本身與玩家發(fā)生交互。

放在過去,好的代碼往往是隱形的。就像一個人身體健康,那么一切都自然而然,只有哪個部位出了毛病,才會清晰感知到其存在。

但隨著游戲品類的豐富,開發(fā)者與玩家之間的關(guān)系拉近,代碼時不時也會浮出水面,作為開發(fā)者“研發(fā)態(tài)度”的象征,進(jìn)而影響到產(chǎn)品的對外形象。

像《戴森球計(jì)劃》早期做技術(shù)分享,就有玩家“恍然大悟”,都是模擬類游戲,為何戴森球十分流暢,隔壁天際線卻卡到不行。



包括前面提到的哈迪斯,也是因此收獲玩家盛贊,即便玩家可能看不懂代碼,但至少讀得出誠意。



隨之而來的是,伴隨著游戲的長線運(yùn)營,“優(yōu)美的代碼”也成為需要持續(xù)維護(hù)的對象。

舉個例子,好評如潮的模擬工廠流水線游戲《異星工廠》,至今保留著他們的Factorio Friday Facts每周博客文章,目前已更新到400多篇,事無巨細(xì)地與玩家分享詳細(xì)的更新內(nèi)容、開發(fā)見解、新功能和游戲機(jī)制,技術(shù)細(xì)節(jié)涵蓋從引擎改進(jìn)到代碼效率提升的方方面面。



這下,連代碼也成為維系玩家的紐帶了。



結(jié)語

回到最開始的問題,游戲代碼應(yīng)該追求優(yōu)美,還是能跑就行?

我在reddit上翻到一篇關(guān)于“好代碼”重要性的帖子,一位小有名氣的游戲制作人Tomas Sala和網(wǎng)友論辯了十來個回合,幾乎快演變?yōu)槿松砉?,依舊難分勝負(fù)。

Sala堅(jiān)持“創(chuàng)意落地”優(yōu)先于“代碼優(yōu)化”,功能性雖然重要,但更關(guān)鍵的是向玩家提供一種獨(dú)特的體驗(yàn)。

以他自己的作品《堡壘:獵鷹戰(zhàn)紀(jì)》為例,就是以一種“又快又野”的實(shí)用方式寫出來的,結(jié)果營收超過100萬——所以不要浪費(fèi)時間在“好看”的代碼上,為了在現(xiàn)代游戲市場中生存,需要盡快且低成本地驗(yàn)證思路。“Steam上95%的游戲不需要維護(hù),因?yàn)椴⒉怀晒?,糾結(jié)于代碼完全是白費(fèi)力氣”。



網(wǎng)友則反擊,代碼做得越好,迭代與打磨玩法樂趣就更容易。優(yōu)化代碼、提升代碼能力,本質(zhì)上是一種對未來的投資,既能為今后作品做更好的鋪墊,也能有效避免后續(xù)的技術(shù)債務(wù)。

這背后倒是讓人體會到兩種并行的市場背景。一邊是3A沒落,獨(dú)立游戲來到行業(yè)地位高點(diǎn),從業(yè)人員更加崇尚“創(chuàng)意為先”。對于以機(jī)制創(chuàng)意或敘事驅(qū)動的作品,“能跑就行”的代碼性價比高,因?yàn)槠浜诵镊攘υ谟凇包c(diǎn)子”,代碼只是完成創(chuàng)意的工具。

另一邊,長線運(yùn)營成為行業(yè)常態(tài),保持游戲活力、維護(hù)玩家關(guān)系成為了大趨勢。再加上AI技術(shù)的發(fā)展,技術(shù)普惠進(jìn)一步降低了玩家參與游戲內(nèi)容創(chuàng)作的門檻,這又對游戲代碼提出了更高的要求。

而所謂的“好、壞代碼”,或許也只是南橘北枳罷了。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
中央軍委全力反腐敗,說明中國人民解放軍將要擔(dān)大任,干大事!

中央軍委全力反腐敗,說明中國人民解放軍將要擔(dān)大任,干大事!

安安說
2026-01-29 09:33:17
45歲吉賽爾·邦辰素顏遛娃,狀態(tài)依舊能打!

45歲吉賽爾·邦辰素顏遛娃,狀態(tài)依舊能打!

述家娛記
2026-02-26 13:11:46
非洲55國聯(lián)手禁驢15年,掐斷阿膠命脈,背后真相太現(xiàn)實(shí)

非洲55國聯(lián)手禁驢15年,掐斷阿膠命脈,背后真相太現(xiàn)實(shí)

流蘇晚晴
2026-02-26 18:17:45
簽約達(dá)成!前快船2米13大中鋒,成功殺回NBA!

簽約達(dá)成!前快船2米13大中鋒,成功殺回NBA!

鬼魅突破上籃
2026-02-28 00:19:57
浙江嘉興一女子健身房洗澡時,外賣員闖入;當(dāng)事人:我脫光了,他看了20秒才走!健身房:外賣員從消防門鉆進(jìn)來,此前雙方已達(dá)成調(diào)解

浙江嘉興一女子健身房洗澡時,外賣員闖入;當(dāng)事人:我脫光了,他看了20秒才走!健身房:外賣員從消防門鉆進(jìn)來,此前雙方已達(dá)成調(diào)解

揚(yáng)子晚報(bào)
2026-02-27 16:20:48
賺大了!網(wǎng)友網(wǎng)購一條32GB DDR5內(nèi)存 打開包裹目瞪口呆:竟收到十條

賺大了!網(wǎng)友網(wǎng)購一條32GB DDR5內(nèi)存 打開包裹目瞪口呆:竟收到十條

快科技
2026-02-27 09:37:04
豪門姐妹情深!何超盈和何超瓊同框過新年破不和傳聞

豪門姐妹情深!何超盈和何超瓊同框過新年破不和傳聞

人間無味啊
2026-02-27 19:47:20
父親將926萬全給了二哥,除夕他打來電話催我回家團(tuán)圓

父親將926萬全給了二哥,除夕他打來電話催我回家團(tuán)圓

人間無味啊
2026-02-26 16:52:24
鄭麗文赴臺中拜廟,高喊“2026選舉從臺中出發(fā),國民黨獲全面勝利”

鄭麗文赴臺中拜廟,高喊“2026選舉從臺中出發(fā),國民黨獲全面勝利”

海峽導(dǎo)報(bào)社
2026-02-27 17:46:57
汪小菲親自給兒子拍嗝,一臉老父親的寵溺,小七寶頭發(fā)濃密好可愛

汪小菲親自給兒子拍嗝,一臉老父親的寵溺,小七寶頭發(fā)濃密好可愛

樂悠悠娛樂
2026-02-27 13:17:43
放大楊紫全家福,全網(wǎng)都被這一幕戳中了

放大楊紫全家福,全網(wǎng)都被這一幕戳中了

喜歡歷史的阿繁
2026-02-27 20:15:31
朝鮮閱兵現(xiàn)場,武裝力量方陣齊聲高喊“誓死擁護(hù)金正恩”,三聲"萬歲"震天響,金正恩豎大拇指點(diǎn)贊

朝鮮閱兵現(xiàn)場,武裝力量方陣齊聲高喊“誓死擁護(hù)金正恩”,三聲"萬歲"震天響,金正恩豎大拇指點(diǎn)贊

新浪財(cái)經(jīng)
2026-02-27 08:53:06
司機(jī):“不好意思,你差評有點(diǎn)多,不敢接”,乘客當(dāng)場破防!

司機(jī):“不好意思,你差評有點(diǎn)多,不敢接”,乘客當(dāng)場破防!

寶哥精彩賽事
2026-02-27 01:37:35
壽命延長40倍?Cell:高劑量維生素B3(NR),逆轉(zhuǎn)致死性代謝缺陷

壽命延長40倍?Cell:高劑量維生素B3(NR),逆轉(zhuǎn)致死性代謝缺陷

時光派健康抗衰
2026-02-27 17:52:58
特朗普贏了,12架戰(zhàn)機(jī)剛剛落地,伊朗先舉了白旗:禁止發(fā)展核武器

特朗普贏了,12架戰(zhàn)機(jī)剛剛落地,伊朗先舉了白旗:禁止發(fā)展核武器

鐵錘簡科
2026-02-27 17:30:48
劉美賢不聽話的藝術(shù):將爸爸踢出團(tuán)隊(duì),復(fù)出闖生涯高峰

劉美賢不聽話的藝術(shù):將爸爸踢出團(tuán)隊(duì),復(fù)出闖生涯高峰

體育妞世界
2026-02-27 09:47:41
日本澀谷十字路口女童被惡意撞倒!日網(wǎng)一句撞人者“怎么看都是中國人”引爆熱議…

日本澀谷十字路口女童被惡意撞倒!日網(wǎng)一句撞人者“怎么看都是中國人”引爆熱議…

東京新青年
2026-02-27 18:33:26
斯諾克4強(qiáng)賽:中國選手出戰(zhàn),2大世界冠軍出局

斯諾克4強(qiáng)賽:中國選手出戰(zhàn),2大世界冠軍出局

章民解說體育
2026-02-28 02:57:05
美媒感慨:若不是中國還在反抗特朗普,幾乎全世界都向他投降了

美媒感慨:若不是中國還在反抗特朗普,幾乎全世界都向他投降了

悅心知足
2026-02-21 23:03:46
真的來了!蘋果正式官宣大量春季新品

真的來了!蘋果正式官宣大量春季新品

XCiOS俱樂部
2026-02-27 00:55:17
2026-02-28 03:27:00
游研社 incentive-icons
游研社
為你帶來有趣而專業(yè)的游戲內(nèi)容
7115文章數(shù) 85868關(guān)注度
往期回顧 全部

游戲要聞

LPL最碾壓比賽誕生!BLG僅用82分鐘擊敗WBG,比打人機(jī)還輕松?

頭條要聞

特朗普警告伊朗:“有時候不得不打”

頭條要聞

特朗普警告伊朗:“有時候不得不打”

體育要聞

一場必須要贏的比賽,男籃何止擊敗了裁判

娛樂要聞

郭晶晶霍啟剛現(xiàn)身香港藝術(shù)節(jié)盡顯恩愛

財(cái)經(jīng)要聞

沈明高提共富建議 百姓持科技股國家兜底

科技要聞

狂攬1100億美元!OpenAI再創(chuàng)融資神話

汽車要聞

嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

態(tài)度原創(chuàng)

數(shù)碼
家居
時尚
親子
房產(chǎn)

數(shù)碼要聞

Omdia:時隔5年,小米去年再度回歸可穿戴設(shè)備出貨榜首

家居要聞

素色肌理 品意式格調(diào)

舒淇最愛穿的裙子搭配,真的很適合春天!

親子要聞

驚呆了!12歲小女孩抱弟弟如同媽媽般自然,背后真相感人至深!

房產(chǎn)要聞

重磅!海南“十五五”規(guī)劃出爐!未來五年,方向定了!

無障礙瀏覽 進(jìn)入關(guān)懷版