由玩家编写的 NPC:一种用于涌现式叙事的细颗粒度媒介

时间:2024-09-20 编辑: 浏览:(824)

翻译:MetaCat

非玩家角色 (NPC) 是游戏世界中的永久居民,他们的行为不受玩家控制。相反,他们的行为由游戏开发者创建的一组预先编写的条件决定,这些条件会根据世界状态来评估 NPC 应采取的行动。NPC 通常以任务提供者和同伴的形式出现,以进行对话驱动的故事推进、供应商分发物品、或与敌人进行战斗。

我们的游戏《Duck Duck Destruction》是一个案例,展示了一种使玩家能够为 NPC 编写决策树脚本并将其部署在自治世界中的模式。

动机

与 Gnomik 或 Sentences 等项目相比,我们的原语有更少的主观色彩,前者通过专用的自上而下的主控层将规则和传说制作引入游戏玩法。相反,我们的方法允许玩家对世界做出细微的贡献,在不破坏其基本机制的情况下保持其活力。我们认为玩家可部署的 NPC 是集体创作和新兴故事叙述的有利媒介,因为它们既能表达和互动,又能保持世界基础结构的完整性。

机制

《Duck Duck Destruction》 是一款完全由玩家编写的 NPC 鸭子,在竞技场环境中战斗的游戏。玩家通过决策树智能合约对鸭子进行编程,这些智能合约将 NPC 的行为确定为对游戏内事件的条件响应:“如果受到射击,请远离当前位置”或“攻击任何进入近战范围的鸭子”。

在足够数量的玩家提交决策树后,游戏主持人开始游戏。然后游戏自动进行,每轮都会提示鸭子根据编程的决策树采取行动。游戏以所有鸭子被淘汰或最后一只鸭子存活而结束。

NPC 行为脚本:决策树的图形示例

智能合约

每个 NPC 脚本都是部署在 MUD/EVM 兼容堆栈上的智能合约。要将这些脚本添加到给定的世界,世界合约需要一个注册功能,允许玩家提交其部署的 NPC 智能合约的地址。可以根据游戏进度、资产所有权或简单的地址白名单选择性地限制此功能。

一旦注册了脚本,父世界就会直接调用它,或者作为玩家操作的间接结果。由于 MUD/EVM 底层缺乏 Tick 机制或其他自主激活脚本的方法,因此它本质上是被动的,NPC 所做的任何动作都以玩家发起的动作为前提。因此,脚本的父世界必须包含一个触发 NPC 脚本执行的函数调用。

一旦被触发,NPC 脚本就会使用世界状态,并根据其预定义的逻辑和编程评估行动方案。

应用

《Duck Duck Destruction》将 NPC 置于快节奏的战斗环境中,以最低限度地展示我们原始的底层机制。由于采用基于会话的模型,它目前的功能类似于 NPC 托儿所,缺乏更丰富的周边环境来直接进行交互。

然而,我们可以想象这种原始元素在更开放的沙盒世界中的使用,其中 NPC 的反应是通过玩家提示异步触发的。一个例子可能是具有可编程个性的伴侣宠物,它们会跟随玩家并对环境和其他角色做出独特的反应,从而导致其行为中出现复杂性。这种复杂性导致世界变得不可预测且充满惊喜。《矮人要塞》中就有这样的例子,玩家在自己建造的下水道中偶然发现了 NPC 河马,因为他们的逻辑决定有水的环境是合适的栖息地。

在一个允许部署分级 NPC 并允许其执行不同操作的世界中,玩家还可以以链式故事的方式协作指导分支任务线,其中玩家角色和 NPC 之间的互动推动了共同目标的决心和追求。

备择方案

从概念上讲,替代方案可以利用玩家编写的逻辑,超越 NPC 的表述,并将其应用扩展到世界景观或可装备物品的某些部分。这可能是一个前哨站,其旗帜和装饰在被游击队围攻时会从干净变为破旧,或者玩家编程的赛博朋克小工具,只要对手使用远程武器,就会从玩家的库存中触发烟雾弹。

尽管我们的作品试图明确地将透明性框定为一种生成性功能,但使用零知识证明构建的实现可以在更具竞争力的环境中得到利用。Topology 的 Shoshin 就是一个例子,它允许玩家编写脚本并提交具有私人决策树的战斗 NPC。诸如 EZKL 之类的零知识堆栈可以实现可验证的链下计算任务,还允许更复杂、更具表现力的 NPC 逻辑,包括 AI/ML 模型集成。

这两种替代方法都存在使连锁故事式互操作性变得不那么直观的缺点。尤其是 EZKL,由于依赖证明后端,严格意义上来说,它使世界机制的自主性降低。尽管如此,我们发现这些替代方法很有趣,因为它们使世界能够将探索融入游戏玩法,提供更好的贡献者体验,并可能增强机器人抵抗力。

