當前位置:
首頁 > 遊戲 > Cocos引擎王哲:區塊鏈遊戲,其實也沒什麼神秘的

Cocos引擎王哲:區塊鏈遊戲,其實也沒什麼神秘的

文:王哲

在周六的 Cocos 區塊鏈遊戲開發者大會上,我和 INB 資本的合伙人尹健輝一起演講和演示了基於 Cocos 引擎開發的區塊鏈遊戲的編譯、發布、運行在 Cocos 公鏈上的整個過程,以及遊戲道具脫離遊戲後在鏈上存儲、交易、然後從鏈上回到遊戲里,把武器掛件裝備上去、以及把炸彈消耗掉的整個過程。

由於這部分演講是用對話形式開展的,速記稿也比較凌亂畢竟太多技術乾貨了,所以我打算直接用這篇長文,完整闡釋我們做了什麼、計劃做什麼、以及為什麼要做這些事情的整個思路邏輯。這篇文章真的很長,請耐心看完。

一、為什麼我們要著手區塊鏈遊戲的研究

在和健輝一起演示區塊鏈之前,我的個人演講的部分,解釋了為什麼 Cocos 要在今天開始著手研究區塊鏈遊戲的方向。我自己講了大概 30~40 分鐘,其實核心是圍繞這張圖來展開的:

目前手機原生遊戲領域的多數從業者,都是 2012~2014 年才進入這個領域的。但是我們 2010 年就開始做 Cocos2d-x 了,在 2010 年 12 月 1 日發布了第一個版本 Cocos2d-x 0.7.0。當時我周圍的人都很不理解,為什麼不做端游呢?為什麼不做頁游呢?當時國內的市場環境,手游上就 iOS AppStore 可以達到每月 50 萬的最高月流水,還不夠端游月流水的一個零頭;安卓上則完全沒有任何遊戲變現模式,沒有內購計費沒有廣告變現,那麼你們在瞎折騰啥呢?

後來的歷史,大家也都一起經歷過了。這是 3 月 12 日上周一我做區塊鏈遊戲大會的 PPT 時,截取的幾個國家遊戲暢銷榜排名,Cocos 遊戲仍然佔據了大多數。Cocos 引擎被噴了這麼多年,事實證明,在中國市場上,仍然是市場佔有率最高的手游引擎。網易的幾款 3D 遊戲,我們內部稱為「Cocos+」,就是在 Cocos 的基礎上,網易自研構造了整個 3D 引擎疊加上去。我半開玩笑地和網易的朋友說,你們大概用了 20% 的 Cocos 吧,那麼就調成 20% 透明度?於是就有了下面這張圖。網易的技術路線,也說明了 Cocos 在 3D 的潛力,只要我們假以時日和研發投入,希望 Cocos 引擎也能做到像《楚留香》那樣級別的 3D 能力,而且不是屬於某家遊戲公司的,而是屬於全行業的。

微信小遊戲在上周已經可以註冊和調試了,並要求大家準備各種資質材料,相信距離完全開放、可自由發布已經不遠了。Facebook Instant Games 則在發布的當天就立刻完全開放,而在平台開放後僅僅過了 7 小時,就有一家國內遊戲公司用 Cocos 引擎發布上去 8 款遊戲。

所以,現在回頭來看,我們在 2012 年開始布局和探索 HTML5 遊戲開發技術,和大家介紹用 JavaScript 語言開發遊戲,是完全正確的。

今天對於 Cocos 開始探索區塊鏈遊戲的各種技術,社區論壇里有不少質疑和嘲笑的聲音。但是回顧前面幾年的歷史,我在 2012 年開始介紹用 JavaScript 來開發原生遊戲,用 JSB (JavaScript Bindings)技術打包到原生平台、而且還可以發布到 HTML5 環境的時候,當時有多少人反對、嘲笑、覺得我們不務正業呢?甚至到我們在 2016 年 3 月推出 Cocos Creator,以 JavaScript 為第一優先的開發語言時,仍然有至少 50%~60% 的開發者跳出來罵。當時很多人噴的是,Cocos 團隊不務正業,我只關心我的 C++ 和 Lua,我不需要 JavaScript。今天小遊戲的機會來了,你還能那麼確信 Cocos 團隊在幾年前投入 HTML5 技術研發是不務正業嗎?

