第37頁(第1/2 頁)
&ldo;世界&rdo;執行得很完美,但其中的居民還是有抱怨:難得是虛擬世界,偏偏一切都按照現實模擬,這也太沒意思了。最好能加入一些超現實元素,哪怕一點點也好。
分析結果顯示,如果無限制地接受居民的要求,不斷匯入違反物理法則的奇蹟,計算資源轉眼就會耗盡。不過,如果加以一定程度的控制,倒也不是無法實現。具體而言就是,居民為了使用奇蹟‐‐也就是魔法,需要消耗魔點。魔點可以賺取,也可以向他人轉帳。另外每個居民每週可以免費獲得1魔點。
在天空飛翔的魔法每分鐘消耗1點,石頭變成金子消耗10點,瞬間移動50點。一開始,人們隨意使用以取樂,但是很快就發現魔點的消耗量遠遠大於發生量,所以逐漸沒有人會浪費了。到後來,居民更是把魔點代替貨幣使用。魔點具備理想貨幣的特徵,它本身具有一定價值,因此很難發生極端的通貨膨脹或者通貨緊縮。如果有發生通貨膨脹的趨勢,那麼居民們就不會將魔點當作貨幣使用而直接使用魔法。比如說,如果一頓飯要消耗10點,那麼大部分居民都會使用2點憑空生成一份料理。像這樣,透過消費魔點來抑制流通量,通貨膨脹便可以消除。相反,通貨緊縮的時候,人們又會停止消費,流通量增加,魔點的價值就會降低。
除了魔點之外,還有其他節約計算資源的系統措施。&ldo;快取&rdo;就是其中之一。
在現實世界,一個人採取某種行動的時候,立刻就會產生某種反饋。比如用錘子敲玻璃,玻璃當場就會碎裂,從窗戶上掉下來。但是,在&ldo;世界&rdo;中,情況卻沒有這麼簡單。某個人決定用錘子敲玻璃的剎那,計算機捕捉到大腦運動區域的興奮,將之反映到虛擬實境中‐‐移動手臂、抓起錘子、敲上玻璃。如果僅僅如此,並不會費什麼大力氣,但實際上卻有很麻煩的問題。手臂、錘子、玻璃,全都是&ldo;世界&rdo;中的東西‐‐它們和其他居民也在相互作用。比如說,附近有其他居民的時候,就需要考慮在他們的眼中如何反映這幅景象,這必須進行計算;還有模擬玻璃破碎的聲音,也需要考慮不遠處的居民會聽到什麼,這也必須進行計算。
這些細節必須加以考慮。&ldo;世界&rdo;是連續的,必須符合邏輯。每個人的個人體驗如果相互之間有矛盾,&ldo;世界&rdo;就會逐漸分化,最終無法成為一個統一的世界。計算資源也會枯竭,居民們被扔進虛無。
但是,如果將一切都在計算之後再反映到虛擬實境,那響應速度就會很慢,會有一種慢鏡頭的感覺。想到要去敲玻璃,但是幾秒鐘之後手才開始行動,敲擊的剎那一切動作又都停止,再隔幾秒鐘玻璃才會碎裂,然後才聽到聲音。為了這個計算,停止的不僅僅是當事人,毫無關係的所有居民都會同時發生這樣的現象。當然,如果有足夠的計算資源,就不會有這樣的問題。但是如果有這樣的空間和載重量,還不如設立縮小版的現實居住區更合理。
對應這個問題的辦法就是快取系統。每個居民都有一個快取。從居民的角度看,快取相當於&ldo;世界&rdo;的複製;從&ldo;世界&rdo;的角度看‐‐也就是在其他居民看來‐‐快取是當事人的複製。
某人想要用錘子敲玻璃的時候,差不多同時,在快取中當事人抓住錘子敲碎玻璃,同時發出聲音。周圍的居民受到驚嚇,都來看他。但是,這只是當事人自己的體驗,在&ldo;世界&rdo;中什麼都還沒有發生。在周圍人看來,當事人還沒有碰到錘子。因為快取只需要計算自身經歷,所以需要的計算資源很少,可以做出迅速反應。