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

时间:2024-09-21 编辑: 浏览:(943)

翻译: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 draco币有什么用

    Draco币是一种基于以太坊区块链的加密货币。持有者可以使用Draco币进行数字支付、交易和投资。在加密货币市场中,Draco币也可以用来购买商品和服务,并且可能会在未来被更多的商家和平台接受。此外,持有Draco币的用户还可以通过参与网络的治理和投票活动来获得收益和权益。总的来说,Draco币的用途包括支付、投资、交易和治理。

  • 2 sol币发行价

    sol币的发行价是指该加密货币在首次发行时的价格。这个价格通常由项目方或团队设定,并在初始的代币发行阶段向公众出售。发行价的高低直接影响了投资者对该加密货币的投资决策,因为它能够反映出项目的实际价值和未来发展潜力。因此,sol币的发行价是一个重要的参考指标,在投资者选择是否购买或持有这种加密货币时需要考虑。

  • 3 ded币价值

    ded币是一个虚拟货币,主要用于在相关平台上进行交易和支付。其价值由市场供需关系决定,随着市场对ded币的需求增加,价格可能会上涨;反之则下跌。同时,ded币的价值也受到市场情绪和整体经济环境等因素的影响。总的来说,ded币的价值是波动的,投资者需谨慎评估风险。

  • 4 dc币有投资价值吗知乎

    DC币是一种数字货币,类似于比特币和以太坊。对于DC币是否具有投资价值,这是一个有争议的话题。一些人认为投资DC币可以获得高回报,因为它们的价格可能会上涨。然而,数字货币市场是非常波动的,投资者应该注意市场风险。一些专家建议只投资自己能承受损失的资金,并进行适当的研究和风险管理。总的来说,投资DC币存在一定的风险,但也可能带来回报。

  • 5 sss币发行价

    sss币发行价是指该数字货币在最初发行时的定价。它是根据市场需求、供应量、发行策略等因素来确定的。发行价直接影响了数字货币的市场表现和投资者的参与意愿。因此,在确定发行价时,发行方需要进行充分的市场调研和分析,以确保数字货币能够在市场中取得成功并得到投资者的认可。

  • 6 sol币介绍

    Sol币是由Solana区块链发行的数字货币,它是Solana生态系统中的原生代币,用于支付交易费用、参与投票治理和奖励网络节点等。Sol币在Solana区块链上有快速的交易确认速度和低廉的交易费用,使得它成为了DeFi和加密金融领域中备受关注的数字资产之一。Sol币的发行总量为10亿枚,通过PoH共识机制来确保网络的安全性和可靠性。Sol币的应用场景广泛,可以在Solana生态系统中的各种应用中

  • 7 super什么币

    Super什么币是一种虚拟货币,主要用于在线购物和数字交易。其特点包括快速、安全的交易,以及广泛的接受范围。Super什么币的发展离不开区块链技术的支持,通过去中心化的方式实现交易的透明性和安全性。在数字货币市场中,Super什么币也具有一定的影响力和市场地位。

  • 8 smc币官网

    SMC币官网是一家提供虚拟货币SMC币相关信息和服务的官方网站。用户可以在官网上了解SMC币的最新动态、价格走势,以及交易和存储方式等相关信息。官网致力于为用户提供全面的SMC币相关知识和便捷的服务,帮助用户更好地了解和使用SMC币。

  • 9 cryptozoon币

    Cryptozoon币是一种基于区块链技术发行的数字货币,旨在打造一个去中心化的生态系统,提供安全、私密和高效的支付以及智能合约服务。其基于加密技术,确保交易信息的安全性和透明度,并采用智能合约技术,实现自动化的交易执行。Cryptozoon币的价值不仅体现在其作为数字货币的支付功能,还包括对未来区块链生态系统的贡献以及在数字经济领域的创新应用。

  • 10 sdn 币

    SDN(Software Defined Networking)币是一种基于区块链技术的加密数字货币,旨在促进网络创新和改进。该货币的主要目标是通过更加灵活和可编程的网络架构来提高网络效率和安全性。通过SDN币,用户可以参与网络管理和资源分配,并获得相应的奖励。总的来说,SDN币的出现为网络领域带来了新的发展机遇,有助于推动网络技术的进步。