我們每次在一個技術爆發、未到成熟的時候,就立刻提前布局一些新技術的研發投入,其實就是為了在老技術老平台「生態穩定」的時候,可以給諸位開發者提供「多一些選擇」。回到第一張圖,原生手游領域我們 2010 年開始研究,2012 年爆發;這時候我們不等原生手游發展到生態穩定的階段,就立刻投入 HTML5 技術的研發,即使被人噴、被人認為不務正業;6 年後 HTML5 小遊戲爆發證明了我們的技術前瞻性,但同時也我們不會等到 HTML5 進入生態穩定,就需要立刻布局新的技術平台了。從目前的情況來看,區塊鏈遊戲的確是一種很有潛力的新技術,值得我們去研究。

很多開發者看到這裡就會問了,OK,你說服我了,我也支持 Cocos 研究新技術,但是已有的原生和 H5 引擎是否會受影響?我在這裡統一答覆:不受影響。因為我甚至不太想把區塊鏈研發團隊建在廈門,和引擎團隊放在一起。主要原因是廈門基本就沒有區塊鏈技術高手。目前可演示的 Cocos 區塊鏈項目幾個研發人員在成都,我最終會在北京和成都中間做出一個選擇,畢竟這兩個城市人才比較多,目前暫時傾向於成都。但同時,廈門的 Cocos Creator / Cocos2d-x 引擎團隊在春節後也大舉招人。這裡順便打個廣告,對自己的引擎開發技術有自信,希望一起做一個全球一流引擎、一起做一家偉大公司的朋友,可以在微信上、或者通過微信公眾號聯繫我,我們招2D/3D/編輯器技術高手,工作地點廈門。

在周六的會上,我也展示了 Cocos Creator 2.0 的性能飆升,我們只是用了在 3D 研發上得到的部分成果,一個 2D/3D 通用的渲染器,把 Cocos 原來的底層換掉,然後就得到了這樣的性能提高。Creator 2.0 目前已經出到 Alpha-5 版本了,而且這次拉了騰訊互娛的大神們進來趟坑。填完坑之後,應該在 4~5 月份,就可以發至少 beta 甚至 RC 版給大家用了。

會上我也演示了 Cocos 3D 目前的工作流,以及一款可以部分客戶端 2D、部分客戶端 3D 的麻將遊戲。我們希望通過這種技術方案,讓開發者們可以平滑過渡到 3D 方案上,甚至因為是 H5/熱更新的緣故,可以做灰度發布和 A/B test。具體演示過程大家可以去看這周稍後放出的會議錄像。

好了,講完了我們為什麼要進入區塊鏈遊戲領域的邏輯,以及讓大家放心我們對原生/H5的投入,和 Creator 2.0 版本即將帶給大家性能上質的飛躍。

下面進入區塊鏈的內容了。

二、區塊鏈黑話翻譯

幾個月前,我剛開始看區塊鏈相關資料的時候,也是極度懵逼的。後來發現,鏈圈自己發明了很多行業術語,或者說「黑話」,其實和手游圈一樣的。外行人看手游圈,我們也是一堆黑話比如:SDK、API、次留、七留、人均阿普(ARPU)、付費阿普(ARPPU)、LTV、CPA、CPI、CPC、填充率、CPM 和 eCPM 還講的是完全不同的東西……。類似地,搞清楚鏈圈的這些術語之後就容易理解多了。

所以在我和健輝一起完成演講之前,我堅持要求把很多鏈圈的行業術語「翻譯」成了遊戲圈的術語,當然還有一些無法翻譯的,我只能在這裡簡單科普一下,鏈圈的極客們就不用看了,主要給遊戲圈的 Cocos 開發者們看的:

遊戲運行在區塊鏈環境上 —— 目前階段,一般指的是遊戲接入了區塊鏈 SDK,在金幣內購和道具生成/交易/兌換的時候通過區塊鏈 SDK 調用任一區塊鏈節點提供的API。最理想狀態是遊戲絕大多數邏輯、甚至全部邏輯都由智能合約構成,完全在智能合約虛擬機中執行。

