用Unity做半个2D战棋小游戏
写在最前
这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利。
今天我们来实现一个入门级的数据配置工具。
使用excel配置数据
我们当前游戏中的配置:角色技能、道具等,都是通过手动创建ScriptableObject得到的,这在开发初期没什么问题;但是当游戏内容逐渐丰富后,这种添加方式便不再可取。因为不仅在新增数据时效率很低,做大批量的编辑和数据对比时也很麻烦。
因此,我们把这些配置都放到excel中编辑,然后通过python的xlrd库生成Json文件,最后在Unity的Editor模式下一键生成对应的ScriptableObject。
excel中编辑
在excel下编辑技能、道具数据表
编辑技能、道具数据表
通过脚本将xlsx转换为json并导入工程
在Editor模式下一键生成对应的ScriptableObject
由于目前的技能、道具系统很简单,因此表的设计也轻量化;以后当系统变得复杂时(如技能中增加了buff等),表的设计也会有所调整;比如在字段中放入Json串,或通过索引建立表和表之间的关系等。
好吧,这里不会出现代码;因为这部分内容很简单,而且所用的脚本和关键代码,都在工程里,如果有兴趣的话,自取即可。
| 写在最后
至此,《用Unity做半个2D战棋小游戏》就差不多完事了。
从渣画质到3A水准的演变过程
身边也有朋友问我,“你把时间花在这个事儿上,有意义么”。
确实,项目的整体难度很低。但是她给我提供了不少尝试想法的机会,所以对我个人而言,是有收获的。
至少在文章的排版上面,我自认为比刚开始写东西时成熟了一些。
而且,一直以来,我都想着能给自己圈出一个小花园来,如今算是把篱笆钉好了,所以对我个人而言,也是有意义的。
这并非是一个结束,而是一个开始。
最后
分享一个自己的掏心窝的小经验:
如果希望自己能够坚持做一件事情,最好的方法是发朋友圈。
用Unity做半个2D战棋小游戏相关推荐
- 从零点五开始用Unity做半个2D战棋小游戏(完)
好久不见. 这是第29篇与游戏开发有关的文章. | 写在最前 这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动 ...
- 从零点五开始用Unity做半个2D战棋小游戏(十一)
好久不见. 这是第28篇与游戏开发有关的文章. | 写在最前 这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动 ...
- 从零点五开始用Unity做半个2D战棋小游戏(十)
好久不见. 这是第27篇与游戏开发有关的文章. | 写在最前 这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动 ...
- 从零点五开始用Unity做半个2D战棋小游戏(九)
写在最前 这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利. 预计将分为 ...
- 从零点五开始用Unity做半个2D战棋小游戏(八)
写在最前 这次想要一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利. 预计将分为以 ...
- 从零点五开始用Unity做半个2D战棋小游戏(五)
写在最前 这次想要一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利. 预计将 ...
- 从零点五开始用Unity做半个2D战棋小游戏(四)
写在最前 这次想要一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利. 预计将 ...
- 从零点五开始用Unity做半个2D战棋小游戏(二)
好久不见. 这是第18篇与游戏开发有关的文章. | 写在最前 这次想要一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方 ...
- 从零点五开始用Unity做半个2D战棋小游戏(七)
这是第24篇与游戏开发有关的文章. | 写在最前 这次想要一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方依据体力在地图上轮流行动并向对方发动攻击,先 ...
最新文章
- 按需加载图片(图片懒加载)
- SQL语言之DQL语言学习(一) 基础查询
- docker安装nexus3命令
- 如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中
- 请领导批阅文件怎么说_领导说“谢谢”,该怎么回?低情商才说不客气,高情商的都这样说!...
- poj2635 同余定理 + 素数筛法
- 【转】如何在windows平台开发OpenGL程序使用OpenGL1.2或更高版本
- Windows批处理:命令echo 和 @
- SLA/LCD/DLP光固化3D打印原理分析!
- 联通一直显示无法连接服务器是怎么回事,联通宽带无法连接服务器1404
- 2015证监会——李彦宏演讲
- 用知识图谱解读抑郁症——树洞
- PAT 1124 Raffle for Weibo Followers
- 蒙特卡洛积分 matlab,菜鸟之路——数学建模之蒙特卡罗积分(投点法,平均值法)+牛顿法解方程组MATLAB实现...
- 第049篇:VBA之合并单元格、取消合并单元格并保留原来的数据
- IP-Guard桌面申请管理说明步骤
- kafka简介与集群搭建
- 那些花儿(夏洛特烦恼版)
- TYPE-C接口设备OTG线(手机接OTG线的同时进行充电)
- wifidog认证接口
热门文章
- 面试问到mysql数据库中要存数字,怎样选择int和varchar
- Android摄像头调用失败问题
- sqli-labs系列——第一关
- visio和preject冲突_Office 365 和 Visio Project Pro 2019 共存安装方法
- 这年头,能坐上火箭的东西不多啊 Java版本号算一个
- 美国一大学向勒索软件缴纳114万美元赎金,以防学术数据曝光
- 【译】MochiWeb(基于Erlang的高性能WEB服务器)实用入门教程
- pd快充线无法连接计算机,一种PD快充高清连接线的制作方法
- 常用対插式连接器02——jst摩托、叉车常用接头
- 立白洗衣粉之老子天下第一