fengmian-llamanpc.png
2024-08-13

不到一天,打造自己的 Llama NPC

参与 Llama Land,打造自己的 Llama NPC,攫取平台的红利


作者: txohyeah

审阅:outprog

来源:内容公会 - 新闻


Llama NPC 的红利

放在开篇,先来讲下我们为什么要开发 Llama NPC!

Llama Land 的流量

这点其实是依托于 Llama Land 的平台获得的红利,为自己的项目导入 Llama Land 的流量。就好像自己发的朋友圈的视频,能看到的只有自己的几个朋友,但是当视频发抖音的时候就有可能被抖音的用户看到。就好像 Llama Lottery NPC 中接入的 Llama Lottery 项目。仅仅 3 天时间,就有近 100 人参与,而参与人次更是已经超过了 200。项目的作者仅仅就发了一个推特,没有做过其他任何推广。对了,题外话,该推特还有幸得到了 Sam 等大佬的转载。

高效的开发体验

在已有项目的基础上,仅仅接入一个 Llama NPC 所需要的开发时间不会超过半天。并且对于项目的验证阶段,甚至等于省去了前端开发、部署等工作,就可以完成自己项目的 MVP 验证。

官方 Quest 奖励

现在官方还对于 Llama Land 平台生态的开发者发布了包括开发 Llama World,Llama NPC,The Best use of Llama coin 在内的 3 个任务,一共提供了 1000 AR 的高额奖励。

接下来我们就来介绍下 Llama Land,这个基于 AO 和 AI 的平台。

什么是 Llama Land 游戏

Llama Land 是一款前沿的大型多人在线(MMO)游戏,它以 AI 技术为核心,构建于先进的 AO 平台之上。这是一款全链游戏,所有的游戏数据与代码都被永久地存储在 Arweave 区块链上。另外,游戏具有超强的可扩展性。基于 Reality Protocol,任何人都可以在 Llama Land 中创建自己的 NPC,甚至是子世界。因此,相较于称之为游戏,我更倾向于把它当作是元宇宙的一次实践。

Reality Protocol 是开发 Llama Land 的底层协议,现在已经完全开源。

Reality Protocal 文档与开源代码:https://github.com/elliotsayes/Reality/blob/main/docs/Reality.md

一些简单玩法介绍

截至本文撰写的时间。游戏已经允许了前一万名玩家进入游戏,并且开放了新的二万二千个排队的名额。每天可以通过登录来完成每日任务获取一个随机的 Llama coin 奖励。在排队的小伙伴也可以通过每12小时进行一次 Claim,获得 5 Llama coin 的奖励。最重磅的莫过于与 Llama King 进行对话来获取 Llama coin 的奖励,每次对话需要 0.025 个 wAR,每次奖励会按照你提供的 prompt 进行分级。最高有 100 Llama coin 的奖励。其中对 prompt 的分级就是依赖于运行在 AO 上的 AI 进程实现的。

另外,还有越来越多玩家自定义的 NPC,也可以与他们互动,相信玩法会越来越丰富。比如,Arweave 生态的老牌 swap 应用,已经提供了 Permaswap Llama,可以直接通过该 NPC 在上面换取 Llama coin。也有 Llama Lottery NPC,已经有超过 200 人次参与。

友情链接:

通过跨链桥获取 wAR:https://aox.arweave.dev/#/beta

Llama Land 强大的扩展性

简单介绍游戏之后,我们接下来进入今天的主题。首先,我们先来介绍下 Llama Land 强大的扩展性。

  1. Llama Land 强大扩展性的基础是 AO,Llama Land 游戏的设计逻辑也是遵循了 Actor Model。正是因为这个超并行计算机的支持,才让这种扩展性成为了可能。

  2. Llama Land 可以支持构建自己的世界。只需要通过画图软件 Tile,画出一个自己心仪的地图。然后再通过一个 AO 进程加载一个实现 Reality Protocal 的 lua 文件(也可以直接加载官方提供的模板 lua 文件),轻轻松松几分钟就可以构建一个自定义的地图。

  3. Llama Land 可以支持玩家自己添加自定义的 NPC。后面会更详细的介绍这块内容。

如何构建自己的 Llama NPC

准备工作