扩展

目前,发起《Duck Duck Destruction》游戏比赛的玩家需要承担运行其下注册的所有 NPC 合约所产生的网络费用。这可以通过允许玩家汇集资源的专用基金合约或带有付款人扩展的 gas 补贴模型来改善。

致谢

合约设计和工程由Norswap完成。视觉资产包由Tea Strazicic制作,SFX 由Orion Ohana制作,根据CC BY 4.0发布。

最新 更多 >
  • 1 QCPCapital维持看涨态度,预计加密市场已触底

    QCP Capital在其最新报告中表示,由于宏观环境的改善,尽管加密市场面临巨大卖压,但市场已经触底并未进一步下跌。QCP维持其看涨态度,理由包括劳动力数据疲软、鲍威尔对市场条件的积极评价、德国警方出售比特币、Mt Gox事件的影响减弱以及即将公布的CPI数据可能支持美联储降息的预期。此外,QCP对ETH现货ETF的S-1修订频繁表示关注,预示交易可能即将开始。QCP偏好提供凸性收益的策略,尤其

  • 2 STEPN宣布与域名服务提供商Unstoppable合作

    STEPN宣布与域名服务提供商Unstoppable合作,目前已经支持申请并锁定“.stepn”域名,继而更便捷发生和接受包括GMT在内的加密货币。

  • 3 DWFLabs与歌手IggyAzalea达成战略合作伙伴关系

    DWF Labs 宣布与知名歌手 Iggy Azalea 达成战略合作伙伴关系,致力于支持 Web3 领域的创新项目。

  • 4 Worldcoin基金会延长WLD代币拨款预订期限至2025年

    Worldcoin 基金会宣布将 WLD 代币拨款预订期限从 2024 年 7 月延长至 2025 年 7 月。该预订计划最初于 2023 年 7 月推出,目的是允许未经验证的 World ID 的个人预订 WLD 代币,以便日后兑换。此举旨在确保更多人能够参与 Worldcoin 项目,无论他们是否有机会使用 Orb 设备。

  • 5 CFTC主席确认70%-80%的加密市场资产为非证券

    美国商品期货交易委员会(CFTC)主席Behnam在FOX Business的报道中表示,伊利诺伊州法院确认比特币(BTC)和以太坊(ETH)为《商品交易法》下的数字商品。他还指出,加密市场中70%至80%的资产是非证券性质的。

  • 6 Tezos将推出由JavaScript驱动的智能RollupJstz

    Tezos区块链的开发公司Trilitech宣布将推出由JavaScript驱动的智能rollup Jstz。该团队称,即将在Tezos上构建的Layer2 rollup将允许开发人员使用JavaScript及其大量资源。Jstz的与众不同之处在于它的设计符合标准的JavaScript API,使开发者能够使用JS工具和库组成的生态系统。

  • 7 德国政府比特币抛售行为与BTC价格下跌关联分析

    德国政府的比特币抛售行为被认为是导致BTC价格下跌的主要原因之一。从6月19日开始,德国政府钱包大量出售BTC,与BTC价格下跌的时间节点有强关联。分析显示,德国政府的抛售行为与市场上的FUD情绪有关,这种恐慌情绪可能加剧了BTC的下跌。此外,市场对德国政府的抛售反应已逐渐消化,FUD情绪有所退散。德国政府在今年1月获得了5万枚BTC,计划全部售罄,这一行为对市场造成了压力。

  • 8 加密投资公司CypherpunkHoldings任命Valkyrie联创LeadWeld担任新CEO

    据市场消息,加密投资公司 Cypherpunk Holdings 宣布任命 Valkyrie 联创 Lead Weld 担任新 CEO,以推动“突破”数字资产投资。

  • 9 晚报|7月9日晚间重要动态一览

    12:00-21:00关键词:Circle、澳大利亚、Invesco、欧洲央行 1.区块链初创公司 Rome 融资 900 万美元; 2.Circle宣布欧元稳定币EURC将引入Base; 3.“德国政府”钱包地址再次转出约3207枚BTC; 4.澳大利亚ASX已批准其第二个现货比特币ETF; 5.Invesco Galaxy披露其现货以太坊ETF费率为0.25%; 6.Cboe要求SEC列出Va

  • 10 前Polychain员工NirajPant加入Ritual成为联合创始人

    前 Polychain 员工 Niraj Pant 加入 Ritual 联创吴说获悉,公开信息显示,加密风险投资巨头 Polychain 的前违规员工 Niraj Pant 现已成为分布式 AI 计算平台 Ritual 的联合创始人。今年 4 月,Ritual 宣布获得了 Polychain Capital 数百万美元的投资。到了 2023 年 11 月,Ritual 进一步宣布完成了由 Arch