基於提示的寫作敘事系統:鏈上傳說的集體創作模型

來源:MetaCat

鏈上遊戲設計媒介具有多種功能和限制,其中之一就是對集體決策的高度重視。透過原型系統探索這種功能,我們提出了Sentences:一種鏈上協作世界建構工具,其結構圍繞著僅附加分支敘事的原始結構。它使用MUD 構建,為集體敘事生成提供了一個輕量級環境。 Sentences 的每個新遊戲都會生成一個新世界,然後玩家透過逐步添加其傳說來實現它。

動機

在自治世界空間中,新項目誕生的常見任務是集體“世界構建”,構建一個共同的傳說系統,決定玩家對世界的體驗。這種練習通常是非正式的、非結構化的,但也可以透過有序的提示和練習來支持,幫助世界建構者塑造他們世界的結構和連貫性。

這些練習本身就是一個世界。它們在敘述者之間建構了一個資訊系統,這是一套讓敘事得以蓬勃發展的規則。這套規則就是世界,它為新想法的誕生創造了一個懸而未決的現實空間。練習的選擇也必然會影響所創造的敘述:一組問題將假設一個潛在答案的空間;一個方向的提示可能會阻礙另一個方向的探索。

因此, Sentences 是一個「世界建構的世界」;一個用於協作知識產生的原始沙盒。它必然是稀疏和受限的,旨在作為測試新想法的實驗室。除了擴展敘事之外,沒有其他聊天或貢獻。在Sentences 的世界中,世界是線性建構的,但可以從初始種子向多個方向分支。

機制

除非世界已經在進行中,否則載入Sentences 用戶端會為玩家提供產生新世界的選項。生成後,玩家會收到一個提示,提示玩家可以使用一個核心機制來開發故事,範例可能如下:

“這個社會最重要的是自然”

“這個文明完全依賴水平”

“這個團體是靠金錢建立起來的”

一旦生成,世界就會活躍起來,作者有固定的時間(我們將其設定為20 個區塊,以規律的tick 方式進行)來為故事提出新的補充內容。時間結束後,將進入第二階段,參與者將投票選出他們最喜歡的提案。投票數統計完畢後,最喜歡的提案將加入故事中,然後重新開始這個過程。

如果在時間窗口內沒有提出任何提案,世界就會消亡。這種消亡並不是絕對的:世界只是將其他已消亡的世界加入檔案中。由於所有提案和投票都在鏈上,因此所有世界都包含可能方向的完整歷史記錄,作為「消亡」分支,代表一組可能的平行宇宙。

合約

敘述的狀態由兩個相互關聯的系統管理:一個系統負責管理新敘述的生成,另一個系統負責處理時間、投票和敘述新內容的提議。

新故事的初始化,由從輸入系統編碼的硬編碼提示清單中,隨機選擇的句子組成FirstEntrySystem.sol。這些提示是使用簡單的替換語法腳本產生的。在未來的版本中,此腳本還可以在合約中複製,以提供更多樣化的起點。

一旦故事初始化完成,這個初始提示就會被加入到鏈中,新的提案期就會開始。這個週期持續n 個區塊(每個區塊大約一秒),並由變數定義periodEndsBlock,在每個新提案期開始時設定在活動故事上。

在提案期間,會建議新的敘述條目,參與者會投票決定他們選擇的擴展。提案和投票均由ProposalsSystem.sol 處理,它根據periodEndsBlock 變數驗證這些貢獻的時間。提出的每個提案都指向一個「父級」(它所回應的提案),成功的提案會形成一個連結清單。

在提案期結束時,將計算每個提案的投票數。如果出現平局,則隨機選擇兩個提案中的一個(在未來的版本中,將此視為會產生分支的情況將會很有趣)。如果沒有提出任何提案,則故事結束。故事將被歸檔,玩家可以採取的下一步行動將是產生新的故事。

應用(Applications)

我們設想,Sentences 在10-50 名參與者的會議中發揮最佳作用,這些參與者可能彼此認識,也可能不認識,但本著原型傳說的精神聚集在一起。例如:在Discord 上舉辦活動,目標是在一小時內產生五個新世界。

就其本身而言,Sentences 並不是特別令人興奮,它只是一種工具,而不是一個引人入勝的世界。然而,作為一個模組化組件,Sentences 的敘事生成機制,可以很好地融入更豐富的角色扮演遊戲中,在遊戲過程中編織遊戲的結構。投票機制也可用於支援在玩家產生的提示中包含生成輸出。

Sentences 目前版本的一個弱點是初始提示的特殊性。這很容易為不同的部署進行更改,但擴展遊戲的提示生成機制,以更符合敘事部分的開放性將會很有趣。

備擇方案

Sentences 的形式靈感來自基於文字的遊戲、即興創作、傳說和TTRPG。我們在製作這款遊戲時參考的一些特定參考資料包括Max Kreminski 的Epitaph(一款奇幻敘事生成遊戲)和Kate Compton 的Tracery 替代語法工具。這些項目利用簡單的隨機性和模組化,來創建複雜的分支敘事,在我們的案例中,我們對這些原語在集體場景中使用的潛力很感興趣。

雖然Sentences 在建構世界時就考慮到了這一點,並且在這方面有些主觀性(即:僅附加敘述),但人們也可以想像它被用於其他受限的協作寫作場景(例如:Toggle the table of contents Twitch Plays Pokémon? )。

擴展和未來工作

Sentences 的一個明顯擴展是,任何初始化世界的人都可以設置,關於如何將新句子附加到敘事中的具體規則。例如,這些規則可以修改投票系統,要求一定數量的玩家才能繼續敘事,或修改投票時間以減緩或加快敘事的發展。這樣一來,Sentences 不僅成為世界的原型設計工具,也成為產生特定故事風格的約束和對話結構的原型設計工具。

另一個同樣有趣的開發方向是從當前世界的「死」分支產生平行世界的選項。作為一種機制,最好的實作方式可能是產生一個帶有指向舊分支指標的新「新世界」合約,而不是從頭開始產生一個新世界。

Total
0
Shares
Related Posts