區塊鏈虛擬機、智能合約虛擬機 —— 區塊鏈 SDK 上綁了 JavaScript 、 Lua 腳本或 Solidity 腳本的執行環境。JSVM、Lua VM 的確是翻譯成虛擬機沒錯。比較有意思的是,現在的區塊鏈系統中,通常是數個節點共同執行並見證一份智能合約。

區塊鏈瀏覽器 —— 這個模糊的命名是被我吐槽最久的。其實它不是一個架設在區塊鏈上的網頁瀏覽器,而只是網站上登錄後,類似「我的賬戶」裡面可以看到「我的交易記錄」以及每次交易記錄區塊描述的這麼一堆網頁。這應該是直譯 Block Chain Expoloer 的鍋。區塊鏈瀏覽器通常還帶有合約瀏覽、共識過程監督、出塊記錄、理事會等功能,這就看具體的設計了。

Token —— Token 是一種權益證明,並不是區塊鏈特有,例如Q幣也算是一種 token,在中心化系統中也可以發行和流通。從技術上來說,區塊鏈和 token 是可以完全分開的。區塊鏈系統中的權益證明,能通過加密演算法和分散式賬本標明資產的唯一性、確定真偽、並通過共識演算法進行流通。一般 token 會被通俗理解為數字幣。比特幣、以太幣、以及在以太坊上用各種智能合約生成的數字幣都叫 TToken。實際上 token 也可以用來證明你擁有某種遊戲道具,比如屠龍刀、裁決的擁有權,這就是虛擬資產的持有證明了,而不是純粹的幣。

TPS —— Trade Per Second,每秒能交易多少次,這是區塊鏈主要性能指標。比特幣大概 7 TPS,以太坊 25 TPS,而石墨烯技術的鏈理論上可以達到 10 萬~100 萬 TPS 的峰值吞吐性能。

石墨烯技術和 DPOS 共識方案 —— 咱們行業多數遊戲都是專制獨裁式的。我遊戲廠商今天要做個運營活動、發個道具,直接由遊戲廠商說了算;比特幣則類似全員民主投票制,穩,但是效率真是太低了;而所謂的石墨烯技術和 DPOS 共識就是類似咱們國家的民主集中制,大家先投票選出幾個代表,然後由這些代表負責後續的日常投票就行了。這種方法在民主的低效和專制獨裁的風險之間,取得了一個很好的平衡。Cocos 鏈就是採用這種技術的,否則每秒不到 30 次交易的那些公鏈,怎麼可能支撐商業化遊戲的運營呢。

更多的鏈圈黑話,大家自己去網上搜索學習吧。我就不多寫了。

正式開始之前,我得強調一下,我們是鏈圈的,不是幣圈的。區塊鏈底層技術可以拿來討論,發幣炒幣這種事情就不用討論了。我本人連股票都不炒的,比特幣和以太坊錢包都還沒開。花那個時間不如擼代碼和打遊戲有意思。

有媒體或開發者用「區塊鏈引擎」來描述發布會後的 Cocos。這樣的解讀是不對的,遊戲引擎就是遊戲引擎,我們只是可以讓開發者能更方便地接入區塊鏈 SDK 而已。這和引擎提供廣告、提供統計等服務的本質是一樣的,甚至和引擎支持微信小遊戲平台、支持 Facebook Instant Games 平台都是類似的。Unity 的 70% 收入來自於他們自家廣告平台,人家也不會稱自己是「廣告引擎」嘛。正確表述是,「今天 Cocos 讓遊戲可以通過引擎快速接入我們的區塊鏈 SDK 了」。

Cocos 區塊鏈項目的名字叫 Project BCX,BCX 的全稱是 Block Chain Expedition。BCX 在我們內部一般讀為 /biks/。Expedition —— 讓我們去遠征吧,很可能是像 HTML5 技術一樣,三到五年的一趟遠征,最後帶回來給開發者多一種新平台的選擇。

三、區塊鏈遊戲的四階段發展路線設想,以及我們的對應實現方案

首先,我們認為區塊鏈遊戲的發展,會分為四個階段:

