預(yù)測(cè)未來(lái)50年!Minecraft中的水,會(huì)發(fā)生怎樣天翻地覆的變化?
文/M菌
暢想:未來(lái)50年,Minecraft 中的水,會(huì)發(fā)生怎樣天翻地覆的變化?
我們先從十二年前“水”的誕生開始談起吧。
01
在2009年的5月20日;

也就是Minecraft第一個(gè)版本發(fā)布的第7天。Notch《我的世界》Java版Classic 0.0.12a 中第一次加入了“水方塊”。在同一時(shí)期,加入的還有巖漿、基巖、邊界等等。
在當(dāng)時(shí),Notch將試圖將他們命名為“液體”方塊。也就是說(shuō)雖然是液體,但本質(zhì)上屬于方塊。所以在很長(zhǎng)很長(zhǎng)的一段時(shí)間內(nèi),水,都屬于一種方塊。但它被分為了水流、和水源兩種形態(tài)。這個(gè)機(jī)制,一用就是整整9年的時(shí)間!
02
到了2018年,《我的世界》破天荒地迎來(lái)了1.13水域更新。

而在當(dāng)時(shí)Mojang內(nèi)部還在爭(zhēng)論,是否應(yīng)該在1.13發(fā)布地獄更新。但無(wú)論如何在水域更新這一版本中“水”這種液體,首次迎來(lái)了令人欣喜的物理特性的變更——含水特性!
什么是含水呢?就是當(dāng)一些細(xì)小的非固體方塊插入水中時(shí),可以完全地浸入水中,而不是占用掉一格水方塊,當(dāng)該固體方塊被破壞時(shí)水依然存在。反之,水也可以流進(jìn)、充填未占滿一格方塊的剩余體積中。

這個(gè)含水方塊的想法,其實(shí)早在2009年的5月份Notch就提出了。但當(dāng)時(shí)他沒有能力去做這件事,所以最初水可以成為方塊,從某種意義上來(lái)說(shuō),這是一件迫不得已的事情。
所以2018年的《我的世界》JAVA版1.13的含水方塊,就成為了Mojang將水獨(dú)立出方塊范疇的第一次嘗試!
03
為什么說(shuō),Mojang想要把“水”作為真正的液體,獨(dú)立出方塊?

這件事還要從晚餐骨聊起。因?yàn)楫?dāng)年Dinnerbone曾透漏的一個(gè)內(nèi)部消息,在2018年水域更新正在開發(fā)過(guò)程中的時(shí)候,他泄露了一張開發(fā)版本的內(nèi)部截圖,并告訴我們,這些流水到花和樹的水,其實(shí)并不是方塊。
這在當(dāng)時(shí),就很令人震驚了!人們紛紛詢問,什么?水要變成“真水”了?所以基于此,我們可以做個(gè)稍微大膽一些的推測(cè),早在2018年的時(shí)候,官方就嘗試將水脫離出方塊的范疇,但沒有成功,或者說(shuō)難度較大。含水方塊,就成為了一種保證更新進(jìn)度的妥協(xié)方案。
但這也給人們指明了一個(gè)明確的方向,Minecraft的水方塊,一定會(huì)變成真正的水!
04
未來(lái),水的真實(shí)物理引擎?

所以,我們基于這個(gè)邏輯推演,不難看出未來(lái)《我的世界》關(guān)于“水”的開發(fā)方向一定是讓它更具真實(shí)的物理效果,基于一套類似于現(xiàn)實(shí)世界水的物理引擎,不再單純的只是一種方塊。
那么,這可能實(shí)現(xiàn)么?其實(shí)從技術(shù)上來(lái)說(shuō),這是可能的!大致上來(lái)說(shuō),當(dāng)前技術(shù)下,游戲弓|擎的物理算法部分所包含的范圍,基本可以模擬現(xiàn)實(shí)中的所有常見物理現(xiàn)象,例如水流有著緩急之分,流速慢時(shí),樹葉緩緩漂流。而在湍急的河水中,動(dòng)物都會(huì)被卷席而被直接沖走。
但制約這種發(fā)展的,主要瓶頸在于算力部分,因?yàn)槲锢碛?jì)算需要消耗大量硬件資源,并且隨著采樣率的提高,性能消耗也會(huì)成倍提高!比如說(shuō)在《我的世界》,水緩緩流動(dòng)所耗用的運(yùn)算尚可,但如果此刻你試圖淌水游玩呢?在水下戰(zhàn)斗呢?

當(dāng)前Minecraft的現(xiàn)狀是,一個(gè)剛加載的區(qū)塊,已經(jīng)卡到水流從高山上流下要經(jīng)歷很久很久的時(shí)間才會(huì)流到地面上。一個(gè)飽含了真實(shí)物理引擎的水,又需要消耗多少運(yùn)算資源?要知道當(dāng)前Mojang連解決1.18區(qū)塊加載過(guò)慢的問題,都啃了很久。
而Minecraft成功的原因之一就是,曾經(jīng),它幾乎可以在所有的低配電腦上流暢運(yùn)行。
05
50年后的mc,水會(huì)變成什么樣?

可能很多人都聽過(guò)我們不止一次地闡述Mojang對(duì)于Minecraft的一個(gè)未來(lái)更新:即,將水作為一種流體,完全與方塊的概念割裂開。那么如何割裂?真實(shí)水的特性又是怎樣的?我們不妨來(lái)暢想一下:
①水和熔巖,都成為了一種液體,它們可以自由地流淌不受方塊限制;無(wú)限水的概念徹底消失,
②連日的陰雨天,會(huì)造成低洼處的雨水堆積,例如有凹陷的屋頂會(huì)盛滿了水。石頭等方塊無(wú)法吸水,但泥土類方塊可以;
③在洞穴中,不慎挖穿了湖底,湖水會(huì)傾瀉而下,淹沒洞穴。如果洞穴足夠大,湖水可能會(huì)流干,但一場(chǎng)大雨可能會(huì)填滿整個(gè)湖泊等等。

可以肯定的是,未來(lái)Mojang一定會(huì)做一個(gè)更新主題,叫作“真實(shí)的液體”更新,50年時(shí)間足夠硬件設(shè)備的迭代和爆發(fā)式更新了。那個(gè)時(shí)候低端設(shè)備輕松運(yùn)行一個(gè)真實(shí)物理引擎可能是再簡(jiǎn)單不過(guò)的一件事情?