Sui环形掌上战争 0基础开发入门到精通(1)
引言
各位读者,欢迎来到Sui环形掌上战争系列教程。 Sui环形掌上战争1.0 名字听起来高大上,其实就是一个简单的环形猜拳游戏,玩法石头剪刀布规则。 本系列教程将带领读者一步一步搭建Sui环形掌上战争的开发环境,并完成一个简单的游戏。
游戏玩法简介
有句话说得好,Sui环形掌上战争游戏是世界上最公平的游戏(作者胡扯的。。。)
首先,简单介绍一下这个游戏的特色玩法。
Sui环形掌上战争(简称环掌战)是具有全链游戏特色的链上游戏。
全链游戏这个概念太广,这里不做过多展开。 测试版链接 handbattle.etboodonline.com/
环掌战主要特点如下:
游戏数据结构(玩家积分,排行榜等数据)全存于SUI公链上。 游戏通过SUI公链上的智能合约进行游戏逻辑控制。 游戏主体部分是网页形式,但本地不存储任何用户数据。
这样做的好处是,游戏数据全部存于SUI公链上,节省了游戏服务器资源,同时游戏数据也完全公开。 真正做到了 公平、公正、公开。
既然游戏数据是公开的,那玩家出拳的策略不就公开了吗?那还怎么对战?只能和电脑对打吗?
这个游戏玩法一直困扰着我,如何做到玩家对战呢? 直到我想到了一个解决思路。就是玩家出拳的策略,可以公开,但对战的对手是随机的。 就是说,你面对的是随机出的对手,但你的出拳的策略是公开的。玩家要想一下,未来可能遇到的对手出拳的策略是什么。这一组房间里的玩家他们的出拳规律是什么。
为了不至于太过于复杂,我用算法把一个房间的人组成了一个环形对,一圈比赛下来,每个人都能进攻一次,和防御一次。
目前1.0版本只支持10人房间,人数到达10人后,游戏会自动战斗和结算。 排行榜目前是按玩家积分排序,但这个排序算法还在完善中。
如果大家喜欢本系列,请多多支持,环掌战的功能和教程我会持续不断的迭代中。
起航
本系列文开篇作为一个大纲,先讲一下大致轮廓,后面篇幅会逐步展开。
循序渐进的中心思路
- 目标 -> 计划 -> 实现 -> 测试 -> 发布
先讲0基础
没有基础我们积累基础 ! 想要编程开发游戏,必须掌握的基本知识有:
- 编程语言基础(C/C++/Java/Python/Rust等)至少掌握一门编程语言,哪怕学的BASIC很好也行。
- 编程工具的熟练度(VS/IDEA/CLion等)至少掌握一门编程工具。
- 区块链基础(区块链原理,智能合约,SUI公链等)至少掌握一门区块链技术。
- 游戏开发基础(游戏引擎,游戏开发框架等)至少掌握一门游戏开发技术。
- 学以致用的精神。一步一步的做,不要怕难。
- 社区支持。
开发环境搭建
从hello world开始,搭建Sui环形掌上战争的开发环境。 主要参考官方教程,后续章节会逐步展开。
合约端
- 做好目标的制定并安排计划实施
- 掌握MOVE语言基础概念
- 运行一个HelloWorld合约 官方示例 docs.sui.io/guides/deve...
前端
- 掌握HTML/CSS/JS基础
- 官方的dapp例子着手熟悉 官方 sdk.mystenlabs.com/dapp-kit/cr...
(未完待续)
telegram: t.me/move_cn X(twitter): twitter.com/move_cn QQ群: 79489587 Sui中文开发群: t.me/sui_dev_cn