。昨天《我真有绝招》上架Cocos微店,特价 ¥2288 预售10件,中午 12:30 前售馨,创下 Cocos Store 单品最强纪录!
当时只部署了10件库存,导致有用户无法购买,随后与开发者商议,再放出预售10件预售,特价¥2388,目前还剩8件。
4月13日 10:00 (明天)将正式上架 Cocos Store,限时优惠¥2888,并赠送官方Demo优惠码1份!
4月19日(下周二)续恢复价¥3999,将不再赠送官方Demo优惠码!
如果你正好也是 Cocos Store 卖家用户,相信能从这次的运营推广活动中获得 Store 作品,从游戏体验、描述包装、宣传推广、运营销售各环节。
如果大家有兴趣,有机会晓衡可以Store卖家开发者分享关于互联网运营『流量』、『转化』、『变现』相关经验,助力大家副业增收!
回到今天的主题,下面是「柳一刀」为我们提供的《我真有绝招》项目要点,绝对能帮助购买的用户进行二次创作。
就算不打算入手的伙伴,也能从下文中学习到游戏设计相关干货,获得经验!
《我真有绝招》技术文档
一、资源结构
audio
项目中的音乐音效,全部为mp3格式,命名规范有两种格式:
- 关键字_编号1_编号2,例如:skill_1_1.mp3
- 关键字1_关键字2,例如:open_box.mp3
components
一些可复用的组件脚本,滚动视图、状态机、UI帧动画
font
FNT字体文件,主要是一些艺术数字
Game
游戏中的核心资源都在这里,包含:特效、图集、动画、音效、预制模块等。
loading
loading只负责开场动画,所涉及的图片、脚本、预制体。
Lobby
游戏主界面的所包含的美术图片、预制体,同时将目录设置为Assets Bundle
Map
游戏中的关卡场景直接用 Cocos Creator 编辑的 Prefab,Map 目录存放的是所有关卡所涉及的美术图片、和预制体。
关卡预制体按章节
、关卡
、场景ID
命名,见下图:
Map1-0
是我们的新手引导关卡,在新手引导关卡中,有两个街道场景,分别是Map1-0-0
、Map1-0-1
这两个预制体构成。
“注意:游戏中的敌人、怪物、产出的道具,这类动态内容,不在预制体中编辑,是通过配置文件来驱动,第三部分我会介绍。 ”
module
module目录是一些UI相关的血条、伤害数字、进度条、对话文本、弹窗等组件脚本。
Props
装备、技能图标、掉落类预制体,我考虑过,后续内容扩充,尽可能让每个模块的图片资源、预制体能独立,可以被替换。
resouces
游戏中的配置文件都放在resouces目录,还有少量的动态加载图片、预制体、shader&材质。
Scripts
项目脚本基本都在Scripts目录,超过100 的TS文件和少量框架配置类JS脚本。
spine
包含23个 spine 动画的JSON、PNG图集资源。
二、游戏配置
项目配置使用Excel管理,并提供了专用的 Excel 转 JSON 脚本。
Excel配置文件
我真有绝招.xlsx
是项目中的核心配置文件,理解配置表内容和数据结构,是对项目进行维护
、内容扩展
、二次开发
的关键,相信也能帮助你学习游戏策划配置的设计。
- 首行为中文字段说明,方便策划人员维护管理
- 第2行是JSON属性名,用于程序在代码读取
- 从第3行到结尾为具体数值内容
整个工程共19张表格,这里篇幅有限,主要介绍物品
、装备
、主角技能
、关卡配置
四张表的内容。
- 物品:表格字段有ID、名字、介绍、是否在背包中显、数值、用途、来源(会在游戏那个模块中产出)
- 装备:表格字段有ID、部位、部位名称、名字、穿戴等级、买入价格、卖出价格、介绍、物攻、防御、血量、暴击、布、铁、印、金币
- 主角技能:字段有ID、名字、介绍、学习等级、能量消耗 、吟唱时间、移动速度、自带buff、释放后僵直、攻击属性、攻击升级属性、特殊数值、特殊数值升级、展示配置、释放时获得技能点、攻击数量类型、增加能量值
- 关卡配置:章节、小关、金币掉落、进入等级、布匹、铁片、恶魔之印、能量点、装备掉落、通关奖励、关卡名、时间评星、连击数评星、被击数评星
表格格式统一,更多详细内容,请参看Excel文件。
配置文件生成
使用parse.js可将Excel文件生成data.json在项目中使用,下面介绍脚本的运行环境和使用:
1. 下载安装NodeJS 下载链接:http://nodejs.cn/download
2. 建议安装npm国内镜像 执行命令:
代码语言:javascript复制npm install -g cnpm --registry=https://registry.npmmirror.com
3. 安装npm依赖模块 目录中已经有package.json,记录有脚本依赖的npm模块,执行命令:
代码语言:javascript复制npm install
4. 生成JSON配置 执行命令:
代码语言:javascript复制node parse.js
显示如下
当Excel文件发生改变时,会自动重新生成data.json文件。
脚本还提供了一个简单的 Http 服务,使用浏览器访问主机IP:8000
可打开生成的json数据。
三、框架流程
框架模块
我整理出项目的七大系统,可以帮助你理解游戏代码的设计思路,分别是:
- 技能系统:主动技能、被动技能,技能可以升级,设置有技能点消耗;
- 能量系统:游戏中技能的能量控制,攻击怪物时会自动恢复;
- 道具系统:分为收集类、材料类、BUFF类;
- 装备系统:六件套(武器、头盔、护手、衣服、护腿、鞋子);
- 玩法模式:通关普通章节关卡,可开启恶魔之印挑战,主要用来打装备;
- 天天挑战:一张地图,无限刷怪,按波次排名,每天限定进入次数(仅支持微信小游戏)
- 抽奖系统:消耗怪物击杀点数兑换奖励,或直接看视频获得抽奖机会(需要接入小游戏视频广告)
UI流程
一切罪恶的起源Main.ts开始,先看一个简单的流程图:
在这里我只能介绍一些关键技术点,后面我再想想怎么能把项目讲好,还请多多包涵!
Data.ts
:主要的数据类,读取方式:Global.Data
;Game.ts
:游戏主类,是为了接收一些重要消息死亡
、震屏
、创建道具
和做一些流程控制gameover
;MonsterMgr
:重点!重点!再重点!所有怪物控制类,里面包括了如何读配置、产生怪物、和怪物逻辑交互,是游戏最重要的一个类;Role.ts
:所有我方和敌方的基类,里面包括了有限状态机,简单AI操作;Bullet.ts
:伤害类,本游戏所有技能或道具伤害,只要带伤害的都记为一个Bullet,碰撞后,为对方添加伤害;Attribute.ts
:统一的属性计算类,本游戏所有属性和计算法则:攻
、防
、血
、BUFF
、幸运
、伤害加深
等等;Scripts/Game/Behavior
:怪物行为类的目录,所有文件,多看一下基本就会懂啦;
四、更多分享
《我真有绝招》这个游戏能得到你的认可与喜爱,我非常的激动,后继我还会有更多关于技术、策划方面的分享,比如:
- 游戏的打击感还是不错的,连招浮空的一些小心得
- 性能优化,小游戏的资源加载
- 还有敌人AI状态机的应用
欢迎大家反馈问题,提出建议!
熬了好多年,这次终于鼓足勇气,在Cocos社区露脸了!!!
嘻嘻~~,这两天我一直在医院,老婆马上要生宝宝了!在此特别感谢 Cocos、晓衡哥,还有社群里的大佬们的鼎力相助,等我忙过这两天,江湖再会~~
H5体验链接: https://cdn.changyouhuyu.com/preview/wzyjz/index.html
Android包体验下载: https://cdn.changyouhuyu.com/dnf/DungeonFight-release.apk
我在Cocos Store 等着你