找回密码
 立即注册
查看: 187|回复: 0

[简易教程] 用Unity做半个2D战棋小游戏

[复制链接]
发表于 2022-5-5 13:02 | 显示全部楼层 |阅读模式
写在最前

这次想要做一个简单且传统的战棋小游戏,大概的玩法是:在2D世界里创建一张由六边形地块组成的战斗地图,敌我双方在地图上轮流行动,并向对方发动攻击,先消灭掉所有敌人的一方将获得胜利。
今天我们来实现一个入门级的数据配置工具。
使用excel配置数据

我们当前游戏中的配置:角色技能、道具等,都是通过手动创建ScriptableObject得到的,这在开发初期没什么问题;但是当游戏内容逐渐丰富后,这种添加方式便不再可取。因为不仅在新增数据时效率很低,做大批量的编辑和数据对比时也很麻烦。
因此,我们把这些配置都放到excel中编辑,然后通过python的xlrd库生成Json文件,最后在Unity的Editor模式下一键生成对应的ScriptableObject。




excel中编辑

在excel下编辑技能、道具数据表



编辑技能、道具数据表

通过脚本将xlsx转换为json并导入工程


在Editor模式下一键生成对应的ScriptableObject

由于目前的技能、道具系统很简单,因此表的设计也轻量化;以后当系统变得复杂时(如技能中增加了buff等),表的设计也会有所调整;比如在字段中放入Json串,或通过索引建立表和表之间的关系等。
好吧,这里不会出现代码;因为这部分内容很简单,而且所用的脚本和关键代码,都在工程里,如果有兴趣的话,自取即可。
| 写在最后

至此,《用Unity做半个2D战棋小游戏》就差不多完事了。


从渣画质到3A水准的演变过程
身边也有朋友问我,“你把时间花在这个事儿上,有意义么”。
确实,项目的整体难度很低。但是她给我提供了不少尝试想法的机会,所以对我个人而言,是有收获的。
至少在文章的排版上面,我自认为比刚开始写东西时成熟了一些。
而且,一直以来,我都想着能给自己圈出一个小花园来,如今算是把篱笆钉好了,所以对我个人而言,也是有意义的。
这并非是一个结束,而是一个开始。
最后

分享一个自己的掏心窝的小经验:
如果希望自己能够坚持做一件事情,最好的方法是发朋友圈。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-9 13:07 , Processed in 0.109075 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表