如何將傳統游戲開發中的經驗應用到區塊鏈游戲中?由ECS架構所啟發,JumpCrypto提出了一種新框架ARC,為全鏈游戲和資產上鏈的游戲提供了高效、可重用、易擴展和跨鏈互操作的支持,讓Web3游戲開發更加輕松。
概述
在上一篇文章中,我們討論了三種鏈上游戲類型,分別是:完全上鏈,資產上鏈,和可選資產鑄造。回顧一下,由于目前缺乏支持FOC和OCA的基礎設施,大多數游戲工作室選擇了OCM方法,以避免給用戶帶來太多的阻力。在接下來的幾篇文章中,我們將重點介紹一些可能支持FOC和OCA的基礎設施,以及每個部件在實際應用中可能的設計方案。
首先需要的基礎設施是——一個能夠高效管理鏈上資產和游戲狀態的系統。定義資產在鏈上的操作方式對資產可編程性有著實質性的影響。為了更好地了解這樣的系統可能會是什么樣子,我們決定自己開發一個鏈上游戲。同時,我們很快發現,當游戲的規模擴大時,基于面向對象編程的傳統方法會遇到可擴展性的挑戰,因為資產依賴關系會隨著游戲規模的擴大呈現出線性的增長。
因此,我們決定嘗試使用數據驅動的設計模式,這些模式在傳統游戲開發中已被廣泛使用,但在鏈上的實踐很少。通過這個過程,我們在Solana上嘗試了一個名為ARC的框架,我們認為這是管理鏈上資產和游戲邏輯最有效的方法之一。傳統游戲開發中常用到一種數據驅動的架構模式是實體組件系統(EntityComponentSystem,ECS),ARC正是由ECS所啟發構建的。
Web3游戲基礎設施開發商zkMeta將在Polygon上創建游戲專用Rollup:3月23日消息,Polygon Labs 宣布 Web3 游戲基礎設施開發商 zkMeta 正在 Polygon 網絡上創建一個游戲專用 Rollup,zkMeta 的目標是 2023 年第三季度完成產品集成,Era7 將是第一個使用 Polygon ZK 技術在 zkMeta 上發布的游戲。zkMeta 還將探索使用 Polygon zkEVM 零知識技術和 Polygon Supernets 解決方案來構建自定義應用程序特定的區塊鏈。[2023/3/23 13:22:34]
在本文中,我們將介紹ECS的工作原理、它在傳統游戲中為什么如此重要、如何將這種理念擴展到構建類似ARC的框架,以及可能的底層架構。
我們的目標是為開源研究做出貢獻,并幫助推動鏈上游戲基礎設施的發展。秉著這種精神,我們決定開源ARC參考實現,并歡迎社區給予任何反饋。
ARCGitHub鏈接:
傳統游戲開發中的ECS是什么?
ECS是近年來廣泛應用于視頻游戲的一種架構。與經典的面向對象編程相比,ECS可以將數據與行為分離,因此在視頻游戲領域具有一定優勢。在傳統的Web2游戲中,它可以幫助提高游戲性能,同時在開發游戲本身時,也能更好地控制游戲邏輯。
美國基礎設施法案中加密行業的爭議性語言未經修改通過了參議院:金色財經報道,眾議院民主黨人以微弱優勢通過了一項程序性動議,允許立法者就他們版本的幾萬億美元的法案開展工作。民主黨人同意將對參議院通過的基礎設施法案進行投票的最后期限推遲到9月27日,該法案包含嚴格的加密貨幣監管。
未經修正的基礎設施法案包含一個條款,將擴大稅法中 \"經紀人 \"的定義,以包括 \"任何(出于考慮)負責定期提供任何服務,代表他人實現數字資產轉移的人。\"盡管幾位美國眾議員和參議員努力對該法案做出妥協,將軟件開發商和網絡驗證者排除在外,但該法案最終未經修改通過了參議院。
財政部一位官員在接受CNBC采訪時表示,不會對無法提供所需信息的加密貨幣實體實施報稅要求。(dailyhodl )[2021/8/26 22:39:19]
了解傳統OOP方法在面對多個依賴關系時的局限性,可以更好地幫助理解ECS的優勢。
OOP面臨的挑戰-鉆石繼承問題
假設我們正在構建一個非常簡單的游戲,具有以下屬性:
三個實體:i)Mammal,ii)Fish,iii)Amphibian
Mammal可以在陸地上呼吸,但不能在水里呼吸
SpaceChain等獲44萬英鎊資金,以合作開發去中心化衛星基礎設施:EUREKA與新加坡企業發展局(Enterprise Singapore)和英國創新局(Innovate UK)共同向SpaceChain UK Limited(SpaceChain)、聯盟合作伙伴Addvalue Innovation Pte Ltd(“Addvalue”)和Alba Orbital提供了44萬英鎊的資金,以及獲得研發設施和資源的機會。受資助公司將聯合開發一種去中心化的衛星基礎設施(DSI),為區塊鏈核心有效載荷提供動力,使衛星能夠直接實時執行任務。(Prnewswire)[2020/12/10 14:49:14]
Fish可以在水里呼吸,但不能在陸地上呼吸
Amphibian既可以在水里呼吸,也可以在陸地上呼吸
在傳統的OOP中,Mammal可以作為一個實體,繼承自基類LandBreather,Fish可以作為一個實體,繼承自基類WaterBreather。在這里,我們遇到了Amphibian的挑戰,它既具有LandBreather的屬性,又具有WaterBreather的屬性,但不能同時繼承兩者。在經典的面向對象編程中,這被稱為“鉆石繼承問題或菱形繼承問題”。這個問題在游戲中比其他應用更為普遍,因為游戲角色、物品和資產的數量隨著特征和依賴關系的增加而增加。雖然存在一些變通方法,但對于游戲來說,我們認為ECS是最優雅的解決方案。
聲音 | Circle行政總裁:未來將提供更多的加密貨幣產品 關注基礎設施建設:今日達沃斯論壇上討論了關于“構建可持續的加密貨幣架構”主題, Circle行政總裁Jeremy Allaire表示:Circle未來將提供更多的不同的產品,包括為機構提供的各種資產安全產品,之前與Coinbase合作開發了基于美元的穩定幣,未來將使得資產變得“代幣化”,未來將更加關注于基礎設施的建設,建立起一個全新、去中心化、開放的加密貨幣生態系統。各國監管機構也相繼的開始監管加密貨幣,其中包括建立反洗錢等措施使得監管更加明確、合法化。加密貨幣的誕生是基于法幣的,Circle穩定幣USDC推出之后增長是迅速的,每周的增長率大約在10-20%。[2019/1/23]
ECS作為一種解決方案
基于ECS的游戲具有以下特性:
Entity-組件的唯一標識或容器
Component-不具備行為的純數據類型,可以“掛載”到實體上
System-與具有一定組件集合的實體匹配的函數
實體可以包含零個或多個組件。通過使用系統,實體可以動態地添加/刪除/修改其組件。
為了了解ECS如何解決游戲中OOP面臨的限制,我們可以使用ECS解決上面舉例遇到的問題。在ECS模式下,我們會創建兩個組件:LandBreather和WaterBreather。系統LandBreatherSystem處理具有LandBreather組件的任何實體的移動,而系統WaterBreatherSystem處理具有WaterBreather組件的任何實體的移動。實體可以如下所示:
聲音 | 央行前行長周小川:私營部門也可以參與金融基礎設施 但要在政府指導的前提下:11月18日消息,央行前行長周小川今日在第九屆財新峰會表示,由于區塊鏈等新興技術的出現,使得技術提供商與傳統金融機構在技術路徑選擇上存在部分分歧。在其看來,部分技術應用提供商沒有將潛在的金融服務能力發揮出來,而是把眼睛瞄向圈錢,“看中存款賬戶的錢,模仿銀行吸收公眾儲蓄”。周小川擔心,IT行業、互聯網行業會出現“贏者通吃”的現象。這種現象“跟我們原本的目標是有所不同的”,周小川強調,市場應實現競爭性發展使得最好的技術能夠凸顯出來,最終被加以使用。私營部門也可以參與金融基礎設施,比如支付體系和數字貨幣體系,但需要在政府指導的前提下,需要具備公共精神,考慮到安全性、穩定性,還需要考慮到貨幣傳導機制。[2018/11/18]
Mammal:
Fish:
Amphibian:
然后,您可以動態地為實體添加更多組件,例如Fly或Fight,并且也可以在它們下面創建具有不同組件的更多實體。
什么是ARC?
ARC是一個受傳統ECS架構啟發的鏈上信息組織框架。與ECS一樣,ARC有用于組件的無數據容器——實體,以及可以“掛載”到實體上的無行為的純數據類型——組件。
與ECS不同的是,ARC有可以針對特定組件執行的“操作”,而不是“系統”。主要區別在于,傳統ECS中的系統是圍繞傳統游戲中使用的基于循環的架構構建的,而ActionBundles則考慮到了區塊鏈架構是基于推送的。這里概述的ARC的具體實現是針對Solana生態系統的,但其他生態系統中也可以使用類似的架構。ARC的基本架構是一個分為三層的洋蔥架構。首先,要有負責維護注冊表和實體的核心層。其次,有各種注冊表合約,它們負責維護組件和操作的注冊表以及治理功能。最后,需要有游戲或修改組件的操作合約。
核心層
核心層負責以下三件事:
初始化新的注冊表實例
以NFT或獨立實體PDA的形式鑄造新實體
維護與實體相關的SerializedComponents
鏈上只需要存在一個核心程序,因為通過注冊表實例,我們可以將不同的組件、實體和規則進行分桶。在EVM鏈上,這種方法可能行不通,因為每個合約的合約存儲有限,所以最好啟用多個核心。
具體在Solana中,實體結構類似于為每個MetaplexNFT生成的Metaplex元數據。一個顯著的區別是在給定代幣上的每個注冊表實例都有一個新的實體映射。這意味著一個代幣,理論上可以有多個實體,只要它們屬于不同的注冊表。
這種行為模式是否“優于”一個代幣一個實體,這是一個尚待解答的問題。因為核心只處理序列化組件,所以它不需要擔心如何反序列化任何東西。這意味著所有反序列化邏輯可以推給游戲或操作層。
注冊表實例是賦予注冊表及其實例ID的唯一標識。不同的實例有助于在同一核心中實例化不同的“游戲”,從而允許在給定的一組組件和操作中重復使用相同的注冊表管理代碼——只允許實體不同的實例化。
注冊表
注冊表程序基本上是一個治理合約。它記錄以下內容:
通過SchemaURL注冊的組件。
可以修改給定注冊表實例的特定組件的已注冊操作。
創建新注冊表實例的能力。
例如,它可能規定只有管理員才能創建新的注冊表實例,或者將該權限交給DAO。
同樣適用于用其注冊的任何組件。例如,假設給定的游戲X中,存在一個移動操作,允許玩家以每秒1個格子的速度將棋子從一個格子移動到另一個格子。另一個團隊來創建“Portals”,在這個注冊表中允許更快的移動。要允許Portals操作能夠修改單位上的“位置”組件,需要注冊表的治理來投票決定是否允許這種規則的改變。例如,它們可能允許特定的注冊表實例。
組件的更新權限在注冊表這里,因為Actions只是向注冊表提交其建議的更改,然后注冊表檢查治理,將更改提交給核心來修改實體。關鍵的是,Actions不需要是鏈上游戲。它們可以是鏈下游戲基礎設施,如預言機,向游戲DAO控制的鏈上資產層提交更改。
TheActionBundles
Actions是鏈上或鏈下代碼,具有以下能力:
讀取實體PDA并反序列化它們認為有價值的組件。
修改并提交更改后的序列化組件給到注冊表,以便與實體一起更新。
特定于應用程序的Actions代碼允許游戲的“分層”。例如,可能存在“目標:山丘之王”和“目標:擊敗”兩個Actions,可能可以玩三種游戲。可以實例化一個注冊表實例,該實例僅允許第一個Action、第二個Action或兩者都處于活躍狀態并允許對組件進行更改。
ARC對鏈上游戲的幫助
對于FOC和OCA類型的游戲來說,ARC具有幾個優點,包括:
模式更改的同時,保持向后兼容性。
由于實體可以容納動態組件,因此可以同時維護組件的v1和v2版本。
這允許舊應用程序可以進行查詢,而不會丟失操作支持。
效率-由于實體的大小由它們所擁有的組件決定,因此它們的大小只有在需要時才會變大。
可重復性-由于基礎實現非常簡單,因此可以在各種生態系統中輕松使用相同的實現。
熟悉性-Web2游戲公司對這個框架也會更加熟悉。
模塊化-隨著需求的變化,可以模塊化地添加新的屬性/行為。
可擴展性-鏈上資產層對于那些使用鏈上資產的混合游戲以及全鏈游戲都很有用。
跨鏈可訪問性-簡單的跨鏈序列化框架和跨鏈身份框架可以簡化應用程序向其他鏈的移植。接下來的文章中將詳細介紹。
總結
總的來說,ActionRegistryCore是一個用于管理游戲鏈上資產層的框架,支持全鏈游戲和利用鏈上資產的游戲。這種架構提供了可擴展性,隨著游戲資產數量和相互依賴性的增加,可以避免面向對象編程方法可能帶來的技術債務。在接下來的文章中,我們將深入探討基于ARC的鏈上游戲后端的使用情況,并探索完成堆棧所需的其他基礎設施。
作者:DevBharel&ShanavKMehta
編譯:Leia
7:00-12:00關鍵詞:Binance.US、美聯儲報告、Ordinals、BRC-201.以太坊自合并以來流通量已減少超19.5萬枚;2.
1900/1/1 0:00:002023年5月3日,美國紐約州紐約市-Cardano商業投資部門?EMURGOVentures?參與了?Oort?最新戰略輪融資,Cardano?也與Oort建立了戰略合作伙伴關系.
1900/1/1 0:00:00文/孟永輝 當元宇宙的熱度尚未退卻,以ChatGPT為代表的新熱點又開始出現,一時間熱鬧異常,人頭攢動。曾經,因為互聯網的退潮而冷淡下來的科技領域,再一次掀起了新的高潮.
1900/1/1 0:00:00來源:靠譜二次元,作者:靠譜編輯部,作者:哈士柴 圖片來源:由無界AI工具生成ChatGPT4發布后,AI熱潮席卷全球一個多月,國內有大語言模型產品的公司超過了20家.
1900/1/1 0:00:00行業的風向總隨著巨頭公司而動。自從亞馬遜公司推出NFT市場的消息傳出后,大眾的目光就鎖定在了亞馬遜的身上,作為科技巨頭的亞馬遜入局NFT對整個行業都有著舉足輕重的意義.
1900/1/1 0:00:00A.市場觀點 一、宏觀流動性 貨幣流動性改善。市場等待?5?月?4?日美聯儲議息會議,預計加息?25?個基點,大概率是最后一次加息。美國銀行危機繼續加劇,貨幣政策轉向或加快,年內有望實現降息.
1900/1/1 0:00:00