如何在技術上為傳統遊戲開發者創造更好的GameFi鏈遊環境

 2024-08-13  阅读 7  评论 0

摘要:如何在技術上為傳統遊戲開發者創造更好的環境?自上一輪周期中Axie和StepN橫空出世以來,Gamefi和全鏈遊戲始終是區塊鏈行業的熱點之一,這一全新的遊戲模式在區塊鏈技術之上,在玩傢資產所有權、價值轉移與遊戲內經濟體系、規則透明化及社區治理方面,帶來瞭傳統遊戲平臺從未

如何在技術上為傳統遊戲開發者創造更好的環境?自上一輪周期中Axie和StepN橫空出世以來,Gamefi和全鏈遊戲始終是區塊鏈行業的熱點之一,這一全新的遊戲模式在區塊鏈技術之上,在玩傢資產所有權、價值轉移與遊戲內經濟體系、規則透明化及社區治理方面,帶來瞭傳統遊戲平臺從未實現的獨特體驗。這些願景聽起來雖然美好,但卻面臨著一個始終沒有解決的問題:

鏈遊的可玩性普遍不高,趣味性不足,更偏向於金融投機,在投機回報下降後,用戶規模會迅速萎縮。

顯然這與傳統遊戲的發展模式背道而馳。傳統遊戲的順利發展,往往是靠著遊戲機制的趣味性,能吸引到大量用戶,同時遊戲的開發者可以建立起良好的盈利路徑,還可能因自身的影響力拓展出一系列的周邊與IP。可以說,那些成功運營下來的傳統遊戲,其整個系統是正循環的,玩傢可以體驗到遊戲的樂趣,往往也可以在遊戲內和遊戲外獲得一定的經濟利益。

相比之下,目前的鏈遊更多是靠著單純的回報率來吸引玩傢。除瞭可玩性弱以外,Web3遊戲還面臨著使用門檻高、交互流程繁瑣等老生常談的問題。

這一切的根源是什麼?不同的人有不同的看法。TabiChain團隊認為,影響Web3遊戲的一個重要因素,是優秀的傳統遊戲開發者因為技術和學習成本問題,難以進入Web3生態。對於那些不瞭解遊戲或軟件開發的人來說,從Web2到Web3隻是換瞭一種敘事和環境而已,但實際情況遠比想象中惡劣的多。

那麼我們該如何通過技術實現,為傳統的遊戲開發者或相關廠商,締造一種更友好的環境?下文中,我們將從多個方面,對Web3遊戲面臨的問題,及對應的解決方案進行全面解析,為大傢闡述未來的Web3遊戲業該如何在技術上更適配傳統遊戲從業者。

阻礙傳統遊戲開發者進入Web3生態的技術原因

在前文中,我們曾簡單提到,技術不友好以及學習成本的高昂,是阻礙傳統遊戲從業者進入web3生態的核心因素,所謂的技術不友好和學習成本高昂,可以展開為以下幾點:

1.web3應用與傳統軟件結構的不同

區塊鏈和其上的應用(dApps)與傳統軟件架構有著本質不同,要求開發者具備全新的知識體系,如區塊鏈的工作原理、共識協議、智能合約編程模型等。傳統的遊戲開發者需要花費大量時間來學習Solidity或其他智能合約語言,需要理解EVM的工作方式。

而且,傳統的遊戲邏輯通常在中心化的服務器上執行,可以靈活處理復雜的遊戲狀態和高頻交互。在區塊鏈上運行遊戲邏輯則需要高度簡化或重構,因為每個操作都要發佈到分佈式網絡中執行,然後再上鏈,這受到區塊鏈性能和成本的嚴重限制。

2.智能合約的設計限制

EVM雖然滿足圖靈完備,理論上可以表達任意邏輯,但其特性非常不利於遊戲開發,例如:

缺乏定時器。以太坊鏈上的所有操作,必須由EOA賬戶手動觸發。為瞭實現類似於定時器的效果,開發者需要額外部署一個服務,維護一個EOA賬戶以及事件列表,來手動觸發定時任務。由於上鏈的延時問題,這些定時任務還不能保證按時完成。

