從一個程序員的角度,No Man's Sky是極具先鋒意義和野心的,從一個玩家的角度,對于一些宣發(fā)上的問題和曝光度過高帶來的口水,我只能表示遺憾。
如果二十年前有人說自己的游戲里面可以有18,446,744,073,709,551,616(其實(shí)就是2^64)顆不同的星球,每個星球有自己獨(dú)特的地貌、環(huán)境、生物甚至獨(dú)特的食物鏈,你一定會覺得他是被那些節(jié)奏詭異閃著《電子世界爭霸戰(zhàn)》癲狂游離光線的游戲閃傻了。不過2年前《No Man's Sky》在E3上展出的時候,沒有人覺得這個是玩笑,只是有點(diǎn)將信將疑——這個當(dāng)時還只有4個人的工作室Hello Games會把這款號稱無限可能的游戲推到什么樣的高度。
《No Man's Sky》初始版本才3.4個G,但絲毫不影響他模擬星球的能力。在強(qiáng)大的硬件機(jī)能支撐下,Procedural Generation變得離玩家越來越近。隨著Rougelike類型游戲的流行,很多游戲中的關(guān)卡不再是一成不變只要背板就能通過,而是每次隨機(jī)生成確保每次游戲都有獨(dú)一無二的體驗(yàn),比較典型的像《以撒的結(jié)合》關(guān)卡,但嚴(yán)格意義上來說市面上大部分的Rougelike游戲并不算純粹的程序生成。依然需要關(guān)卡設(shè)計師來創(chuàng)造一些基本的地圖,然后用偽隨機(jī)的方式(參見以撒中的Seed)選取地圖和怪物進(jìn)行拼接和配置。
最近比較成功的例子是動作游戲Dead Cell死亡細(xì)胞,有空我可以翻譯下他們的一篇技術(shù)博客,講如何將關(guān)卡設(shè)計和程序隨機(jī)結(jié)合起來。
Unity里一種偽隨機(jī)數(shù)的實(shí)現(xiàn)方式:
// Unity params
public bool useRandomSeed;
// When use pseudo random
if (useRandomSeed) {
seed = Time.time.ToString();
}
System.Random pseudoRandom = new System.Random(seed.GetHashCode());
// In a loop
for () {
pseudoRandom.Next(0,100)
}
《No Man's Sky》把Procedural Generation在游戲中的應(yīng)用又提升到一個新的高度,大到星球的地表,小到生物的音效,全部都是由程序按照一定的規(guī)則生成。在大部分的Procedural Generation實(shí)驗(yàn)里,這些規(guī)則都是無序或者散亂的,但是在無人深空里,這套規(guī)則,按照制作組的野心,就是盡量模擬靠近宇宙自然的規(guī)則,從氣候->資源->地形->食物鏈->生物,一層以一層為基礎(chǔ)迭代而來,這才形成了一個獨(dú)一無二的星球。
當(dāng)然,野心歸野心,從技術(shù)角度,NMS的完成度是比較高和有先驅(qū)性的,但是作為一個游戲,把所有的生成交給電腦,玩家會有意外的驚喜,但也容易被可能重復(fù)的內(nèi)容磨掉興趣,讓他們覺得“都是套路”。畢竟規(guī)則是有限的,有很多人喜歡設(shè)計出的驚喜和設(shè)計出的情緒調(diào)動,而不喜歡冷冰冰的電腦。
從目前的評測來看,NMS的Procedural Generation主要集中在圖形和音效上,但在系統(tǒng)和AI上沒有什么建樹,貿(mào)易系統(tǒng)和NPC系統(tǒng)都很初級,喜歡玩太空4X類游戲的人估計也沒法再這個游戲里找到自己的點(diǎn),因?yàn)樗挥衑Xplore和eXploit,卻沒有eXpand和eXterminate。
說到底,這個游戲只是一個程序員們的自然模擬實(shí)驗(yàn),被過于放在聚光燈和輿論中曝光了。戰(zhàn)斗,交易,飛船只是附屬品,這個游戲的核心在于探索,但大部分人并不在意自己能發(fā)現(xiàn)啥,也沒有耐心細(xì)細(xì)地探索每個世界。這個游戲并不適合所有的玩家,這個純粹由程序和數(shù)學(xué)構(gòu)建的游戲,沒有刻意的包裝和討好,就像一杯純凈水,擁有無限的形態(tài)和可能性,但不可口。
按照現(xiàn)在3A游戲的開發(fā)成本和已經(jīng)不像以前那樣饑不擇食的玩家,純PVE和關(guān)卡設(shè)計的游戲越來越捉襟見肘如果能達(dá)到像Limbo和Inside那種設(shè)計高度當(dāng)我沒說PVP(守望屁股),Rougelike(以撒),類Minecraft和Procedural Generation(無人深空)類型的游戲更容易脫穎而出。很多人說NMS吹牛吹破了天,我倒覺得從4個人到20個人,Hello Game小作坊能花三年做到這樣的完成度,已經(jīng)很了不起了。在技術(shù)的實(shí)驗(yàn)探索上,也不知道比國內(nèi)某些冷嘲熱諷的搬運(yùn)工高到哪里去。
這里有一篇比較專業(yè)的評測,有興趣可以看看:No Man’s Sky and the Future of Procedural Games
這位大哥受無人深空啟發(fā),做了一個2D的星球版畫生成器。