【NonceGeek Workshop 0x01总结】基于链上数据生成游戏地图

  • 李大狗
  • 更新于 2022-01-11 20:19
  • 阅读 3815

将区块链视为一个可验证的自生长的分布式数据源

本文作者: leeduckgo、msfew、ff

article in mirror: https://mirror.xyz/0x73c7448760517E3E6e416b2c130E3c6dB2026A1d/9cCjcmHL1S6JHBPg6Pl5PwnBsFCX2iwnA4rt69er4X4 项目地址: https://github.com/WeLightProject/tai-shang-world-generator

1 参与成员

  • 本期DM(地下城主)

    • 李大狗:面向炫酷编程.
  • 玩家(Offline)

    • 叶开 :一个有教师证的开发者,写了本Go语言和区块链的书
  • 小林小林能不能行:希望能按时毕业的博士生
  • Ray:一个打工者,区块链小白,正在努力学习中
  • Adastra:某高校区块链协会负责人之一,web2打工仔
  • Brian Seong:某大学区块链协会副会长,热衷于区块链技术教育的布道者
  • 饼:某大学区块链协会成员,热情的区块链布道者
  • 玩家(Online)

    • 追忆似水年华:只会写 JavaScript 的 Web 全干工程师
    • fengfeng:区块链小小小开发
    • Henry
    • Hqwangningbo:区块链开发大白
  • 玩家(Async)

    • Msfew:前端菜鸟, 无情的研报收集机器

2 活动简介

见:https://github.com/WeLightProject/Web3-dApp-Camp/discussions/26

主题: 基于区块链数据生成游戏地图!

以链上数据为数据源,生成 2D 游戏地图,愉快滴探索「区块链游戏」的可能性。

2.1 背景介绍

《可验证的自生长分布式数据源 : 一个看待区块链的全新角度》

区块链系统是多种复杂技术的综合产物。因此,可以从许多不同的有趣视角来看待这个系统:

  • 一个节点无限增加而性能不下降的分布式共识系统
  • 一种高斯计时器
  • 一种Web3系统
  • ……

然而,本项目试图从一个全新的角度出发,将区块链视为一个可验证的自生长的分布式数据源。

这种数据源具备如下特点:

  • 自生长

数据以固定的频率自生长,因此,在确定性的规则下,地区、宝物、怪物等等一系列来自于元数据的对象也在自生长!

  • 分布式

元数据来自于区块链,所以无需担心元数据的丢失问题与篡改问题。

  • 可验证

因为都是链上数据「元数据」和「转化规则」都是「可验证」的 。

  • 免费

区块链的数据读取是免费的,因此相当于我们拥有的是免费的数据源!

2.2 活动规划

0) Web3 dApp Dev Workshop@NonceGeek 介绍

基于炫酷编程。

1) IDEA 介绍

以链上数据为数据源,生成 2D 游戏地图,愉快滴探索「区块链游戏」的可能性。

2) 自由脑暴

思考点:

  • 源头 IDEA 的逻辑性——

链上数据源这个 IDEA 是否有意义?

  • 基于链上元数据生成的地图 ——
    • 通过链上数据源生成的地图有哪些 Amazing 的可能性?
    • 在已生成的地图的基础上,我们可能有什么样的 Amazing 的玩法(DAO/NFT/GAME/Others)?
  • 扩散——

在链上数据源的基础上,我们是否会有其他有意思的分支?

3)本次 WorkShop 要完成的一个小目标

给定后端接口:

https://github.com/WeLightProject/tai-shang-world-generator/wiki/API-Doc

进行一个前端实现,并部署到 Github-Pages 上!

4)总结 + 二次脑暴

在上述的基础上进行二次脑暴。

5)自由吹水

来聊聊区块链!

3 活动复盘

3.1 Web3 dApp Dev Camp & Workshop 介绍