因为 Llama NPC 本质上就是一个 AO Process,因此创建一个 AO Process 是必须的。另外,由于需要移动 NPC,监听一些事件等需求,因此我们需要创建一个支持定时任务的 AO Process。另外,为了业务的方便,我们可以创建带有 sqlite 的 AO Process(这点可选)。

注册自己的 Llama NPC

Action = "Reality.EntityCreate" 这个 Action 就是注册自己 NPC 的句柄。如果自己创建了,那么在执行就会更新这个 NPC。

Data 里面存在很多的字段,具体含义如下,

  • Type 可以是 Avatar、Hidden、Unknow

  • Avatar 是一个 user 或者是一个 AO Process

  • Hidden 是一个不可见的实体,比如可以用作地图上的传送点

  • Unknow 则会忽略该实体

  • DisplayName 是显示在 Llama NPC 上的名字

  • SkinNumber 可选的皮肤。有 0~9 一共 10 个数字可选,分别对应 10 种不同的 Llama 皮肤。另外,目前已经支持通过 Arweave 上的 txId,以后 Llama Land 可以容纳下更多玩家的创意了。例如,PlayerSpriteTxId = '0WFjH89wzK8XAA1aLPzBBEUQ1uKpQe9Oz_pj8x1Wxpc' 是官方提供的一个新的皮肤。

  • Interaction 是交互方式,包含 4 种交互方式

  • Default(默认):当点击 Llama NPC 的时候会像点击它的玩家发送一条消息。

  • Warp:用作传送点,传送到其他地图

  • Schema:允许玩家基于表单的方式,向 Llama NPC 发送一条消息。

  • SchemaExternalForm:允许玩家基于表单的方式,向指定的一个进程发送一条消息。这个特性就非常有用了,可以把玩家自己开发的各种应用集成到 Llama Land 中。文中提到的 Permaswap NPC 以及 Llama Lottery NPC 均是基于这个特性完成的。

Llama NPC 的移动以及自定义交互

如果 Llama NPC 被注册到地图中以后,长时间没有交互信息,那么 Llama NPC 就会从地图中下线。如果你想要让自己的 Llama NPC 在地图上持续存在,一般有两种方式:

  1. 定时发送 Action 为 Reality.EntityFix 的消息,适用于 Llama NPC 需要固定某个位置的场景。

  1. 让 Llama NPC 不断的在一个小范围内移动。个人更推荐这个方法,因为当地图上玩家很多的时候,可能会把自己的 Llama NPC 挡住,不断的移动可以避免玩家无法点中自己的 Llama NPC。

SchemaExternalForm 交互模式

  1. 点击 Llama NPC 的时候会去匹配 Process 中加载的 Action 为 SchemaExternal 的 Handler

  2. 接下去需要向点击 Llama NPC 的玩家发送一条消息。Tags

  3. 发送消息的格式需要符合对应的格式,以下是这种交互下的参数解释与代码示例。(示例代码中 Lottery = {...} 的部分)

    • ActionName 是动作的唯一标识符。一个模式(Schema)中可以声明多个动作。

    • Title 和 Description 是按照上面 Permaswap NPC 的截图,那么 Title 就是 Swap for some $llama coins ? 剩下的那一大段就是Description ,这两个字段主要为了向玩家说明这个交互的作用。

    • Target这次交互是让玩家向这个 Target Process 发送一条消息。

    • Schema 字段是可选的。如果没有定义,该动作将被禁用。

    • Tags 是必需的,并定义了该动作接受的标签结构。

    • Data 定义了该动作接受的消息中的 JSON 数据结构,如果适用的话。

    • Result 定义了回复消息数据中 JSON 数据的预期格式。

我们看个例子,注意Tags 需要的是一个 JSON 对应的字符串。

注意:当整数字段具有 comment 属性时,该属性会被用来乘以值后再发送。用于将整数金额转换为基本单位的数量。

到这里已经介绍的差不多了,大家快来构建自己的 Llama NPC 吧!


🏆 “捉虫”有奖:在本文发现错字、病句、描述有误,点我报告,可得激励。

免责声明:本文不代表 PermaDAO 的观点或立场。PermaDAO 不提供投资建议,亦不为任何项目背书。请读者遵守所在国法律,合规进行 Web3 活动。

🔗 关于 PermaDAO:Website | Twitter | Telegram | Discord | MediumYoutube

Tagged with In Llama NPC

Sign up for newsletter

Sign up here to get the latest news and updates delivered directly to your inbox.