第一階段:使用 token 作為遊戲金幣的結算

這一階段的區塊鏈遊戲使用 token 作為遊戲金幣產出的結算。 一些項目的數字幣基於以太坊的 ERC20 標準進行製作,基於 ERC20 協議發行的 token 很容易交換和兼容可用於不同的項目和平台, Token 的持有人可以完全控制資產並且跟蹤到任何地址任何數量,其流通路徑可在區塊鏈瀏覽器中查詢。 Candy.one 的遊戲平台是這一階段的代表。會前宣傳說我們會演示 Cocos 遊戲接入 Candy.one 平台,其實我們在現場根本就沒有演示,因為這一階段是在是太容易了。對於引擎而言,就和接入一個微信支付寶 SDK 一樣簡單。

真的是很簡單。我們一款已經開發好的 H5 遊戲,加入 Libs 裡面兩個混淆過的 JS 文件,調用這個區塊鏈 SDK 的 API,構建,搞定。什麼區塊鏈容器、區塊鏈虛擬機,我們遊戲圈的人不用理會這些概念,就是接入一個 SDK,2 天時間搞定。

這個階段會遇到的局限是:token 是同質化的,只能用來表達積分、金幣這樣的純粹一些數字,無法表達不同的道具。比如說,你在遊戲里打出了第一個鑽石、然後第二個鑽石,就可以記錄為你有 2 個鑽石,這個叫「同質化」;但是如果你有了第一隻以太貓、第二隻以太貓,兩隻貓的毛色、眼睛、形態都不一樣,這樣你就無法在鏈上記錄說你有「以太貓x2」了,第一隻和第二隻以太貓需要分開記錄,這叫「非同質化」。所以我們需要立刻進入第二階段。

第二階段:遊戲金幣和道具的去中介化、去代理交易

以太坊的 ERC721 Token,就是一種「非同質」 token 的標準範例。而之前大火的「以太貓」,就是非同質 token 的代表性應用。所以,不論是遊戲中的道具、裝備、玩家賬號,你手裡有把風之力、有把蛋刀、或者裁決、,都可以用非同質 token 來表達。這個 token 代表了你對這件道具的所有權,可以脫離遊戲去買賣交易。

該階段解決了玩家之間道具脫離遊戲在鏈上交易、甚至是不同遊戲里交易的問題。由於這個過程是去中介的,理論上到達該階段之後,玩家就不需要像 5173、交易貓這樣的道具交易平台了。你不再需要把賬號密碼給到一個交易平台上的代理人,那個代理人起到平台信譽擔保的作用,一邊收了買家的錢,把錢給到你,然後再一邊把裝備和賬號給到買家,中間賺取差價。

我們的 Project BCX 正處於這個階段,會稍微往前一點兒有個第三階段的雛形。周六我和 INB 資本合伙人尹健輝在演示中,重點演示了我們已實現該階段的功能。

健輝在這個地方有個很特別的設計是,交易的「原子化」實現。雖然「付錢」和「得到道具」是兩件事情、屬於兩筆不同的記賬,但是 Project BCX 裡面的規則是把這兩筆記賬綁定綁定到一起,成為一個「原子」,如果你付了錢沒有得到道具,或者得到了道具但是付款失敗,這次交易的「原子」就會整體失敗、整個回撤。而區塊鏈的去中介去代理化,就是說只有你自己能對自己的道具和金幣進行操作,在原子化交易規則之下和去中心掛化掛單、撮合系統的幫助之下,你在鏈上的交易里,再也不需要有道具交易平台那些代理人的幫助了。

但第二階段的缺點是,遊戲運行規則仍然是在鏈之外的。雖然道具的產量、流通是透明的,但產出規則仍然是可以被遊戲廠商暗箱操作的。今天做個運營活動,明天出個新boss,結果玩家花了大量時間、或投入大量充值購買的裝備道具被快速貶值。玩家和遊戲廠商的價值嚴重背離了。我們不少遊戲人,天天想著怎麼洗用戶,用戶又不傻,很快就跑到王者榮耀、吃雞遊戲、TapTap 等「不會被洗」的地方去了。

第三階段:關鍵規則上鏈運行

