介紹
在太乙網絡的“大儺世界”中,角色的誕生並非預設劇本,而是通過智能遊戲腳本與因果網絡交互實現的“代碼造人”。本實踐以匿名開發者“師傅”與建設者“紅中”的協作為主線,展示如何從虛無中鑄造角色、賦予靈智,併為其注入基礎交互能力,最終讓角色“李火旺”在牛心村落地生根。
經過實踐一,當前世界有了原始的區域和一些基礎天道(SGS合約)支持,接下來我們試著創建玩家能操作的角色,並且讓他在這個世界誕生。下圖示例了師傅和紅中在實踐一的情況下創建新角色“李火旺”,並且讓他在牛心村出生。

實踐二操作路線圖
步驟一:天賦設計——定義“靈根”與“命格”
師傅設計了兩種可以用於角色的“天賦”,例如“樂觀”和“天賦異稟”。如果角色在被創建的時候隨機被賦予了某個天賦,則相關條件下天賦會被觸發。比如“樂觀天賦”在角色出生的時候能增加心情上限,而“天賦異稟”則能在角色出生時提供更高的總體屬性上限
1. 編寫天賦合約
- 師傅設計兩類天賦Lua腳本,作為角色誕生的“先天命數”:
- 樂觀(Leguan): 心情上限 +5 天賦觸發:角色誕生時心如明鏡,諸事不擾。
- 天賦異稟(Tianfuyiding): 屬性總值 +20 天賦觸發:靈臺混沌初開,根骨非凡。
- 天賦腳本存儲於太乙網絡,區塊鏈技術確保其不可篡改。
2. 部署天賦池
- 師傅將天賦合約注入“元神界”公共池,角色創建時隨機抽取,契合“天道無常”的玄學設定。
步驟二:鑄造肉身——“衍童石”的煉化與使用
目前玩家創建的空降角色沒爹沒孃,不能自己出生,需要藉助法寶來化生。這裡師傅設計了一種新法寶叫做“衍童石”,用於出生這種天降角色。
1. 設計衍童石(YanTong Shi)
- 師傅編寫衍童石智能天道合約,核心功能包括:
- 角色出生:born_actor
- 天道升級:通過upgrade_actor將角色主合約升級至具備基礎交互能力。
- 衍童石代碼需綁定區域,確保角色出生地合法。
2. 煉化與安置
- 師傅鑄造衍童石實體NFA並移交紅中
- 紅中將衍童石安置於牛心村區域
步驟三:角色誕生——“李火旺”的線上化生
紅中運用玄牝工具創建新角色“李火旺”,創建時指定姓和名。角色在創建時會被隨機賦予一些天賦。
紅中接著通過玄牝工具運行衍童石的誕生角色指令,讓李火旺這個角色在牛心村出生。指令可以指定出生時候的性別和性取向,還可以指定具體的各項屬性,當然這些屬性的總和不可以超過角色創建時候的屬性總值上限。圖中的屬性加起來是820,這是在創建李火旺的時候隨機到了“天賦異稟”天賦,這個天賦會導致角色屬性總值上限增加20。
1. 出生角色實體(NFA)
- 紅中調用衍童石天道命令,執行born_actor操作
- 天道鏈上因果驗證
- 屬性總值820(基礎800 + 天賦異稟20),符合規則。
- 隨機抽取的天賦“天賦異稟”,觸發屬性加成。
2. 結果
- 更新角色實體NFA,元數據包括:
- 唯一標識:0x0001(正整數)。
- 出生地:牛心村區域。
- 屬性:性別、性取向、基本屬性、五行等等。
- 初始狀態:無交互能力,僅存“虛無之軀”。
步驟四:注入靈智——升級角色主合約
現在的李火旺,只是一個完全虛無的角色,內在的天道(SGS主合約)也是系統的默認合約,幾乎沒有什麼可以和他交互的。因此需要對這個角色進行首次升級,成為一位基本的人類。這裡,作為示例,師傅設計了一個人類角色所具有的內稟主合約,出於示例的考慮,這個合約具有一些基本的天道,例如可以“看(look)”的能力、可以“走(go)”的能力,還有一些諸如“查詢狀態(hp)”等基礎交互能力。這樣大儺玩家通過danuo客戶端才可以對李火旺進行基本的操作。
而法寶衍童石正好有一個特色能力,就是有個指令可以升級角色到指定的SGS合約。這裡紅中通過衍童石來升級了李火旺的主合約到示例合約。
1. 設計人類主合約(示例合約)
- 師傅編寫基礎交互天道合約,賦予角色以下能力:
- 觀因果(look):查看所處區域信息。
- 御風行(go):在連通區域間移動。
- 查命數(hp):顯示屬性與狀態。
- 注意因為這些天道代碼是開源的,修士可後續自定義擴展。
2. 天道升級
- 紅中運轉衍童石升級功能(upgrade_actor命令)
- 升級效果:
- 角色NFA元數據更新,新增一些能力字段。
- 衍童石在升級角色天道的時候,其運轉要消耗一些QI,轉入師傅賬戶。
其實,在實踐二的那些日子裡,師傅接著花費了很多天才補全了角色主合約中各種操作的具體設計。注意:這一步和上一步並沒有特定順序關係,目前這個順序純粹是因為師傅和紅中進行首次實踐合作的時候就是這個順序(步驟四合約中的很多細節操作,都是師傅在很久之後陸陸續續實現的,因此不是在第四步就一口氣搞定的)
步驟五:虛實交互——MUD客戶端的首次連接
圖中最右下的一個截屏是紅中作為實際玩家在danuo客戶端接入後,操作李火旺的實際交互(danuo實驗客戶端目前是MUD形式)
1. 接入大儺世界
- 紅中使用danuo工具啟動一個示例MUD客戶端,以角色名稱登錄。在太乙網絡項目中自帶的danuo程序僅僅是一個C++版本的MUD型客戶端工具,能從玩家的視角查看世界,還可以檢查敘事性文本有沒有問題,例如顏色標記等等。
- 真正給玩家Play的客戶端有多種多樣,紅中老大也專門給出了一個TypeScript/JavaScript語言的MUD客戶端示例項目,我們後面文章再來專門介紹。
2. 基礎操作驗證
- 執行look指令,返回牛心村場景描述
- 執行hp查看屬性
一些實踐感想:代碼即魂魄
- 匿名性與唯一性:角色實體基於公私鑰生成,無名無姓卻獨一無二。
- 動態進化:角色內稟天道主合約可隨境界提升迭代,如同修士突破境界重塑肉身。
- 因果不昧:角色從誕生到交互的所有操作,均在區塊鏈技術支撐下以交易哈希形式永存,形成不可磨滅的“修真命簿”。
這一實踐不僅是技術演示,更是一場對“存在本質”的追問——當李火旺在大儺世界揮劍斬因果時,誰又能斷言,屏幕外的我們不是另一重宇宙中的“NPC”?