沒有回調等機制,不支持多線程和異步。由於Solidity是為以太坊智能合約開發而設計的,它的執行環境與傳統的運行時環境有顯著的不同。EVM的操作是事務性的,每次函數調用都需在一個事務中完全執行,而不存在傳統意義上的“異步”概念。這意味著在Solidity中一次函數調用開始直到結束,都是原子性的,不能被其他事務中斷。

沒有引用外部數據的能力。雖然有類似Chainlink這種預言機,但不論是從集成角度還是數據調用角度看,其易用性與直接通過https請求來獲取數據調用有天壤之別,並且這又讓開發者增加瞭額外的集成負擔和依賴。

擴展性和性能限制。遊戲邏輯必須被簡化或分解成多個簡單的交易,以避免單一交易的gas費變得過高或超出最大限制,這限制瞭復雜交互和功能的實現。

3.數據存儲與調用的限制

智能合約的存儲空間昂貴且設計有限,不適合存儲大量遊戲數據。

可能需要用事件日志來間接跟蹤遊戲狀態,而事件的抓取可能並不穩定。諸如何時刷新遊戲狀態等問題,常常需要玩傢或者遊戲運營方手動觸發。

EVM采用的賬戶數據結構,導致其數據索引能力很差。當你查詢某個賬戶的數據時,你隻能瞭解其ETH或鏈原生Token的餘額,但其擁有哪些ERC-20資產、每種資產的餘額是多少,無法直接獲知。對於NFT也是一樣的道理。這些信息都封裝在每種資產的專屬合約中,而不是在用戶自己的賬戶下存儲。

我們能夠從Etherscan等工具中看到某個地址具有何種token及其餘額等信息,這些都是由區塊鏈瀏覽器等周邊工具索引而來,而後者要建立專屬的龐大數據庫,完整爬取所有的區塊數據或監聽鏈上事件,才能將鏈上的全部數據匯總歸集。

Web3開發者通常要集成類似Etherscan,NFTscan,The Graph等第三方數據提供方,甚至要為其API KEY付費。此外,這些第三方服務本質都是鏈下的數據庫,可能出現遲滯、出錯、超過調用限制、服務不可用等故障。

我們來對比一下,大多數遊戲自身的數據庫形態與區塊鏈中數據存儲方式的差異,兩者的不同是顯而易見的。大多數遊戲的數據結構完全由自己定制,有良好的表達和索引能力,不需要依賴任何第三方服務。

4.與現有遊戲資產集成的困難

現有的遊戲資產(比如道具和角色)通常不是在區塊鏈上創建和管理的。將這些資產遷移到區塊鏈上,通常要將通用但長尾的數據類型轉換成標準的NFT或Token,這涉及到復雜的遷移和集成工作,會影響到現有的遊戲經濟系統。

5.升級、補丁與防災

在以太坊上,智能合約一旦部署後,代碼就是不可變的,這使得升級和修補程序比傳統軟件更為復雜。開發者經常使用代理合約或版本化模式來繞開這一限制,但這增加瞭整體結構的復雜度,代理合約在使用時需要格外小心,以免存儲槽沖突導致數據損壞。另外,管理權限泄露風險也很嚴峻。

傳統遊戲的代碼升級在技術構造上沒這麼復雜,唯一可能需要約束的是中心化的升級權限,這可以通過DAO等方式實現而非依賴於智能合約。

並且,傳統遊戲時常會進行數據庫的快照或備份。這在平常可能不是很重要,但若遇到升級有重大 bug 時,可以迅速回滾數據,而這在區塊鏈上基本是天方夜譚。即使通過重建合約的方式來對某些遊戲的數據進行回滾,如何把舊合約的數據和狀態遷移到新合約,仍然很復雜。

6.生態割裂與用戶體驗問題

不同的公鏈和VM,其智能合約語言、架構、數據結構等是迥異的。在Web2中,遊戲開發者會選擇Unity等跨平臺的前端引擎,可以做到一套代碼稍加適配運行在iPhone、Android、桌面端等不同環境;後端由於不運行在用戶終端上,所以不存在跨平臺問題。

