作者: ck
加密原生游戲
“加密原生游戲是一種最大限度地?fù)肀^(qū)塊鏈開發(fā)模式和區(qū)塊鏈精神的游戲”。
新技術(shù)是用來做全新的事情、探索全新的可能性,而非更好地、漸進(jìn)地做舊的事情。當(dāng)我們談“全鏈游戲”的時(shí)候,實(shí)際上是在強(qiáng)調(diào)一種“敢為天下先”的探索精神,利用區(qū)塊鏈的特有屬性,創(chuàng)造全新的產(chǎn)品體驗(yàn),而不僅僅是教條式的將游戲邏輯、游戲數(shù)據(jù)全部放在區(qū)塊鏈上。以此來看,全鏈游戲引擎(如:MUD、Dojo、Keystone、Paima Engine、World Engine 等)是符合這種精神的,因?yàn)樗鼈儎?chuàng)造了區(qū)塊鏈游戲引擎(或者叫區(qū)塊鏈應(yīng)用開發(fā)框架),這是之前從未有過的。
全鏈游戲引擎。來源:https://www.binance.com/en/research/analysis/a-primer-on-on-chain-gaming
反觀全鏈游戲領(lǐng)域,雖然游戲數(shù)量眾多,但真正有原生創(chuàng)新的不算太多。當(dāng)然這跟游戲機(jī)制(game mechanics)的有限性有很大關(guān)系,游戲領(lǐng)域已經(jīng)充分探索了所有可能的游戲機(jī)制,要再創(chuàng)造新的游戲模式非常困難。
全鏈游戲匯總。來源:https://awmap.xyz/
但在游戲機(jī)制之上,依然有可探索的空間。像PixeLAW這樣的項(xiàng)目,從區(qū)塊鏈的“可互操作性”出發(fā),探索游戲間互操作性這一全新領(lǐng)域。暫時(shí)不能斷定PixeLAW 是最正確的方向,但至少離正確的方向更近了一步,這是我們基于 PixeLAW 開發(fā)游戲的主要原因。
圖片來源:https://pixelaw.github.io/book/
關(guān)于PixeLAW 的產(chǎn)品形態(tài)、設(shè)計(jì)哲學(xué)在《PixeLAW:構(gòu)建全鏈游戲的最簡單?法》和《PixeLAW 的工程美學(xué)》中有詳細(xì)介紹。接下來將主要介紹我們基于 PixeLAW 開發(fā)全鏈版 2048 過程中,對 PixeLAW 的微觀體感和由此引發(fā)的一些思考。
使用PixeLAW的微觀體感
對第一次接觸Cairo 語言的開發(fā)者來說,基于PixeLAW 開發(fā)游戲并不容易,需要同時(shí)熟悉Starknet 區(qū)塊鏈、Dojo框架、Cairo 語言和PixeLAW。此外,Cairo 編程語言的設(shè)計(jì)哲學(xué)、語言成熟度、工具鏈豐富度等方面,較 Solidity(以太坊智能合約編程語言) 也有很大不同,對開發(fā)者還是有相當(dāng)大的挑戰(zhàn)的,接下來將一一介紹。
Starknet
Starknet是采用ZK Rollup 的以太坊 Layer 2 區(qū)塊鏈,也被稱為“最適合全鏈游戲的Layer 2”。我認(rèn)為這個(gè)說法包含多個(gè)維度,技術(shù)維度,Starknet 有鏈原生的零知識證明機(jī)制(OP Stack 似乎也可以在其 Stack 中插入一層 ZKP 來達(dá)到類似效果);生態(tài)維度,Starknet 基金會、Bibliotheca DAO 等機(jī)構(gòu)組織的 Grant 和 Game jam 等活動(dòng);當(dāng)然也有營銷的成分,畢竟Starknet生態(tài)需要與其他ZK Rollup區(qū)塊鏈甚至 OPRollup 區(qū)塊鏈生態(tài)競爭來贏得更多開發(fā)者。
Starknet 官網(wǎng):https://www.starknet.io/en
Dojo框架
Dojo 框架可以粗略理解為 MUD 框架(首個(gè)全鏈應(yīng)用開發(fā)框架)的 Cairo 語言實(shí)現(xiàn),目前針對 Starknet 生態(tài)。如果你對 MUD 框架有一定了解,當(dāng)看到 Dojo 框架時(shí),除編程語言的差異,其他方面會感到很熟悉。此外,Dojo 配備了與之搭配使用的工具鏈(包含:Katana、Sozo、Torii、Slot 等),從這個(gè)意義上說,叫“Dojo 工具集”更合適。
來源:https://github.com/dojoengine/dojo
Cairo語言
Cairo 語言由StarkWare團(tuán)隊(duì)于 2020 年開始開發(fā),是為通用計(jì)算生成 STARK 證明的圖靈完備編程語言,使Starknet 作為 Layer 2 能夠進(jìn)行可證明性計(jì)算??勺C明性意味著可以在 Starknet 上生成證明,并在以太坊網(wǎng)絡(luò)(Layer 1)上驗(yàn)證程序的輸出已經(jīng)被正確計(jì)算。由于計(jì)算發(fā)生在 Layer 2,而 Layer 1 使用較少的計(jì)算資源即可驗(yàn)證生成的證明(驗(yàn)證過程不需要重新執(zhí)行計(jì)算),從而實(shí)現(xiàn)更好的計(jì)算性能和數(shù)據(jù)安全性。
從 Solidity 開發(fā)者的角度來說,由于 Cairo 語言在安全性和計(jì)算性能方面的取舍,加之 Cairo 語言本身尚處早期,學(xué)習(xí)門檻較 Solidity 高、語言特性不如 Solidity 豐富,完成同樣的功能,使用 Cairo 語言開發(fā)工作量有可能會更大。
四種智能合約語言對比。圖片來源:https://medium.com/scb10x/smart-contract-programming-languages-trade-offs-e2797f0b2968
PixeLAW
PixeLAW 于 2023 年7月在巴黎 ETHGlobal 黑客松期間誕生,并獲得 Starknet Best Use 獎(jiǎng)項(xiàng)。開發(fā)體驗(yàn)方面,除 Cairo 語言的學(xué)習(xí)門檻外,總體還是很不錯(cuò)的。PixeLAW Book 讀起來很流暢,對于想在本地部署 PixeLAW Core、PixeLAW app_template 的開發(fā)者來說,整個(gè)過程相當(dāng)絲滑。不過想要基于 PixeLAW 開發(fā)游戲的話,可能需要進(jìn)一步閱讀 PixeLAW examples 的源代碼以獲得更多工程實(shí)現(xiàn)上的靈感。
PixeLAW Github 主頁:https://github.com/pixelaw/
開發(fā)BRC2048 的體驗(yàn)
溝通流暢
我們基于PixeLAW開發(fā)全鏈版 2048 (BRC2048)的過程中,雖然遇到有些特性尚未被支持,也遇到過 PixeLAW 的一些小 bug,但總體上 PixeLAW 提供的功能足以開發(fā)我們的游戲。此外,特別值得一提的是,與PixeLAW 團(tuán)隊(duì)溝通總是很順暢,PixeLAW 團(tuán)隊(duì)的回復(fù)總是很及時(shí),要知道在跨時(shí)區(qū)協(xié)作的場景下,做到這一點(diǎn)并不容易。這里要特別感謝 PixeLAW 團(tuán)隊(duì)的@jk、@syora、@thiscaspar 、@mariz-ov,以及 MetaCat 團(tuán)隊(duì)的 @ilhte。
與PixeLAW 團(tuán)隊(duì)溝通過程。來源:https://discord.com/channels/1134242024409792525/1178127430704189550
工作量更少
之前我們基于 MUD 框架開發(fā)過 2048,在基于PixeLAW 開發(fā) 2048 的過程中,明顯感覺工作量少了。只需專注智能合約開發(fā),即可完成游戲開發(fā)。這是非常神奇的體驗(yàn),也是全新的開發(fā)范式!這很大程度上歸功于PixeLAW 的理念:用最小的組件開始一個(gè)世界,并讓它與社區(qū)一起成長。從一個(gè)像素塊和最少的規(guī)則開始,然后在此基礎(chǔ)上添加新規(guī)則、新游戲等,并逐步讓游戲之間有互操作性。
BRC2048 核心代碼局部。來源:https://github.com/themetacat/PixeLAW2048/blob/main/brc2048/src/app.cairo#L135
少即是多
下圖是我們基于 PixeLAW開發(fā)的2048游戲(也是 PixeLAW 的主界面)。由于組成游戲的最小單元是單個(gè)像素塊,因此游戲畫面呈現(xiàn)上會有所局限,進(jìn)而導(dǎo)致并非所有游戲類型都適合用PixeLAW 開發(fā)。但對于想要深入探索游戲間互操作性的團(tuán)隊(duì)來說,PixeLAW 是很好的試驗(yàn)場。單個(gè)像素塊是最小的可編程單元、也是最小的互操作性單元,關(guān)注核心目標(biāo),忽略次要事務(wù),不失為一種明智之舉。
BRC2048游戲界面
寫在最后
BRC2048目前只完成了初步的游戲構(gòu)建,接下來會進(jìn)一步完善游戲功能,并與 PixeLAW 團(tuán)隊(duì)一起,探索游戲間(比如:貪吃蛇、畫圖游戲)互操作性的具體實(shí)現(xiàn)路徑,以及 PixeLAW 在自主世界領(lǐng)域的更多可能性。
讓我們以cellula.live 創(chuàng)始人 Eric 的一句話來結(jié)尾:當(dāng)前處于全鏈游戲/自主世界的極早期,個(gè)體只有追求極致的差異化,才能獲得整個(gè)賽道的生存機(jī)率最大化.