游戲行業的進步總是伴隨著科技的提升而不斷演變。從圖形和音效的變化,到游戲設計、交互方式的變革,無一不在推動著游戲的髮展。雅達利開髮的第一款游戲Pong被公認爲是第一款商業上成功的電子游戲,風靡一時,掀起了電子游戲的潮流。70 年代是集成電路高速髮展期,1975 年摩托羅拉公司推出 6502 處理器,爲後續的家用機輝煌奠定了基礎。最著名的家用機先驅雅達利 2600 正是由此誕生,吃豆人從此家喻戶曉。
現代游戲是綜合藝術,衕時也是覆雜技術。早期的游戲從代碼邏輯到界麵交互都較爲簡單,開髮者更習慣從 0 到 1 進行製作,但是隨著機能提升,游戲玩法越來越多樣,技術越來越覆雜,從頭開髮就顯得過程緩慢且效率不高。到了 90 年代,CD-ROM 與 3D 圖形加速卡的出現則讓游戲內容與畫麵錶現都達到了新的高度,導緻開髮一款游戲的代碼量急劇增加,在這個背景下,游戲引擎的概念應運而生。游戲開髮者將部分底層技術標準化,集成爲一個高效的工具集,以縮短開髮周期,降低開髮覆雜性,併能夠支持不衕平颱與設備上的游戲髮布。可以説游戲引擎的出現爲開髮者帶去了極大方便。這些模塊化、通用化、標準化的功能可以讓開髮者更專註於游戲內容、玩法設計上。如今一套成熟的游戲引擎可能包含圖形、物理、場景等各個繫統。
1993 年,Id Software 公司使用了 DOOM 引擎(Id Tech 1)製作了《毀滅戰士》這款游戲,穫得了巨大成功,當年銷量便達到了 350 萬份。《毀滅戰士》的成功在很大程度上得益於其軟件架構的設計。其游戲軟件架構被畫分爲核心軟件組件、美術資産、游戲世界和游戲規則等部分。這種清晰的架構畫分使得不衕的開髮者可以使用相衕的引擎,通過製作新的美術、關卡、角色、游戲世界和游戲規則,創造出全新的游戲作品。DOOM 引擎的成功畫分激髮了社區中的 MOD 製作興趣,衕時也成爲了第一個商業游戲引擎。此後十年內,游戲引擎炙手可熱,從 Epic Games 的虛幻引擎Unreal,到 CryTech 的 CryEngine,再到在 IOS 端大放異彩的 Unity。除了商用引擎,許多廠商也打造了自家使用的自研引擎,例如 Valve 的Source 引擎,Infinity Ward 的 IW 引擎,育碧推出的 Anvil 引擎。
目前最知名的兩個全鏈游戲引擎 MUD 跟 DOJO 均採用 ECS 架構。ECS 代錶實體-組件-繫統(Entity-Component-System),是一種在 Web2 游戲開髮中常用的架構模式,用於管理游戲對象(實體)以及它們的屬性(組件)和行爲(繫統)。這種架構模式的好處有:
MUD V1 即是典型的 ECS 架構。在 V1 的框架中,Entities 實體也是游戲中的基本單位,可以是各種物體、道具或者是錢包地址,他們由唯一的ID標識。而 Components 組件是實體的數據部分,用來描述實體的不衕屬性,比如物體的位置,角色的屬性等等。通過將不衕的組件附加到實體上,就可以創建出豐富多樣的游戲對象。而 Systems 繫統則處理 Components 的邏輯,實現游戲的各種規則跟行爲,他們以智能合約的形式存在於鏈上。實體、組件、繫統均在一個 Worlds 世界合約中,每個 Worlds 相當於一個獨立的游戲環境。
這個架構如何體現可擴展性呢?假設我們需要升級游戲中的某項功能或是社區想要添加新的內容,首先需要讓新的游戲功能/邏輯(繫統)穫得相關組件的寫入權限,然後創建升級版本,游戲中的其他內容保持不變即可。如果不給寫入權限呢,那麽也可以考慮創建包含新功能的新組件與新繫統,玩家可以選擇不衕的版本游玩,衕時與相衕的核心組件的數據交互。因爲從Worlds 的角度看,任何人都可以創建組件和繫統,就像任何人都可以創建新的 ERC-20 代幣併將它們“附加”到地址上一樣。
區塊鏈技術目前雖然未完全落地至日常應用,但是其獨特的確權透明等特性也勢必爲游戲領域帶來重要的變革。特別是人們已經見識到 DeFi 帶來的巨大魔力。而把游戲完全上鏈,會髮生什麽呢?由 DeFi 我們不難推出區塊鏈將給游戲帶來的變化:
區塊鏈游戲一直以來備受期待,尤其在 DeFi、NFT 這兩個區塊鏈應用領域相繼爆髮後,然而目前實現仍然有很多障礙:
以上隻是目前可預見到的一些睏難,也是現階段幾乎所有全鏈游戲聚焦點都在 SLG 的原因——游戲機製簡單,不需要高 TPS,需要的信息不完備性也恰好能被已有技術完美應用。如果我們期待一款 MMORPG,那無疑是具有相當的挑戰性。借鑒游戲引擎給 Web2 游戲帶來的改變,如果鏈游衕樣採取 ECS 架構,可以能解決:
全鏈游戲的難點還有很多,游戲引擎也隻是解決一小部分問題,不過挑戰與機遇併存,全鏈游戲這種覆雜應用可能成爲區塊鏈技術真正落地的敲門磚。
目前全鏈游戲引擎還是非常早期階段,如前所説,我們看到了覆雜應用的雛形,但缺少工具實現。目前開髮進度較快的是 MUD V2 與Dojo。MUD V2 相比 V1 改進了 ECS 架構,但是 V2 目前還在開髮中。Dojo 是由Starknet 社區構建的目前唯一可驗證的游戲引擎,得益於 Cairo 語言,可以原生實現戰爭迷霧。Dojo 也採用了 ECS 架構,併且計畫在 Starknet 上開髮專屬游戲的 L3,以進一步提高可擴展性。
此外鏈游所依賴的基礎設施也在進化。L2 已經夯到可以一鍵髮鏈,也許某個爆款游戲可以通過自建 Rollup 來賺取差價從而維持耗散結構,避免死亡螺旋。利用 ERC-4337 賬戶抽象技術,全鏈游戲能夠讓玩家在一個單一賬戶中進行游戲交易、創建角色等等,有助於簡化用戶體驗。還可以把不衕的游戲機製封裝爲一個可升級的合約賬戶,使得開髮者輕鬆更新或優化游戲規則,內容等等。
游戲行業的進步總是伴隨著科技的提升而不斷演變。從圖形和音效的變化,到游戲設計、交互方式的變革,無一不在推動著游戲的髮展。雅達利開髮的第一款游戲Pong被公認爲是第一款商業上成功的電子游戲,風靡一時,掀起了電子游戲的潮流。70 年代是集成電路高速髮展期,1975 年摩托羅拉公司推出 6502 處理器,爲後續的家用機輝煌奠定了基礎。最著名的家用機先驅雅達利 2600 正是由此誕生,吃豆人從此家喻戶曉。
現代游戲是綜合藝術,衕時也是覆雜技術。早期的游戲從代碼邏輯到界麵交互都較爲簡單,開髮者更習慣從 0 到 1 進行製作,但是隨著機能提升,游戲玩法越來越多樣,技術越來越覆雜,從頭開髮就顯得過程緩慢且效率不高。到了 90 年代,CD-ROM 與 3D 圖形加速卡的出現則讓游戲內容與畫麵錶現都達到了新的高度,導緻開髮一款游戲的代碼量急劇增加,在這個背景下,游戲引擎的概念應運而生。游戲開髮者將部分底層技術標準化,集成爲一個高效的工具集,以縮短開髮周期,降低開髮覆雜性,併能夠支持不衕平颱與設備上的游戲髮布。可以説游戲引擎的出現爲開髮者帶去了極大方便。這些模塊化、通用化、標準化的功能可以讓開髮者更專註於游戲內容、玩法設計上。如今一套成熟的游戲引擎可能包含圖形、物理、場景等各個繫統。
1993 年,Id Software 公司使用了 DOOM 引擎(Id Tech 1)製作了《毀滅戰士》這款游戲,穫得了巨大成功,當年銷量便達到了 350 萬份。《毀滅戰士》的成功在很大程度上得益於其軟件架構的設計。其游戲軟件架構被畫分爲核心軟件組件、美術資産、游戲世界和游戲規則等部分。這種清晰的架構畫分使得不衕的開髮者可以使用相衕的引擎,通過製作新的美術、關卡、角色、游戲世界和游戲規則,創造出全新的游戲作品。DOOM 引擎的成功畫分激髮了社區中的 MOD 製作興趣,衕時也成爲了第一個商業游戲引擎。此後十年內,游戲引擎炙手可熱,從 Epic Games 的虛幻引擎Unreal,到 CryTech 的 CryEngine,再到在 IOS 端大放異彩的 Unity。除了商用引擎,許多廠商也打造了自家使用的自研引擎,例如 Valve 的Source 引擎,Infinity Ward 的 IW 引擎,育碧推出的 Anvil 引擎。
目前最知名的兩個全鏈游戲引擎 MUD 跟 DOJO 均採用 ECS 架構。ECS 代錶實體-組件-繫統(Entity-Component-System),是一種在 Web2 游戲開髮中常用的架構模式,用於管理游戲對象(實體)以及它們的屬性(組件)和行爲(繫統)。這種架構模式的好處有:
MUD V1 即是典型的 ECS 架構。在 V1 的框架中,Entities 實體也是游戲中的基本單位,可以是各種物體、道具或者是錢包地址,他們由唯一的ID標識。而 Components 組件是實體的數據部分,用來描述實體的不衕屬性,比如物體的位置,角色的屬性等等。通過將不衕的組件附加到實體上,就可以創建出豐富多樣的游戲對象。而 Systems 繫統則處理 Components 的邏輯,實現游戲的各種規則跟行爲,他們以智能合約的形式存在於鏈上。實體、組件、繫統均在一個 Worlds 世界合約中,每個 Worlds 相當於一個獨立的游戲環境。
這個架構如何體現可擴展性呢?假設我們需要升級游戲中的某項功能或是社區想要添加新的內容,首先需要讓新的游戲功能/邏輯(繫統)穫得相關組件的寫入權限,然後創建升級版本,游戲中的其他內容保持不變即可。如果不給寫入權限呢,那麽也可以考慮創建包含新功能的新組件與新繫統,玩家可以選擇不衕的版本游玩,衕時與相衕的核心組件的數據交互。因爲從Worlds 的角度看,任何人都可以創建組件和繫統,就像任何人都可以創建新的 ERC-20 代幣併將它們“附加”到地址上一樣。
區塊鏈技術目前雖然未完全落地至日常應用,但是其獨特的確權透明等特性也勢必爲游戲領域帶來重要的變革。特別是人們已經見識到 DeFi 帶來的巨大魔力。而把游戲完全上鏈,會髮生什麽呢?由 DeFi 我們不難推出區塊鏈將給游戲帶來的變化:
區塊鏈游戲一直以來備受期待,尤其在 DeFi、NFT 這兩個區塊鏈應用領域相繼爆髮後,然而目前實現仍然有很多障礙:
以上隻是目前可預見到的一些睏難,也是現階段幾乎所有全鏈游戲聚焦點都在 SLG 的原因——游戲機製簡單,不需要高 TPS,需要的信息不完備性也恰好能被已有技術完美應用。如果我們期待一款 MMORPG,那無疑是具有相當的挑戰性。借鑒游戲引擎給 Web2 游戲帶來的改變,如果鏈游衕樣採取 ECS 架構,可以能解決:
全鏈游戲的難點還有很多,游戲引擎也隻是解決一小部分問題,不過挑戰與機遇併存,全鏈游戲這種覆雜應用可能成爲區塊鏈技術真正落地的敲門磚。
目前全鏈游戲引擎還是非常早期階段,如前所説,我們看到了覆雜應用的雛形,但缺少工具實現。目前開髮進度較快的是 MUD V2 與Dojo。MUD V2 相比 V1 改進了 ECS 架構,但是 V2 目前還在開髮中。Dojo 是由Starknet 社區構建的目前唯一可驗證的游戲引擎,得益於 Cairo 語言,可以原生實現戰爭迷霧。Dojo 也採用了 ECS 架構,併且計畫在 Starknet 上開髮專屬游戲的 L3,以進一步提高可擴展性。
此外鏈游所依賴的基礎設施也在進化。L2 已經夯到可以一鍵髮鏈,也許某個爆款游戲可以通過自建 Rollup 來賺取差價從而維持耗散結構,避免死亡螺旋。利用 ERC-4337 賬戶抽象技術,全鏈游戲能夠讓玩家在一個單一賬戶中進行游戲交易、創建角色等等,有助於簡化用戶體驗。還可以把不衕的游戲機製封裝爲一個可升級的合約賬戶,使得開髮者輕鬆更新或優化游戲規則,內容等等。