而在Web3中這基本是奢望,遷移至一個不同的鏈或VM,意味著項目整體的重構,要付出巨大成本,更何況初入Web3的開發者完全沒有經驗去選擇適合自己的生態,不論是從技術角度還是生態角度。

而在用戶體驗層面,區塊鏈交互及其復雜,此前盛極一時的賬戶抽象概念,正是為瞭解決web3用戶體驗問題而湧現,在此不做過多贅述。

羅列完上述6大論點,我們總結一下:web2 to web3的開發者面臨著巨大的適應門檻,如果他們是web2中的頂尖開發者,完全沒必要拋棄web2中的事業不做,去web3這麼一個陌生的環境裡拓展一些不知道能不能成功的業務。

可以說,頂尖的遊戲開發者大多沒有進入Web3,某種程度上,這使得Web3遊戲大多偏向金融投機,而不具備特別高的可玩性和樂趣

用戶側也存在同樣性質的障礙,Web3遊戲一系列阻礙用戶轉化率的操作步驟,導致Web2巨大的用戶群體沒有意願體驗甚至完全不知道Web3遊戲的存在。

有沒有一種infra級別的項目能夠解決上述問題呢?Tabi Chain可能是非常接近Web3遊戲終極解決方案之一的項目,其核心概念是“全能執行層”(Omni Execution Layer):開發者無需再關心各種VM或運行環境的區別,直接使用自己熟悉的、甚至是可以自定義的運行環境,直接開發或者移植的遊戲。

除此以外,Tabi Chain還擁有模塊化的共識、安全層等特性,一切都是模塊化和可定制化的,以滿足不同遊戲和應用的需求。

全能執行層:按照開發者需求來選擇執行環境

我們來回憶一下,區塊鏈的本質是什麼。有人可能會說是去中心化的不可篡改的賬本。但如果更接近技術本質來說,應該說是:狀態機在分佈式網絡中的可驗證的永久狀態同步。

也即,區塊鏈實際在維護一個全網公認的狀態機和其運轉的狀態:

每一次輸入都是確定的,被記錄在每個區塊中;

狀態轉換函數是確定的,具體表現為區塊鏈客戶端中的VM或運行時;

狀態的輸出也是確定的,也被記錄在每個區塊中;

因此,一個鏈的共識體系中,並不一定隻能存在一種執行層(如隻有EVM),不論多寡,隻要這條鏈能驗證其上多個執行層的狀態,讓每個遊戲都運行在自己的環境中,就可以解決我們上面說的種種問題

在Tabi中,每個遊戲或dApp可以構建自己獨立的一個Service。所有Service將各自產生的區塊提交至鏈的共識系統內;Supervisor Nodes中包含瞭所有Service中的運行時/VM,來校驗service區塊的狀態。

Tabi的全能執行層的核心可以看做一個具有多態能力的VM,因此叫做Polymorphism VM。

對於已有的區塊鏈VM而言,Polymorphism VM需要將該VM囊括入自身的運行環境中,並提供相應的接口調用方法。“囊括”這個概念在這裡有兩種具體的實現:

共享世界狀態:類似Ethermint,在Cosmos上提供瞭對EVM的支持。但EVM僅僅是一個表層,專註於用戶交互、合約操作等,讓所有的用戶側的操作看起來是在EVM上實現的。但這些操作最終的結果和數據,還是會存儲在其他Cosmos模塊中。所以這種EVM兼容性其本質是最底層數據的映射。

因此這種映射關系,也可以拓展到其他VM上,比如Ethermint可以再加一層SVM的模塊,這層SVM和EVM其實對應的都是一份底層數據。

這就類似於在PC上使用VMWare來啟動一臺Windows虛擬機,VMWare不僅可以訪問虛擬機內部的虛擬硬盤,也可以訪問物理電腦的硬盤。如果此時再啟動一臺Mac的虛擬機,它也可以用同樣的方式來掛載物理磁盤中的數據。這樣其實就實現瞭多臺虛擬機對同一個世界的資源與狀態的共享。

Tabi Chain的Main Service的將采用這種世界狀態共享的形式。因此隻要有對相應VM的適配,基於該VM開發的dApp可以選擇直接部署在Main Service上而非另起一個service。

