Sui的动态可组合NFT为Cosmocadia增加游戏趣味性

news2024/12/29 9:03:06

的新游戏Cosmocadia展示了Sui NFT如何在游戏中四处走动,种植和收获蔬菜,并在工作台上制作工具和家具。未来将更新利用NFT,如私人土地,甚至让玩家将他们的SuiFrens NFT带入游戏中。

Lucky Kat Studios的产品经理Bente Bolland将Cosmocadia描述为“休闲农场游戏”,与任天堂的Animal Crossing有些相似。但作为一款基于Sui构建的游戏,任何一个拥有计算机的人都可以访问Cosmocadia,手机移动版也在未来计划中。

Cosmocadia的可玩角色是NFT,也可以在游戏之外进行交易

Cosmocadia首次推出时发行了5500个NFT角色,用于游戏中使用。NFT的可转移性意味着许多最初的接收者可以将他们的NFT角色提供在Clutchy NFT市场上交换$SUI。游戏设计者还引入了NFT角色的稀有性概念,更稀有的角色拥有特殊技能,例如更高效。

Lucky Kat Studios为那些想尝试的人提供了游戏的可玩演示,并计划在2024年推出完整游戏的免费试玩版本。

游戏玩法

Cosmocadia玩家可以在浏览器窗口中使用箭头或W(上)-A(左)-S(下)-D(右)键移动他们的角色,并使用鼠标按钮执行操作。游戏中的地形包括草地、泥土、犁过的土地以及矿石和树木等资源。玩家可以将工具、制作的物品、种子和其他资源存储在他们的库存中。商店允许玩家使用游戏内货币购买物品,而工作台则用作制作各类物品。

玩家使用斧头砍树、使用镐头打破矿石,使用锄头准备好地皮以进行种植。树木和矿石会给玩家提供资源和在工作台上制作物品的配方。赚取coins的典型方法包括种植种子,然后收获所得的作物并在商店出售。任务提供给玩家赚取更多游戏内coins的机会。

除了赚取coins,玩家的目标还包括学习在制作站上建造新物品,为他们的角色配饰,以及自定义他们的环境。

玩家可以为他们的角色装备多达10个配饰,赋予他们独特的外观

在发布时,Cosmocadia包括10个装备槽供玩家使用来自定义他们的角色。稀有的角色会获得特殊的福利,例如他们的作物生长速度更快。

NFT和智能合约

Lucky Kat Studios在Unity引擎上构建了这款游戏,这是一个使用C#和C++的跨平台游戏引擎。基于浏览器的版本使用HTML和JavaScript构建的WebGL前端。游戏的NFT功能,包括角色的可组合性,使用Sui Move编程的。在Sui上,NFT本质上是具有视觉外观的对象。Lucky Kat Studio的开发人员在使这些NFT富有表现力和功能性方面不断突破自我。

整个Cosmocadia世界,包括可利用的树木和矿石,本可以被编程为对象。然而,这样做会导致每次互动都被写入区块链作为一项交易,从而增加用户的成本,并使玩游戏变得非常昂贵。考虑到这一点,团队决定在可预见的未来将这些行为保留在链下。

在Cosmocadia中,玩家种植的种子会长成庄稼,尽管这些种子和庄稼并非NFT,但它们被保存为链下游戏数据,而不是保存在区块链上,以减少交易成本

Lucky Kat Studios团队在Sui上构建了智能合约,用于管理游戏中的一些互动,例如为角色配饰衬衫或背包。智能合约会更改NFT,将现有的装备数据添加到其中。考虑到开发人员是在一个非常新的语言和环境中进行编码,构建这些智能合约并不容易。

Bente表示:“作为Sui上的早期游戏项目之一,其中一个挑战是创建能够定义我们设想中的对象之间复杂关系的智能合约。”不过,她也指出,Sui是从头开始为游戏而设计的。“开发游戏的智能合约从未像使用Sui Move那样自然和直观。”

未来更新

目前,Cosmocadia的玩家将发现一个独特的环境,在这里他们可以完成任务、获取游戏内coins,并了解游戏机制。游戏未来的路线图包括许多令人兴奋的新功能,以及仅在Sui上才有的一些创新。

