譯者序:“本文編譯自Primodium兩位創(chuàng)始人的推特長文,系統(tǒng)介紹了Primodium團隊在開發(fā)游戲過程中如何降低gas消耗、存儲玩家游戲中的資源。以及為什么金融化對全鏈游戲同樣不可或缺?!?/strong>
01.Primodium是如何進行Lazy Update的
作者:Emerson Hsieh
原文鏈接:https://twitter.com/intemerson/status/1740787479203004559
一個全鏈上的游戲必然會消耗大量的gas,因此我們必須找到方法以減少玩家簽署交易的數(shù)量。引入lazy update后,我們只在玩家執(zhí)行操作時計算所需的游戲資源。
在 Primodium 的第一個版本中,玩家必須先在節(jié)點旁邊放置礦機,然后才能放置傳送帶將資源運輸?shù)街骰亍?/p>
當(dāng)玩家從他們的主基地申領(lǐng)資源時,我們必須弄清楚以下問題:
如何跟蹤每個玩家所擁有的礦機;
讓這些礦機連接到正確的加工廠;
我們的首個方案是在玩家提取資源時,從其主基地出發(fā)進行深度優(yōu)先搜索。玩家可以在每個塊旁邊最多放置四個礦機。
當(dāng)我們引入從礦機獲取資源的工廠時,玩家開始構(gòu)建更復(fù)雜的結(jié)構(gòu)以優(yōu)化資源產(chǎn)出。例如,玩家@CincauHangus就創(chuàng)造了下面這樣的工廠設(shè)計:
在@AlirezaN95加入了我們團隊后,他對我們基于MUD開發(fā)的資源組件進行了重設(shè)計。在 v0.6.0 版本中,我們?yōu)槊總€玩家提供了一個全局資源生產(chǎn)速率,每當(dāng)在資源上建造一個礦機,該生產(chǎn)率就會增加。
這使得更新變得原子化,玩家每執(zhí)行一次操作,我們都可以通過其生產(chǎn)率快速計算資源總量。而當(dāng)他們建造工廠并消耗資源生產(chǎn)物品時,便會從全局生產(chǎn)率中簡單地扣除消耗資源的部分。
在后續(xù)的版本中,我們發(fā)現(xiàn)玩家在建造礦機后的參與度有所下降,這可能是因為礦物傳送帶的建設(shè)機制讓一些玩家感到困惑。
通過設(shè)定全局資源生產(chǎn)率,我們可以完全去除礦物傳送帶和傳送節(jié)點,從而實現(xiàn)今天Primodium中更復(fù)雜的游戲玩法。
在我們的最新版本中,我們重新設(shè)計了在智能合約中存儲并計算資源生產(chǎn)率的方式,為即將推出的激動人心的新功能奠定了基礎(chǔ)。
02.Primodium如何儲存玩家資源
作者:Emerson Hsieh
原文鏈接:https://twitter.com/intemerson/status/1742214023809306953
在 Primodium 中,你將出生在一個資源豐富的小行星上。通過建造礦機采集資源,并用這些資源來強化建筑、訓(xùn)練軍隊并攻擊其他玩家。
上圖可見Miner和可挖掘資源
在使用 Lattice 的 MUD V1 版引擎構(gòu)建的 Primodium 最初版本中,所有智能合約都圍繞實體組件系統(tǒng)(ECS)架構(gòu)開發(fā)。
一開始,我為每一種資源設(shè)計了一個獨立的新合約。這種做法使得客戶端可以單獨追蹤每種資源的數(shù)量,但隨著游戲復(fù)雜性的提高,他產(chǎn)生了難以處理的開銷。
例如,Primodium v0.0(十一個版本前?。┲?,僅存儲玩家物品就需要63個合約。@l_udens提出了一個有效的解決方案:使用資源名和玩家地址的哈希值作為一個統(tǒng)一的組件鍵,以將所有內(nèi)容簡化為一個組件。
在接下來的幾個月中,我們不斷地增加游戲的內(nèi)容與復(fù)雜性。更多的資源物品豐富了玩家的體驗,進而提高了玩家的留存率。
下圖展示了在當(dāng)前測試版本的Primodium中,一位熱情的玩家建造的復(fù)雜基地!
我們還將游戲引擎升級到了 MUD V2 版本,這意味著我們必須重構(gòu)我們資源的合約架構(gòu)。
@0xhank 重新設(shè)計了合約,使用了以實體(entity)和資源(resource)作為key schema的表,避免了額外的哈希計算步驟。
玩家在建造工廠或礦機時,相關(guān)資源的生產(chǎn)率會增加。例如,建造鐵礦可以提高鐵的生產(chǎn)率。同樣,建造使用鐵的工廠(比如鐵板工廠)則會增加鐵的消耗率。
通過 @AlirezaN95 構(gòu)建的store hooks系統(tǒng),游戲能夠?qū)崟r更新生產(chǎn)率和消耗率,進而改變玩家的資源數(shù)量。玩家每次行動時,資源計數(shù)都會更新。
在玩家執(zhí)行交易前,客戶端會提前在@0xNAB5設(shè)計的面板上顯示預(yù)測的資源數(shù)值。在Primodium的未來版本中,我們計劃進行更深入的技術(shù)探索,并開放我們的合約以方便社區(qū)探索新的游戲玩法。
03.為什么金融化對全鏈游戲同樣不可或缺
作者:Tax cuts
原文鏈接:https://twitter.com/tax_cuts/status/1740453166875877768
由于Play to Earn游戲過去帶來了太多災(zāi)難性的后果,開發(fā)者們紛紛轉(zhuǎn)向全鏈游戲,尋求以不同的方式將Crypto融入游戲之中。對全鏈游戲的主要觀點是其增加了游戲的可組合性(Composability)和永久性(Permanence),而金融化的部分往往被強烈抵制。
但我認(rèn)為金融化仍然非常重要:
金融化是加密貨幣作為底層架構(gòu)存在的根本原因。想象一下,如果我在我的個人電腦上運行比特幣協(xié)議,他可以顯示你有1 BTC,我有5 BTC,沒有人會賦予缺乏去中心化共識的比特幣真實價值。因為我可以隨便篡改后臺數(shù)據(jù),說我其實有50個BTC。
可見,在中心化服務(wù)器上運行比特幣協(xié)議依賴于對中心化服務(wù)器的信任。而在crypto的世界里,去中心化共識讓誰持有1 BTC這件事需要通過一定數(shù)量節(jié)點的驗證,從某種角度來說,去中心化構(gòu)成了賦予加密貨幣現(xiàn)實價值的基礎(chǔ)。在去中心化共識的保護下,人們愿意賦予加密貨幣價值。
而至于這個價值究竟是1美元還是4萬美元,這并不是我們今天討論的重點。關(guān)鍵在于,區(qū)塊空間的限制和去中心化共識使得被記錄在鏈上的事物具有了稀缺性,這種稀缺性賦予了其真正的價值。這在其他行業(yè)是聞所未聞的,他們無法憑空創(chuàng)造出真正有價值的事物。
你可能會說,在沒有加密貨幣的游戲中,游戲公司也能創(chuàng)造出價值十億美元的物品。是的,但這些公司擁有著玩家多年的信任所凝聚成的共識。而對于創(chuàng)業(yè)公司來說,實現(xiàn)這一點將更加艱難。這與美元法幣與加密貨幣獲得價值的方式是類似的。
對于全鏈上游戲來說,想象一下,如果不僅僅是部分資產(chǎn),而是整個游戲都被放在鏈上 —— 那么每一件物品、每一個單位、決策、建筑都會獲得真正的價值,因為他們都是去中心化共識守護下的稀缺資源。
而提供這樣的稀缺資源正是primodium的諸多目標(biāo)之一。基于這種價值賦予過程,你可以建立真正的經(jīng)濟體,這是一件令人興奮的事(我將會在另一個thread中解釋為什么 web2.5 游戲行不通,其中的主要原因是他們需要面對非常多的監(jiān)管和合規(guī)問題。)
你可能會反駁:但是 tax cuts先生,金融化意味著每個人都試圖從系統(tǒng)中提取利益并賺錢,所以這個系統(tǒng)終將崩潰!
但我的觀點是,在BTC 挖礦的過程中,每一個參與者也都在努力賺錢,只要這個系統(tǒng)擁有外部價值,他就能持續(xù)下去。而顯而易見的是,維持下去的關(guān)鍵在于平衡,所以這個游戲會提供足夠趣味性,以保證他對于大多數(shù)人來說是能達到期望值的。
Primodium V0.9 中推出的游戲內(nèi)資源交易市場正是朝著這個方向邁出的一步,但我們未來要做的工作還有很多很多。