獨立世界狀態:由於不同應用和遊戲的需求迥異,有些遊戲有自定義的運行時,將所有VM大一統地通過“共享世界狀態”的方式囊括進Polymorphism VM中並不適合所有情形。因此獨立的世界狀態也是需要的,這種實現方式相對簡單,對數據完全對立的Service而言也是最契合的。

但不論采用何種形式,都必須能被Supervisor Nodes進行驗證,也即Polymorphism VM中包含瞭所有實現方式的VM或Runtime。

Web2遊戲移植案例

Polymorphism VM具有高度的可定制性,特別是對於Web2開發者來說,他們可以使用自己熟悉的語言和框架,將任何業務邏輯移植到Polymorphism VM上。

假設Minecraft現在想要移植到Tabi,大致的流程為:

略微修改Minecraft服務端代碼(Java,其他語言同理),將需要上鏈的數據移動到一個數據庫(或一組)中,並將所有可能導致該DB發生變化的函數(也即狀態轉換函數)也挑選出來。

將該數據庫和這些函數,打包為一個JAR包,可以理解為Java的一種可執行程序。最後再加上JRE也即Java的運行環境。這一整體加載入Polymorphism VM中,最終其所有數據都會上鏈。

將其他與上鏈無關的後端邏輯(如組隊、聊天等)將運行在鏈下服務器中。

在Tabi Chain中啟動一個Service,並通知Supervisor Nodes中的Polymorphism VM加載相同的JRE。

至此所有的流程就結束瞭。

對開發者而言這些改動是在原有的Java語言和框架下完成的。對於任何其他開發方式的遊戲也是同樣的道理。對用戶而言遊戲的交互也沒有明顯的改變。顯然,這種移植Web2遊戲的方式非常迅速和高效,有可能成為Web3遊戲mass adoption的基礎范式。

遊戲STR狀態轉換函數細節

上述例子是Web2遊戲移植的大致流程。我們還需要對細節瞭解更多。這次我們用通用的而非具體某個遊戲的例子來展示,全能執行層中的運行時會涉及到的細節。

基本上,定制一個遊戲的運行環境可以被視為在區塊鏈上創建某個遊戲的狀態機,在Tabi中叫做State Transition Runtime。

STR可以通過以binary或module的形式集成入Polymorphism VM。

在類似區塊鏈的系統中,我們需要確保輸入的透明度、狀態轉換的公開可見性以及全局狀態的表達能力。為瞭滿足這些需求,我們需要構建具有以下特性的運行時:

世界數據庫(World DB)包含應用內需要記錄在區塊鏈上的所有用戶數據。這些數據應該是有價值和重要的,因此需要一種類似區塊鏈的結構來確保其可用性。因此,並非所有數據都需要記錄在區塊鏈上。例如,在遊戲中,用戶的聊天內容一般並不重要是可丟棄的,因此不需要放在區塊鏈上。

它能夠表達完整的世界狀態。在許多場景中,比如在遊戲中,這種表達不一定意味著高度的可跟蹤性——一個簡單的累加器就足夠瞭,這意味著像默克爾樹這樣的數據結構並不總是必需的。然而,無論使用什麼樣的數據結構來代表世界狀態,至關重要的是世界數據庫的世界狀態可以以摘要形式表達。

任何可以引起世界數據庫變化的功能被稱為狀態轉換函數,並應該封裝在狀態轉換運行時中。任何在運行時之外對世界數據庫的修改都應該被視為非法並拒絕。

輸入和輸出接口應該符合Input Interpreter和Block Proposer的設計。這一點相對簡單,在這裡不做詳細說明。

下列組織結構是該STR中必不可少的一些內容。Tabi默認會提供一個SDK來方便開發者制作該運行時。

World DB

在實踐中,遊戲或應用程序很可能會使用不止一個數據庫,而這些數據庫可能是不同的類型。讓我們假設特定的遊戲同時使用瞭關系型數據庫和鍵值型數據庫。

以下是一個簡單的關系型數據庫的例子:

UID:代表一個唯一的用戶,它可以是公鑰或其他標識符。

Nonce:用於預防重放攻擊。