根据Bente的说法,下一个重大挑战将是让游戏变成一个多人世界。开发人员需要建立一个共享的游戏世界,并引入玩家与其他角色和土地互动的规则。多人游戏体验将包括一个市场,玩家可以在其中交易游戏内资源。

除了将Cosmocadia变成一个多人世界,下一个重大更新将涉及让玩家拥有自己的私人领地。这些私人土地将被建造和铸造为NFT,玩家可以自定义他们的私人土地,并邀请其他玩家加入这些地区。

最令人兴奋的更新之一将引入外部NFT到Cosmocadia世界中,展示了Sui的强大和独特功能之一。玩家将能够将他们的SuiFrens,由Mysten Labs创建的可收藏NFT,带入Cosmocadia。SuiFrens将不具备与Cosmocadia角色相同的功能,而是充当角色的伴侣。它们会跟随玩家的角色,并可以帮助完成任务。

Lucky Kat Studios在Cosmocadia中计划使用SuiFrens的方式将其扩展到未来的更新中,玩家可能会在SuiFrens的帮助下探索自己土地之外的新区域,尽管最终团队希望保留一个宁静的体验,让玩家可以建立并拥有自己的数字资产。

游戏革命

区块链起初是作为交易网络而产生的,但是这限制了它们的通用功能。通过Cosmocadia,Lucky Kat Studios展示了熟练的游戏开发者如何利用Sui的下一代区块链技术来提供以游戏为导向的体验。与此同时,Cosmocadia还受益于区块链的独特特性,如NFT的可组合性和资产所有权,从而超越了现有游戏平台上的其他项目。

许多行业都将受益于Sui的网络技术,但游戏似乎是早期的赢家。Sui允许像Lucky Kat Studios这样的先锋开发者与生态系统中的其他人合作,专注于以一种游戏化的方式将Web2玩家转化为Web3。建立在Sui上的游戏允许在游戏世界内外进行独特的互操作和交易网络。开发者只需要了解Sui的能力,就可以让他们的想象力自由发挥。


关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。获取更多信息:https://linktr.ee/sui_apac

官网|英文Twitter|中文Twitter|Discord|英文电报群|中文电报群

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神奇的代码恢复工具

文章目录 概述工具展示工具下载地址运行过程附件待恢复代码 概述 小C是一名程序猿,他有好多新奇的点子,也乐于把这些变成文字分享给大家。这些分享大部分都与代码相关,在文章里面把这些代码全部按本来的结构展示出来也不是一件容易的事&…

LMI FocalSpec 3D线共焦传感器 使用笔记1

