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