Web3.0 dApp训练营即有基于 Github Discussion 的,以 Project 为导向的线上训练营,也有线下包括纽约/北京/杭州/南京在内的多个Workshop技术工作坊,旨在让「传统计算机从业者、在校学生、区块链技术从业人员」快速习得基于 Ethereum 等链的 Web3.0 dApp 开发。

Web3 dApp Dev Camp 与 Web3 dApp Dev Workshop 均由 NonceGeek 团队发起。

Web3 dApp Dev Camp 是线上版本,是基于 Github Discussion 的,以 Project 为导向的线上训练营,旨在让「传统计算机从业者、在校学生、区块链技术从业人员」快速习得兼容 Ethereum 框架的链(如Moonbeam、Polygon)的 Web3.0 dApp 开发。

Web3 Dev Camp 信息全集:

配套开源云端教学平台WeLightOS获中国区块链大赛二等奖:

Web3 dApp Dev Workshop 是线下版本,是基于「桌面游戏理念」的线下实践活动,目前规划是:

每半个月在多个据点召开线下 Workshop。Workshop 成员以 Nonce Geek Studio 成员为主,采用半开放形式,会邀请极少数外部成员来参加(定向邀请与开放付费名额)。

在未来规划中,Workshop 将逐步在纽约、杭州、深圳、上海、南京等多个城市开放据点。

3.2 Workshop项目方向探索

NonceGeek在2021年持续探索NFT领域,做了可组合的NFT项目,以及抽象NFT的渲染器等。

在2021年年底,WeLight开展了新的方向探索,例如在Arweave区块链网络上探索 Function-as-a-service 的可能性。

2022年,NonceGeek 会积极尝试元宇宙的项目,在元宇宙这样一个火热但模糊的概念中,做出差异化,找出正确的前进方向。

3.3 TaiShang World Generator头脑风暴

TaiShang World Generator简介

目前市面上的随机地图生成均是在线下进行地图的随机生成,然后上传地图内对象坐标到区块链上。由于没有可重复性,这样生成的世界是不那么 Web3 的。用户无法自行生成一个与 Sandbox 一样的世界,世界的所有权依然掌控在 Sandbox 手里。

因此,本项目决定从这一点出发,直接通过链上无法篡改的数据(如区块数据、哈希数据)作为种子,进行抽象地图的生成,抽象地图还可以 进一步 Mint 成 NFT,衍生出更多玩法。

项目地址:https://github.com/WeLightProject/tai-shang-world-generator

地图生成

目前TaiShang World Generator能从每个区块作为的数据源中,结合存储在 Arweave 上的可加载到程序的Runtime里的生成规则,最终生成包含不同元素的不同二维矩阵。

需要注意的是,链上(Polygon+Arweave)负责确定抽象的二维地图,抽象的二维地图渲染成最终的地图,则在链下由游戏运营方负责。

生成规则

从一串随机数据到地图,实际上传统的游戏中已有先例——

以 Minecraft 为例,地图的生成规则是在编译前就确定的,会在游戏的过程中按照规则生成地图并渲染。

如果在 Web3 中「复刻」地图生成,那么需要确保:「规则代码很小巧」与「编程语言支持动态加载代码」,这样,规则代码本身可以存放到 Arweave 等区块链上,并且允许用户在服务器上加载,就像 FaaS 服务一样。

对于游戏来说,哪些元素上链的问题

游戏中普遍的一个做法是将生成规则等配置存储在celeste的云函数容器中。

比较小型的游戏会把规则存储在链上,但是有难以修改的问题。

对于大游戏,生成规则或游戏素材等需要修改的数据才会上传到链上,大多重要数据是放在链下的。

地图的修改

实际的游戏地图,在玩家进行操作后实际上是被升级的,这个问题在这个项目里如何处理?

由于地图的源数据是存储在链上的,因此无法篡改,生成的是原始地图(创世地图)。

源地图无法修改,但后续用户可以像Minecraft一样破坏或建造地图。修改后的地图是一个全新的独特地图。用户可以通过铸造NFT的形式来保存对地图所做的一些交互和修改。这样的思路就类似比特币的UTXO或Arweave的SCP。