額外數據字段:任意類型的數據。

這是一個簡單的鍵值數據庫:

狀態轉換函數

這是一個簡單的狀態轉換函數。當這個函數接收到用戶的輸入時,它簡單地將其乘以5並修改關系型數據庫中的數據。

世界狀態累加器

我們可以構建一個非常簡單的哈希累加器來表示世界狀態:

A_s+1 = hash(A_s + hash(query))

通過這樣的構造,可以確保在對世界數據庫進行任何修改之後,總會有一個唯一且確定的狀態與那次修改操作對應。

需要註意的是,這意味著每個狀態轉換函數必須實現這個方法。這個要求可以通過使用修飾符、接口、鉤子或者使用的語言特有的其他邏輯來強制實施。由於不同的語言有不同的特點,這裡不討論具體細節。

鍵值數據庫(KVDB)的更新過程也是相同的。

隨機數

任何狀態轉換函數中不應出現隨機數,否則會導致不同的驗證者驗證時產生不同的結果,而導破壞一致性。隨機數應該被納入系統輸入參數之中。

總結

通過上面的兩個例子我們可以發現,Tabi Chain的全能執行層,用模塊化的方式為遊戲開發者提供瞭極大的靈活性。由於篇幅所限我們無法在此將所有細節展開討論,但上述核心內容已經足夠論證Tabi Chain的解決方案是非常實用且新奇的。

在原有的Web3體系下,不同鏈、VM上開發的作品基本不具備可移植性;Web2遊戲想要進入Web3基本等於重寫,並且是用開發者非常陌生的語言與環境,並且受到各種難以理解的限制。

在Tabi中,開發者使用原有的語言、開發平臺、引擎,隻需要像調用SDK一樣做簡單的適配與修改,就可以將自己的作品帶入區塊鏈世界中。這種效率的提升與復雜度的降低都是指數級別的。

我們期待其能夠為Web3遊戲的mass adoption的奇點,吸引到Web2優秀的遊戲開發者,為Web3帶來有真正娛樂價值和可玩性的遊戲。

鏈遊龍頭幣分享

鏈遊龍頭幣有SAND、MANA、ENJ、UOS、GALA、GMT、ILV、MAGIC、PYR以及STARL,以下是幣種詳細介紹:

1、SAND

The Sandbox是一個虛擬遊戲世界,通過基於以太坊的功能型代幣SAND,玩傢可以創建和擁有不同的遊戲體驗,並從中獲得收益。遊戲玩傢可以通過The Sandbox Game Maker,來創建數字資產(非同質化代幣,也稱NFT),將其上傳到商店,並通過簡單的拖拉方式來創建遊戲體驗。The Sandbox已經與包括ATARI,Crypto Kitties加密貓,Shaun the Sheep等50多個合作夥伴建立瞭合作關系,來建立由玩傢創作和擁有的“邊玩邊賺”的創意遊戲平臺。The Sandbox旨在通過區塊鏈技術所帶來的真正的所有權、數字稀缺性、盈利能力和互操作性的優勢,來吸引更多的加密和非加密遊戲愛好者,將區塊鏈帶入主流遊戲世界。

2、MANA

Decentraland是一個基於區塊鏈的虛擬世界平臺,旨在為去中心化的開源項目解決平臺商賺取中間平臺利潤的問題,從而達成內容創造者和遊戲玩傢之間的低價格支付模式;項目使用區塊鏈技術去獲取並轉移虛擬產權,並讓用戶永久性持有這些虛擬產權,甚至對其進行經營,為自己的內容創造獲取利潤;沒有中介費用的存在,這是Decentraland最大的特性。

3、ENJ

恩金是最大的在線遊戲社區創作平臺,於2009年推出,總部位於新加坡,運營多年,擁有25萬個遊戲社區公會、電競團隊、minecraft服務器、遊戲社區、遊戲部族、角色扮演團體、粉絲網站等等,現有1870萬註冊玩傢,每月約60m的全球遊戲玩傢訪問,遊戲專註於內容管理系統和論壇創作者,每個社區商店每月銷售數百萬美元的虛擬商品。目前嘗試用區塊鏈來改造現有業務,推出的“恩金幣”可讓玩傢、內容創作者和遊戲發行者添加虛擬商品並為遊戲和社區提供價值。

