Sui开发教学:如何在SUI上为角色扮演游戏创建角色和道具?

현재 언어 번역이 없어 원문을 표시합니다.
本教程将给我们展示如何为角色扮演游戏 (RPG) 创建角色和道具,以及如何让它们互动。

原文:《RPG Building Basics - Encode Club Sui Series #5》by SUI Foundation

编译:SUI World

Sui Foundation 与 Encode Club 合作提供了系列以开发者为中心的教育视频,本系列视频共计六则,范围从 Sui 的基础知识到构建智能合约和使用 Sui Move 中的对象的教程。往期视频参照SUI World 推文。

本教程将给我们展示如何为角色扮演游戏 (RPG) 创建角色和道具,以及如何让它们互动,千万不要错过!详情点击「阅读原文」查看视频。

学习亮点

由于 Sui Move 的以对象为中心的编程模型及其可扩展性,Sui 有望成为第一个真正将 web2 体验交付到 web3 的区块链,这种体验包括游戏,游戏的编程本质上都很复杂,并且需要强大的基础设施来确保玩家的无缝体验。得益于Sui Move 的以对象为中心的编程模型及其可扩展性,Sui 能够应对挑战。

让我们看一下 Sui Move 中链上 RPG 的编码示例。以下示例改编自 Sam Blackshear 的 hero.move 代码。

https://github.com/MystenLabs/sui/blob/main/sui_programmability/examples/games/sources/hero.move?ref=blog.suifoundation.org

Sui开发教学:如何在SUI上为角色扮演游戏创建角色和道具?

上面的代码定义了我们的可玩角色。从它的领域可以看出,这个英雄可以与角色扮演游戏中的其他角色相媲美,它具有生命值 (HP)、经验和库存。

Sui开发教学:如何在SUI上为角色扮演游戏创建角色和道具?

上面的代码展示了我们英雄的剑,请注意,这把剑具有钥匙和存储能力。回顾一下本系列之前的课程,key 意味着它是一种可拥有的资产,可以存在于顶级存储中。此类别中的 Move 对象也可以从外部 API 访问,从而创造了 Sui 在多个游戏中使用项目的独特可能性。而存储意味着这个对象是可以自由包装和转移的。

Sui开发教学:如何在SUI上为角色扮演游戏创建角色和道具?

上面,我们在游戏中定义了野猪、不可玩角色 (NPC) 或敌人,与该类型的其他游戏类似,我们可以为我们的英雄创建 NPC 来战斗和获得经验,或者购买物品和接受任务。

The Action

Sui开发教学:如何在SUI上为角色扮演游戏创建角色和道具?

上面代码中显示的动作描述了slay函数。在高层次上,这个函数首先检查以确保Hero和Boar都属于同一个游戏实例。然后英雄和野猪之间的决斗发生,检查以确保英雄的HP不能达到零。决斗结束后,英雄获得与野猪成比例的经验值,英雄的剑的力量增加1(如果英雄使用剑)。最后,该函数发出一个事件BoarSlayEvent。Sui Move中的事件让索引器跟踪链上的动作,这是实现普遍认可的对象状态的重要手段。

上面的代码示例简要摘录了 Sam 的 hero.move 代码。此代码为 Sui 上的游戏开发者提供了宝贵的示例,并且由于它是开源的,请随时 Fork 并构建您自己的游戏!

공유하기:

작성자: Sui World

이 글은 PANews 입주 칼럼니스트의 관점으로, PANews의 입장을 대표하지 않으며 법적 책임을 지지 않습니다.

글 및 관점은 투자 조언을 구성하지 않습니다

이미지 출처: Sui World. 권리 침해가 있을 경우 저자에게 삭제를 요청해 주세요.

PANews 공식 계정을 팔로우하고 함께 상승장과 하락장을 헤쳐나가세요
PANews APP
미국의 3대 주요 주식 지수는 모두 하락 마감했으며, COIN 지수는 7.59% 이상 떨어졌습니다.
PANews 속보