用户可以选择直接保存全新修改后的地图或者对地图的操作日志。

地图的扩张

由于区块链数据的自增长,生成的所有地图可以拼接到一起,形成一个巨大的地图。

但是这会形成一个问题就是游戏中的玩家增长速度如果小于地图的增长速度,那么就会形成大部分地图的闲置。

这个问题可以通过 Mint 了的地图才有意义,或者通过设计限制规则来解决。

地图的经济模型

  • 随机生成的地图中地形更加好或稀有度更高的地图会具有更高的价值。
  • 游戏玩家在地图上进行交互后,地图的所有人会获得收益。
  • 玩家所拥有的地图可以被玩家自行拼接,形成新的地形。
  • 地图的价值可以落在在地图上的玩家交互,这可以形成生态。

3.4 自由探讨

对NFT艺术的探讨

  • NFT艺术还是比较靠讲故事的,需要共识;
  • Crypto的原住民更加喜欢像素风等Geek型风格;
  • 这就是 Crypto 原住民对计算机的前置知识所带来的欣赏水平。

NFT跨链

FX Portal 可以实现去中心化地跨链,实现跨链合约之间的通信。在一个链上锁住NFT,就在另一个链上铸造NFT。

3.5 其它区块链相关内容

Polygon

过程中,大家聊到了Polygon。Polygon是一个以太坊的拓展解决方案。

以太坊的扩容不会局限于一种协议,而是会有各种不同的扩容,分片和Layer2方案。Polygon目前是一条PoS(权益证明)的以太坊侧链,在使用上和以太坊的网络基本没有任何区别。除此之外,Polygon还提供了SDK,可以让开发者自己搭建简单的区块链网络。目前Polygon正在研究zkEVM,预计会在23年年底推出zk等相关的功能。

Web3Games

成员分享了自己所在的Web3Games组织。Web3Games是一个区块链游戏开发服务公司。

Web3Games的生态包括了区块链游戏,NFT以及DeFi。Web3Games提供链游DID方案,API-as-a-service的服务协议,一站式的区块链门户,以及各种链游开发工作室的资源。

Web3Games提供了基于Substrate的游戏专用区块链网络,支持多环境多智能合约运行,支持WASM和EVM虚拟机。除此之外,这条区块链还支持多项目交流,可以在不同执行环境中进行双向交互。

Substrate

Substrate在3.0版本之前没有把宏转换成Rust的原生代码,封装很多了底层细节。目前在官方团队的维护下,越来越多非底层的宏都已经开放出来了。Substrate的更新速度比Polkadot快大约15天,更新比较快,具有很多实验性功能,适合开发者学习。

随机数问题

传统智能合约中无法拿到外部的随机数,只能者在合约中通过现在的或未来的链上信息进行生成。当合约源码公开后,容易被黑客攻击,或者被大矿池提前拿到用来生成随机数的区块信息,干扰随机性。

一个例子是,在 Solana 链上,作为一个时不时宕机的链,随机数功能很可能在被DDoS攻击后而被损害。

清华大学区块链协会

区块链协会的目前规划主要有两个:

一是布道,让更多人了解区块链;

二是多办活动,多接触更多已经了解区块链的成员。

WeLightBlockchainOS

在自我介绍环节中,有成员问到了Web3 dApp Dev Camp之前所做的WeLightBlockchainOS项目。WeLightBlockchainOS是一个云端的区块链开发工具箱,以类操作系统的界面,帮助开发者快速和容易地上手区块链开发。

在日常的教学过程中,常用的协同教学操作的解决方案是采用VNS技术,远程连接到实际主机中,但是无法解决学生数量庞大的情况。WeLightBlockchainOS通过前端的iframe实现了各个区块链开发工具的集成,实现了教学过程中的文档共享以及远程编写代码的功能。

点赞 2
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
李大狗
李大狗
0x73c7...6A1d
面向炫酷编程