4、UOS

UOS是為Ultra生態系統提供支持的令牌,可以用來購買平臺上的所有東西,包括遊戲、虛擬物品和遊戲開發商的廣告。Ultra將接受傳統的支付方式,如Paypal和信用卡。這些法定貨幣交易在後端無縫轉換為UOS,並在區塊鏈上使用UOS令牌完成。該令牌也將在平臺上以多種非交易方式使用,包 括 下 註、錦標賽和捐贈。

5、GALA

Gala Games由遊戲和區塊鏈行業的大咖創立,重新定義遊戲世界。Gala網絡由用戶支持,可在傢裡的電腦上操作Gala節點。用戶通過購買Gala Node的運營許可,根據各人對平臺網絡的貢獻獲得獎勵。其獎勵包括:GALA代幣、限量版NFT以及幫助Gala遊戲生態系統發展的機會。

6、GMT

STEPN是一個邊動邊賺的運動應用程序。配備NFT運動鞋的用戶可以到戶外活動來賺取代幣和NFT獎勵。STEPN有一個內置錢包、NFT市場、兌換和一個可以讓非加密用戶也用起STEPN的租賃系統。

STEPN有一個雙代幣系統,一個遊戲代幣 - Green Satoshi Token (GST) 和一個治理代幣- Green Metaverse Token (GMT)。

7、ILV

Illuvium是基於以太坊網絡構建的開放世界GameFi遊戲。該遊戲的原生貨幣ILV用於通過遊戲的遊戲賺取功能獎勵遊戲玩傢,並作為項目的治理代幣。

Illuvium利用以太坊第 2 層擴展解決方案Immutable X來顯著降低交易NFT所需的gas費用。與其他流行的GameFi遊戲一樣,遊戲玩傢完全擁有他們的Illuvials並可以在二級市場上交易NFT。Illuvium為玩傢和投資者提供瞭一個非常獨特的機會,收集、交易、戰鬥並獲得稀有價值資產。

8、MAGIC

MAGIC是Treasure metaverse的自然資源,它“啟動”NFT並將它們從幻想變成生產性的、有收益的資產。玩傢可以通過玩遊戲、挖礦和參與Bridgeworld來賺取 $MAGIC。因此,Treasure生態系統由MAGIC持有者管理。

9、PYR

Vulcan Forged是一個遊戲工作室,致力於在以太坊和Polygon和BSC上構建NFT遊戲。在其平臺上的一系列遊戲中,VulcanVerse和Berserk是項目的兩款主要遊戲。 PYR是其原生功能型代幣,它允許用戶從遊戲市場上購買NFT,參與抵押並支付學者的註冊費。

10、STARL

Loot是一個鏈上產生和存儲的隨機冒險者裝備,它是一個社區驅動的NFT項目。Adventure Gold(AGLD)是社區發起的Loot Project治理代幣,所有Loot持有者都能獲得AGLD代幣空投。Loot NFT持有者(每持有1個Loot)可以申請10,000個AGLD,AGLD代幣已經發佈。

Loot是隨機生成並存儲在鏈上的冒險者裝備。統計數據、圖像和其他功能未被具象化,以供其他社區成員後續探索。

作者:羅奔奔,CTO of Tabi Chain,前Web2遊戲平臺Octopus聯創

編輯:Faust,極客web3

鏈遊開發

发表评论:

管理员

  • 内容64764
  • 积分0
  • 金币0
关于我们
区块链:如何在技術上為傳統遊戲開發者創造更好的環境?自上一輪周期中Axie和StepN橫空出世以來,Gamefi和全鏈遊戲始終是區塊鏈行業的熱點之一,這一全新的遊戲模式在區塊鏈技術之上,在玩傢資產所有權、價值轉移與遊戲內經濟體系、規則透明化及社區治理方面,帶來瞭傳統遊戲平臺從未
快捷菜单
TRX钱包 网站地图
联系方式
电话:

Copyright © 2020-2024 区块链 Inc. 保留所有权利。