從一個程序員的角度妖异,No Man's Sky是極具先鋒意義和野心的惋戏,從一個玩家的角度,對于一些宣發(fā)上的問題和曝光度過高帶來的口水他膳,我只能表示遺憾坞生。
如果二十年前有人說自己的游戲里面可以有18,446,744,073,709,551,616(其實就是2^64)顆不同的星球沉眶,每個星球有自己獨特的地貌、環(huán)境、生物甚至獨特的食物鏈检疫,你一定會覺得他是被那些節(jié)奏詭異閃著《電子世界爭霸戰(zhàn)》癲狂游離光線的游戲閃傻了。不過2年前《No Man's Sky》在E3上展出的時候蘸吓,沒有人覺得這個是玩笑状您,只是有點將信將疑——這個當時還只有4個人的工作室Hello Games會把這款號稱無限可能的游戲推到什么樣的高度。
《No Man's Sky》初始版本才3.4個G欧漱,但絲毫不影響他模擬星球的能力职抡。在強大的硬件機能支撐下,Procedural Generation變得離玩家越來越近误甚。隨著Rougelike類型游戲的流行缚甩,很多游戲中的關(guān)卡不再是一成不變只要背板就能通過,而是每次隨機生成確保每次游戲都有獨一無二的體驗窑邦,比較典型的像《以撒的結(jié)合》關(guān)卡擅威,但嚴格意義上來說市面上大部分的Rougelike游戲并不算純粹的程序生成。依然需要關(guān)卡設(shè)計師來創(chuàng)造一些基本的地圖冈钦,然后用偽隨機的方式(參見以撒中的Seed)選取地圖和怪物進行拼接和配置郊丛。
最近比較成功的例子是動作游戲Dead Cell死亡細胞,有空我可以翻譯下他們的一篇技術(shù)博客,講如何將關(guān)卡設(shè)計和程序隨機結(jié)合起來厉熟。
Unity里一種偽隨機數(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實驗里,這些規(guī)則都是無序或者散亂的绢片,但是在無人深空里滤馍,這套規(guī)則,按照制作組的野心杉畜,就是盡量模擬靠近宇宙自然的規(guī)則纪蜒,從氣候->資源->地形->食物鏈->生物,一層以一層為基礎(chǔ)迭代而來此叠,這才形成了一個獨一無二的星球纯续。
當然,野心歸野心灭袁,從技術(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類游戲的人估計也沒法再這個游戲里找到自己的點蜻展,因為他只有eXplore和eXploit喉誊,卻沒有eXpand和eXterminate。
說到底纵顾,這個游戲只是一個程序員們的自然模擬實驗伍茄,被過于放在聚光燈和輿論中曝光了。戰(zhàn)斗施逾,交易幻林,飛船只是附屬品贞盯,這個游戲的核心在于探索音念,但大部分人并不在意自己能發(fā)現(xiàn)啥沪饺,也沒有耐心細細地探索每個世界。這個游戲并不適合所有的玩家闷愤,這個純粹由程序和數(shù)學(xué)構(gòu)建的游戲整葡,沒有刻意的包裝和討好,就像一杯純凈水讥脐,擁有無限的形態(tài)和可能性遭居,但不可口。
按照現(xiàn)在3A游戲的開發(fā)成本和已經(jīng)不像以前那樣饑不擇食的玩家旬渠,純PVE和關(guān)卡設(shè)計的游戲越來越捉襟見肘如果能達到像Limbo和Inside那種設(shè)計高度當我沒說PVP(守望屁股)俱萍,Rougelike(以撒),類Minecraft和Procedural Generation(無人深空)類型的游戲更容易脫穎而出告丢。很多人說NMS吹牛吹破了天枪蘑,我倒覺得從4個人到20個人,Hello Game小作坊能花三年做到這樣的完成度岖免,已經(jīng)很了不起了岳颇。在技術(shù)的實驗探索上,也不知道比國內(nèi)某些冷嘲熱諷的搬運工高到哪里去颅湘。
這里有一篇比較專業(yè)的評測话侧,有興趣可以看看:No Man’s Sky and the Future of Procedural Games
這位大哥受無人深空啟發(fā),做了一個2D的星球版畫生成器闯参。