如何才能保證我作為玩家不會被反覆洗呢?不會說得到一件橙裝之後,下個月的運營活動里就被快速貶值呢?我們設想了第三階段應該實現的功能,就是比如高級道具的掉落、金幣產出規則等上鏈運行,遊戲運營方將這些關鍵規則在區塊鏈上以智能合約的形式實現,在區塊鏈瀏覽器的支持下,規則對玩家是公開、透明的。

之前有提到,Project BCX 稍微有了第三階段的雛形。我們設想並實現了一個很有趣的功能,稱之為「鐵匠鋪」。鐵匠鋪應該是一個由遊戲運營方、遊戲玩家代表共同成立的治理委員會,關鍵規則在治理委員會討論投票通過後,所有關鍵道具都只能通過鐵匠鋪來生成。未經過委員會討論通過的情況下,遊戲運營方是無法單方面生成各種道具裝備的。

所以:

鐵匠鋪是具有道具、裝備製作許可權的賬號和一組合約

鐵匠鋪是獨立於遊戲的道具產出點

鐵匠鋪的道具,具有限量性或唯一性

鐵匠鋪由遊戲廠商、玩家、玩家公會等構成的治理委員會管理

其實進一步想,這麼設計之下,遊戲的運營和收入方式會有很大的改動,遊戲本身也會變得有趣:比如說在同樣的三國世界觀下,我們可以在《三國志》裡面獲得一把青龍偃月刀,記錄到鏈上,然後到《真三國無雙》裡面割草,接著到《街機三國》裡面把曹操砍了。這些遊戲一開始可能是同家遊戲廠商做的不同遊戲,但最後有可能演變成不同遊戲廠商做的不同遊戲,但都接入同樣的鏈、同樣的世界觀、同樣的道具產出和交易規則、被一個世界觀治理委員會管理。多家不同遊戲廠商和玩家一起討論、制定、公開青龍偃月刀的產出規則,而遊戲運營的收入,就不能通過「洗用戶」來維繫了,而可能是通過提供區塊鏈記賬的算力來收取交易手續費。表面上看因為不能洗大R而短期收入降低了,但是遊戲的生命周期則可能拉得很長,遊戲廠商的關注點不應該是付費點設計和運營活動了,而是專註於有趣好玩的遊戲內容生產,回歸遊戲的本質。

其實這一點我們還沒完全思考得特別清晰,但直覺上這是一個正確的方向,讓玩家和遊戲運營方的利益一致化,實現遊戲的長期運營和收入。如果我們今天不想做出一些改變,只是靠不停滾服洗玩家的話,最後玩家即使不玩你區塊鏈遊戲和鐵匠鋪規則,也會跑去玩那些大廠的公平競技遊戲了。

我和健輝在周六的演示里,演示了「只有鐵匠鋪賬號才能創建道具」的功能,但對於遊戲運營方和玩家、和玩家公會如何成立一個治理委員會來決定這些道具產出規則,則沒有想得太明白,畢竟這已經不是技術的範疇了。

第四階段:遊戲整體上鏈運行

這個階段的腦洞就比較大了。我們設想,行業的最終形態可能是遊戲整體上鏈運行,遊戲的全部邏輯代碼都在鏈環境中執行,並由去中心化的區塊鏈網路承載和存儲數據,在這個場景下需要可信、高效、無延遲的運行容器與輕量級的節點,用於遊戲的運行。但是,哈哈,目前業界尚無決定性的技術方案,大家各種鏈的性能和算力顯然都扛不住啊。也許某天會有哪個頂尖聰明的程序員提出解決方案,這隻能等了。

四、Project BCX 希望解決的問題,和技術特點

總體來講,我們在區塊鏈遊戲方向的探索,希望能解決以下技術問題:

1、合適的區塊容量和出塊時間。容量太大么出塊時間慢,容量太小么,怎麼記錄各種道具的一大堆數據。石墨烯方案的最大區塊大小為 2M /塊,對於記錄遊戲道具,這顯然不夠用。我們具體定多少呢,還在測,反正中間找到個平衡點。另外,我們也已經做了一些改進;