一.硬件介绍 以上特别注意: 屏蔽线必须接地,因为在现场实际调试中,使用软件调试发现经常 弹窗 传感器丢失警告!! 以上 Position LED 的灯被钣金挡住,无法查看异常现象,能否将指示灯设置在软件界面上? 需要确认是软触发还是硬触发,理论上 硬触发比软触发速度要快.(我们目前使用…

Zilliz X Dify.AI ,快速打造知识库 AI 应用

Zilliz 大模型生态矩阵再迎新伙伴!近日,Zilliz 和 Dify.AI 达成合作,Zilliz 旗下的产品 Zilliz Cloud、Milvus 与开源 LLMOps 平台 Dify 社区版进行了深度集成。 01.Zilliz Cloud v.s. Dify Dify 作为开源的 LLMs App 技术栈,在此…

[GXYCTF2019]BabyUpload - 文件上传+绕过(后缀文件类型文件内容.htaccess)

[GXYCTF2019]BabyUpload 解题流程 解题流程 1、上传一句话,提示“后缀不允许ph” 2、修改后缀为jpg,提示“上传类型也太露骨了吧!” 3、修改类型为image/jpeg,提示“诶,别蒙我啊,这标志明显还是php啊” 4、…

【Axure教程】将figma导入Axure

Figma和Axure是两个不同的界面设计工具,Figma主要用于创建和协作设计图形界面(UI),允许多个设计师和利益相关者同时在云端协作设计项目;Axure是原型设计工具,专注于创建高保真、可交互的原型。大家可以根据…

Java学习笔记(一)——概述

目录 一、Java概述 (一)Java技术体系平台 (二)Java重要特点 (三)Java运行机制及运行过程 (四)JDK (五)JRE 二、Java的快速入门 (一&#…

掌握Python机器学习:空间模拟与时间预测的实战指南

了解全文点击:《掌握Python机器学习:空间模拟与时间预测的实战指南》 文章目录 一、机器学习原理与概述二、Python编译工具组合安装教程三、掌握Python语法及常见科学计算方法四、机器学习数据清洗五、机器学习与深度学习方法六、机器学习空间模拟实践操作七、机器…

6数据层相关框架-基本

MyBatis常见面试问题,以及和hibernate 的区别等_mybatis和hiberbate区别面试_my_styles的博客-CSDN博客*1、什么是MyBatis?*答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。*2、讲下MyBatis的缓存*答:MyBatis的…

实现即时沟通与协作的全功能IM即时通讯系统

在当今竞争激烈的商业环境中,高效的沟通和协作成为企业取得成功的关键。在过去,电子邮件和电话等传统工具是企业之间进行沟通和协作的重要手段,然而,随着科技的发展和社交化的趋势,IM即时通讯系统正逐渐成为企业协作的…

虹科方案 | 虹科ATTO 4K/8K以太网解决方案

一、方案背景 以太网为中小型媒体制作工作室提供经济高效的共享存储解决方案。尽管 10GbE 继续在 4K 工作流程中发挥重要作用,但 8K 等新格式需要额外的带宽。 为了使您的环境适应未来的新制作格式,需要一种更强大、低延迟的连接技术,一种足…

外卖点餐小程序源码 扫码点餐小程序源码

外卖点餐小程序源码 扫码点餐小程序源码 吃饭点外卖,坐车靠窗边,睡觉侧着身,洗澡要放歌,随时随地要自拍.......这些俨然早已成为我们当代新青年的真实生活写照。 近年来外卖行业蓬勃发展,外卖小哥走街串巷&#xff0…

FastAPI学习-26 并发 async / await

前言 有关路径操作函数的 async def 语法以及异步代码、并发和并行的一些背景知识 async 和 await 关键字 如果你正在使用第三方库,它们会告诉你使用 await 关键字来调用它们,就像这样: results await some_library()然后,通…

竞赛 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

JVM第三讲:JVM 基础-字节码的增强技术详解

JVM 基础-字节码的增强技术详解 本文是JVM第三讲,JVM 基础-字节码的增强技术。在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术…

CV计算机视觉每日开源代码Paper with code速览-2023.10.12

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【目标检测】A Novel Voronoi-based Convolutional Neura…

二叉树题目:二叉树寻路

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树寻路 出处:1104. 二叉树寻路 难度 5 级 题目描述 要求 在一个无限的二叉树上,每个结点都有两个子结点,结…

logicFlow 流程图编辑工具使用及开源地址

一、工具介绍 LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow 支持前端研发自定义开发各种逻辑编排场景,如流程图、ER 图、BPMN 流程等。在工作审批配置、机器人逻辑编排、无…

玩转Linux Shell Terminal Tmux

一、Shell编程☘️ 1. Shell指令快捷操作 1. echo # 系统指令 $ echo $(pwd) # 对于系统自带的pwd,此处不能写echo $pwd# 自定义变量 $ foo$(pwd) $ echo $foo # 不同于pwd,对于自定义的foo,不能用$(foo)2. !! # 假设你先执行了以下原本…

JOSEF约瑟 矿用一般型选择性漏电继电器 LXY2-660 Φ45 JKY1-660

系列型号: JY82A检漏继电器 JY82B检漏继电器 JY82-380/660检漏继电器 JY82-IV检漏继电器 JY82-2P检漏继电器 JY82-2/3检漏继电器 JJKY检漏继电器 JD型检漏继电器 JY82-IV;JY82J JY82-II;JY82-III JY82-1P;JY82-2PA;JY82-2PB JJB-380;JJB-380/660 JD-12…

Generics/泛型, ViewBuilder/视图构造器 的使用

1. Generics 泛型的定义及使用 1.1 创建使用泛型的实例 GenericsBootcamp.swift import SwiftUIstruct StringModel {let info: String?func removeInfo() -> StringModel{StringModel(info: nil)} }struct BoolModel {let info: Bool?func removeInfo() -> BoolModel…