如何將傳統游戲開發中的經驗應用到區塊鏈游戲中?由 ECS 架構所啟發,Jump Crypto 提出了一種新框架 ARC,為全鏈游戲和資產上鏈的游戲提供了高效、可重用、易擴展和跨鏈互操作的支持,讓 Web3 游戲開發更加輕松。
在上一篇文章中,我們討論了三種鏈上游戲類型,分別是:(1)完全上鏈(fully on-chain games, FOC),(2)資產上鏈(on-chain assets, OCA),和(3)可選資產鑄造(optional cosmetic mints, OCM)。回顧一下,由于目前缺乏支持 FOC 和 OCA 的基礎設施,大多數游戲工作室選擇了 OCM 方法,以避免給用戶帶來太多的阻力。在接下來的幾篇文章中,我們將重點介紹一些可能支持 FOC 和 OCA 的基礎設施,以及每個部件在實際應用中可能的設計方案。
首先需要的基礎設施是——一個能夠高效管理鏈上資產和游戲狀態的系統。定義資產在鏈上的操作方式對資產可編程性(如權限管理、元數據更新等)有著實質性的影響。為了更好地了解這樣的系統可能會是什么樣子,我們決定自己開發一個鏈上游戲(稍后會有更多介紹)。同時,我們很快發現,當游戲的規模擴大時,基于面向對象編程(object-oriented programming, OOP)的傳統方法會遇到可擴展性的挑戰,因為資產依賴關系會隨著游戲規模的擴大呈現出線性的增長。
因此,我們決定嘗試使用數據驅動的設計模式,這些模式在傳統游戲開發中已被廣泛使用,但在鏈上的實踐很少。通過這個過程,我們在 Solana 上嘗試了一個名為 ARC(Action Registry Core)的框架,我們認為這是管理鏈上資產和游戲邏輯最有效的方法之一。傳統游戲開發中常用到一種數據驅動的架構模式是實體組件系統(Entity Component System, ECS),ARC 正是由 ECS 所啟發構建的。
OSMO Wallet與IBEX Mercado合作,為其用戶開發閃電網絡基礎設施:7月21日消息,OSMO Wallet與比特幣基礎設施提供商IBEX Mercado合作,為其用戶開發閃電網絡基礎設施。此外,OSMO與匯款公司AirPak合作,該公司將允許OSMO客戶在超過8000個零售點兌現比特幣。(Bitcoin Magazine)[2022/7/21 2:28:14]
在本文中,我們將介紹 ECS 的工作原理、它在傳統游戲中為什么如此重要、如何將這種理念擴展到構建類似 ARC 的框架,以及可能的底層架構。
我們的目標是為開源研究做出貢獻,并幫助推動鏈上游戲基礎設施的發展。秉著這種精神,我們決定開源 ARC 參考實現,并歡迎社區給予任何反饋。
ARC GitHub 鏈接:[https://github.com/JumpCrypto/sol-arc?ref=jumpcrypto-com.ghost.io]
ECS 是近年來廣泛應用于視頻游戲的一種架構。與經典的面向對象編程(OOP)相比,ECS 可以將數據與行為分離,因此在視頻游戲領域具有一定優勢。在傳統的 Web2 游戲中,它可以幫助提高游戲性能(改善緩存局部性),同時在開發游戲本身時,也能更好地控制游戲邏輯。
了解傳統 OOP 方法在面對多個依賴關系時的局限性,可以更好地幫助理解 ECS 的優勢。
假設我們正在構建一個非常簡單的游戲,具有以下屬性:
Flow鏈上DeFi基礎設施IncrementFi完成100萬美元種子輪融資:7月3日消息,基于Flow區塊鏈生態系統的DeFi基礎設施IncrementFi宣布完成100萬美元種子輪融資,本輪融資由DapperLabs、LatticeCapital、啟明創投、QuietVentures、以及若干Flow生態內天使投資人參投。據悉,IncrementFi主要提供流動性和收益解決方案,旗下主要有兩款產品,IncrementSwap(一種完全無需許可的去中心化交易所)和IncrementEarn(一種同質化代幣的去中心化借貸協議)。Increment愿景是成為Flow生態系統內的DeFi基礎設施和流動性引擎,推動Flow鏈上DeFi應用和創新。[2022/7/3 1:48:16]
三個實體:i) Mammal(哺乳動物),ii) Fish(魚),iii) Amphibian(兩棲動物)
Mammal 可以在陸地上呼吸,但不能在水里呼吸
Fish 可以在水里呼吸,但不能在陸地上呼吸
Amphibian 既可以在水里呼吸,也可以在陸地上呼吸
在傳統的 OOP 中,Mammal 可以作為一個實體,繼承自基類 LandBreather(陸地呼吸者),Fish 可以作為一個實體,繼承自基類 WaterBreather(水中呼吸者)。在這里,我們遇到了 Amphibian 的挑戰,它既具有 LandBreather的屬性,又具有 WaterBreather的屬性,但不能同時繼承兩者。在經典的面向對象編程中,這被稱為“鉆石繼承問題或菱形繼承問題”。這個問題在游戲中比其他應用更為普遍,因為游戲角色、物品和資產的數量隨著特征和依賴關系的增加而增加。雖然存在一些變通方法,但對于游戲來說,我們認為 ECS 是最優雅的解決方案。
CRC Capital戰略投資跨鏈DeFi基礎設施UniFi Protocol(UNFI):據官方消息,跨鏈DeFi基礎設施UniFi Protoco(UNFI)宣布獲Chain Capital、Blockwater、Signum Capital、共識實驗室、向量資本、水滴資本、天鏈資本、BlockArk、Bitblock Capital、CRC Capital、Cabin VC、霍比特HBTC Labs、Jubi Labs、Kirin Fund、MXC Labs、Nova Club 、Quest Capital、Oasis Capital等機構戰略投資。
UniFi Protocol是一個集非托管、互操作、去中心化和跨鏈特點的智能合約協議,為跨鏈DeFi發展提供基礎設施。其發行的UNFI代幣是整個協議的統一治理代幣,總量1000萬枚。
UniFi Protocol由Sesameseed開發,項目構建的產品包括去中心化交易平臺“uTrade”和去中心化借貸協議“uLend”,現已上線基于波場版本的uTrade。[2020/9/18]
基于 ECS 的游戲具有以下特性:
Entity(實體) - 組件的唯一標識或容器
Component(組件) - 不具備行為的純數據類型,可以“掛載”到實體上
System(系統) - 與具有一定組件集合的實體匹配的函數
實體可以包含零個或多個組件。通過使用系統,實體可以動態地添加/刪除/修改其組件。
美國國土安全部將參與食品分發的“區塊鏈管理人員”列為重要基礎設施工作人員:根據3月19日一份有關冠狀病危機的備忘錄,美國國土安全部已將食品和農業分銷部門的\"區塊鏈管理人員\"列為關鍵的基礎設施工作人員。這份備忘錄由網絡安全和基礎設施安全局(CISA)發布。在這份備忘錄中,CISA建議“如果在國土安全部定義的關鍵基礎設施行業工作,比如醫療服務、制藥和食品供應,你有特殊的責任來維持你的正常工作日程”。該清單包括以下項目:支持食品、飼料和飲料分銷的員工和公司,包括倉庫工人、供應商管理的庫存控制員和區塊鏈經理。備忘錄稱:“這份名單是在與聯邦機構合作伙伴、行業專家、州和地方官員磋商后制定的。CISA將繼續征求并接受清單上的反饋,并將根據利益相關者的反饋來改進清單。”(The Block)[2020/3/20]
為了了解 ECS 如何解決游戲中 OOP 面臨的限制,我們可以使用 ECS 解決上面舉例遇到的問題。在 ECS 模式下,我們會創建兩個組件:LandBreather(陸地呼吸者)和 WaterBreather(水中呼吸者)。系統 LandBreatherSystem 處理具有 LandBreather 組件的任何實體的移動,而系統 WaterBreatherSystem 處理具有 WaterBreather 組件的任何實體的移動。實體可以如下所示:
Mammal:[LandBreather]
Fish:[WaterBreather]
Amphibian:[LandBreather,WaterBreather]
金色財經現場報道,Brad Chun:基礎設施的區塊鏈項目其應用領域極為廣泛:在2018年世界數字資產峰會(WDAS)暨FBG年會上,來自Shuttle Fund公司的Brad Chun表示,基礎設施的區塊鏈項目其應用領域極為廣泛,不僅在數字貨幣領域,在財務管理等眾多方面均可以使用,這種類型的項目在智能合約領域潛力極大,并很容易被眾多社群所接受,而且還可以助力多中心化環境自下而上的建設。[2018/5/2]
然后,您可以動態地為實體添加更多組件,例如 Fly(飛行)或 Fight(戰斗),并且也可以在它們下面創建具有不同組件的更多實體。
ARC(Action Registry Core)是一個受傳統 ECS 架構啟發的鏈上信息組織框架。與 ECS 一樣,ARC 有用于組件的無數據容器——實體,以及可以“掛載”到實體上的無行為的純數據類型——組件。
與 ECS 不同的是,ARC 有可以針對特定組件執行的“操作”(actions),而不是“系統”(systems)。主要區別在于,傳統 ECS 中的系統是圍繞傳統游戲中使用的基于循環(loop-based)的架構構建的,而 Action Bundles 則考慮到了區塊鏈架構是基于推送(push-based)的。這里概述的 ARC 的具體實現是針對 Solana 生態系統的,但其他生態系統中也可以使用類似的架構。ARC 的基本架構是一個分為三層的洋蔥架構。首先,要有負責維護注冊表和實體的核心層(the Core)。其次,有各種注冊表(Registry)合約,它們負責維護組件和操作的注冊表以及治理功能。最后,需要有(可選的)游戲或修改組件的操作(Actions)合約。
核心層負責以下三件事:
初始化新的注冊表實例
以 NFT 或獨立實體 PDA 的形式鑄造新實體
維護與實體相關的 SerializedComponents(序列化組件)
鏈上只需要存在一個核心程序,因為通過注冊表實例,我們可以將不同的組件、實體和規則進行分桶。在 EVM 鏈上,這種方法可能行不通,因為每個合約的合約存儲有限,所以最好啟用多個核心。
具體在 Solana 中,實體結構類似于為每個 Metaplex NFT 生成的 Metaplex 元數據。一個顯著的區別是在給定代幣上的每個注冊表實例都有一個新的實體映射。這意味著一個代幣,理論上可以有多個實體,只要它們屬于不同的注冊表(很可能有不同的組件、組件值等)。
這種行為模式是否“優于”一個代幣一個實體,這是一個尚待解答的問題。因為核心只處理序列化組件,所以它不需要擔心如何反序列化任何東西。這意味著所有反序列化邏輯可以推給游戲或操作層。
注冊表實例是賦予注冊表及其實例 ID 的唯一標識。不同的實例有助于在同一核心中實例化不同的“游戲”,從而允許在給定的一組組件和操作中重復使用相同的注冊表管理代碼——只允許實體不同的實例化。
注冊表程序基本上是一個治理合約。它記錄以下內容:
通過 Schema URL 注冊的組件。
可以修改給定注冊表實例的特定組件的已注冊操作。
創建新注冊表實例的能力。
例如,它可能規定只有管理員才能創建新的注冊表實例,或者將該權限交給 DAO。
同樣適用于用其注冊的任何組件。例如,假設給定的游戲 X 中,存在一個移動操作,允許玩家以每秒1個格子的速度將棋子從一個格子移動到另一個格子。另一個團隊來創建“Portals”,在這個注冊表中允許更快的移動。要允許 Portals 操作能夠修改單位上的“位置”組件,需要注冊表的治理來投票決定是否允許這種規則的改變。例如,它們可能允許特定的注冊表實例(你可以在“Portals Server”上使用它,但不能在“Hardcore Server”上使用)。
組件的更新權限在注冊表這里,因為 Actions 只是向注冊表提交其建議的更改,然后注冊表檢查治理,將更改提交給核心來修改實體。關鍵的是,Actions 不需要是鏈上游戲。它們可以是鏈下游戲基礎設施,如預言機,向游戲 DAO 控制的鏈上資產層提交更改。
Actions 是鏈上或鏈下代碼,具有以下能力:
讀取實體 PDA 并反序列化它們認為有價值的組件。
修改并提交更改后的序列化組件(或一組組件)給到注冊表,以便與實體一起更新。
特定于應用程序的 Actions 代碼允許游戲的“分層”。例如,可能存在“目標:山丘之王(King of the Hill)”和“目標:擊敗(Kills)” 兩個 Actions,可能可以玩三種游戲。可以實例化一個注冊表實例,該實例僅允許第一個 Action、第二個 Action 或兩者都處于活躍狀態并允許對組件進行更改。
對于 FOC 和 OCA 類型的游戲來說,ARC 具有幾個優點,包括:
模式更改的同時,保持向后兼容性(Backwards compatibility)。
由于實體可以容納動態組件,因此可以同時維護組件的v1和v2版本。
這允許舊應用程序可以進行查詢,而不會丟失操作支持。
效率(Efficiency) - 由于實體的大小由它們所擁有的組件決定,因此它們的大小只有在需要時才會變大。
可重復性(Repeatability) - 由于基礎實現非常簡單,因此可以在各種生態系統中輕松使用相同的實現。
熟悉性(Familiarity) - Web2 游戲公司對這個框架也會更加熟悉。
模塊化(Modularity) - 隨著需求的變化,可以模塊化地添加新的屬性/行為。
可擴展性(Extensibility) - 鏈上資產層對于那些使用鏈上資產的混合游戲以及全鏈游戲(這些游戲可以讀取和修改狀態)都很有用。
跨鏈可訪問性(Cross-chain accessibility) - 簡單的跨鏈序列化框架和跨鏈身份框架可以簡化應用程序向其他鏈的移植。接下來的文章中將詳細介紹。
總的來說,Action Registry Core 是一個用于管理游戲鏈上資產層的框架,支持全鏈游戲和利用鏈上資產的游戲。這種架構提供了可擴展性,隨著游戲資產數量和相互依賴性的增加,可以避免面向對象編程方法可能帶來的技術債務。在接下來的文章中,我們將深入探討基于 ARC 的鏈上游戲后端的使用情況,并探索完成堆棧所需的其他基礎設施。
作者:Dev Bharel & Shanav K Mehta
編譯:Leia
金色薦讀
金色財經 善歐巴
Chainlink預言機
區塊律動BlockBeats
白話區塊鏈
金色早8點
Odaily星球日報
歐科云鏈
MarsBit
深潮TechFlow
本文將介紹 ethpass 平臺,一個易用的數字通行證發行平臺,可以與 Apple 和 Google 錢包協同工作。ethpass 提供 API 接口生成和驗證通行證,確保資產安全和數據隱私.
1900/1/1 0:00:00在以太坊生態系統中,有多種策略可幫助ETH投資者實現睡后收入。本文總結了三種主要策略:經典質押、DeFi積木和DeFi期權金庫,以及它們的風險和回報.
1900/1/1 0:00:00作者:西柚,ChainCatcher近日,跨鏈基礎設施 LayerZero 以 30 億美元估值獲得 1.2 億美元 B 輪融資,讓它再次成為加密社區的熱點話題項目.
1900/1/1 0:00:00原文作者:wale.swoosh,資深 NFT 玩家原文編譯:Leo,BlockBeats近期有一部分 NFT 投資者和大戶因為一些狀況或 NFT 市場變化而退圈.
1900/1/1 0:00:00LooksRare 和 X2Y2 是交易挖礦模式的代表,也是最早的踐行者并持續至今。交易挖礦平臺的顯著特點是每筆交易的單價極高.
1900/1/1 0:00:00NFT市場Blur推出的激勵機制,使得“虛假”交易正在Blur上聚集,但當獲利的NFT持有者不再接手時,市場一路下跌。在Blur遭到一片聲討中,也有觀點認為,Blur并非罪魁禍首.
1900/1/1 0:00:00