2、提供自定義數據結構存儲。你這遊戲是把風之力,那個遊戲是把屠龍刀,每個遊戲記錄自家道具的數據結構肯定是不一樣的,我們也不應該強求大家一樣。所以塊裡面應該能支持自定義數據結構的存儲;

3、提供帶有區塊鏈操作介面的多平台遊戲運行環境。這句話翻譯過來就是,區塊鏈 SDK 應該能跨 iOS, Android, H5…… 這句基本是廢話,本來就應該如此;

5、去中介交易的實現和一個道具交易市場的範例。恩,這點我們也已經做完了;

6、提供完整的錢包和區塊鏈瀏覽器。同上,開發完了,會上有演示;

7、支持同質和非同質 token 的跨鏈承兌網關。同質和非同質,前面已經講解過了。什麼叫「跨鏈承兌網關」呢?你看,Cocos 最早就是靠跨手機平台起家的,然後有 AnySDK 和 SDKBOX 幫助大家快速跨各種支付 SDK 廣告 SDK。到了區塊鏈遊戲的時代,必然是各種公鏈各種幣滿天飛,這時候就需要引擎能幫助開發者能把遊戲快速接入各種鏈各種幣,反正多一種幣的支付,就多一群玩家,玩家可不能因為他只有 a 幣沒有 b 幣而流失;

8、二級資產的發行和交易能力。Project BCX 的設計是,CP 可以在 Cocos 公鏈上發行自己的二級數字幣,遊戲廠商或者我們前面提到的鐵匠鋪管委會,可以自由交易這些數字資產;

9、高速合約虛擬機。這個是和快速共識設計配套的,我們需要能快速地執行合約代碼,不然玩家多了肯定扛不住。速度越快,可以上鏈的遊戲內容就越多,對玩家利益就越有保障。

五、篇末

謝謝各位有耐心看到這裡。我很久沒有寫過這麼長的文章了,還得盡量通俗不晦澀。整體而言,Cocos 在區塊鏈上的研究,是直奔「讓玩家和遊戲廠商利益一致化」「遊戲廠商能專註生產好玩有趣的內容,而不是天天盤算怎麼設計付費坑怎麼洗用戶」而去的。我前面也說過,大家天天洗用戶洗大 R 的結果,就是玩家乾脆跑到騰訊網易做的 MOBA、吃雞等公平競技遊戲里去了,而這種公平競技遊戲,都需要高 DAU 堆起來的。在手機遊戲流量紅利結束之後,想要有 DAU 支撐,你要麼得有超級流量平台、最好還是超級社交平台,要麼得有大筆市場費用做投放買流量,這兩件事情和大多數遊戲公司已經沒什麼關係了。今天的 H5 小遊戲,或者叫「手機頁游」固然開放了新的流量獲取方式,但可能兩三年之後又會進入「生態穩定」的階段,大家又必須去找新的突破口和新流量來源。今天 Cocos 投入區塊鏈技術的研究,和我們早在 2010 年開始手游原生平台,2012 年開始 HTML5 技術一樣,未雨綢繆,希望在手機頁游/小遊戲的流量紅利結束之後,能給各位開發者提供多一種可選的方案。

最後我再強調一下,我們對區塊鏈領域的投入研究,是和早幾年的 Cocos VR 一樣放在體外,並不影響 Cocos 作為遊戲引擎本身的研發投入。引擎團隊今年仍然在融資和擴張。應用了我們部分 3D 研發成果的 Cocos2d-x 4.0 將在 Q3 發布,將實現渲染多通道支持、2D 材質系統和 2D 光照,而且實現了下一步可適配 iOS Metal 的渲染架構;而性能大幅提升的 Cocos Creator v2.0 目前已經進展到 alpha-5 版本,計劃在 Q2 發布,敬請期待。

不論是在手機原生,還是 H5 小遊戲,或者在未來可能存在機會的區塊鏈遊戲上,『讓遊戲開發更簡單』,既是對各位開發者的承諾,也是我們始終不變的願景。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 GameLook 的精彩文章:

《火焰紋章》手游年收入破2.95億美元:是《馬里奧Run》五倍
證監會新IPO指引:三年總利潤過億,遊戲公司涉險過關

TAG:GameLook |