作者简介

大家好,我是IT侠来了,最开始接触Cocos Creator 是在16年中的样子,当时就觉得这个引擎对新手很有好,有中文文档,所以就一边看着官方文档和教程。很快就编写了一个打飞机的游戏,从此成为了Cocos Creator的死忠粉。

之后用Cocos Creator写过一些游戏:战棋类roguelike文字解谜类(上到了App Store)、联网的多人io游戏(前后端都是自己完成)

由于个人比较喜欢像素风的横版冒险游戏,所以打算做一款这样类型的独立游戏。从去年八月份开始利用空余时间开始做,直到今年的三月份我发布了v0.0.1版本到微信小游戏平台。目前版本内容还在不断的更新中。我很开心我坚持了下来。所以才有了现在的小小英雄攻坚队。

 

游戏设计架构

游戏使用 Cocos Creator 2.4.4 + Javascript 语言开发,游戏整体架构是基于ECS+MVVM来开发。

ECS 不仅完成了游戏战斗内所有逻辑,同时解耦业务逻辑。

同时也应用到UI交互上配合 MVVM 一起使用,将节点树和对象单向或双向绑定,绑定完成后只需操作对象上的数据即可改变UI。如果是双向绑定 UI 的状态改变也会体现在对象属性上。

游戏介绍

小小英雄攻坚队 是一款横版冒险游戏。游戏故事是发生在25世纪,地球上的某一座森林中。这里的动物们过着幸福的生活。但是某一天来自M星的入侵者来到了这里,各个族群很快就占领这座森林。逃出来的动物们为了夺回森林组建了一支攻坚队,你将带领这支队伍攻破一关又一关由不同族群的小怪和领主把守的关卡。最后帮助动物们夺回森林。

游戏玩法

选择关卡:

进入指定的关卡,过关的时候有星级评定,最高3星。后面的关卡需要指定的星星数才能解锁。

 

实战ECS横版像素动作游戏,开坑了!_状态机

游戏操作:

  • 移动: 玩家可以控制角色左右移动
  • 道具栏: 分别放着加血和加蓝的药水,药水可以在关卡内收集金币在主界面的商城购买
  • 技能栏: 玩家可以捡取关卡内的钥匙开宝箱或者收集积分和金币在主界面的商场购买技能
  • 普通攻击: 向移动方向丢出子弹,每一个角色有属于自己的子弹(暂时只有一个角色)
  • 跳跃: 玩家可以使用跳跃来跨过平台和陷阱
  • 爬楼梯: 玩家控制角色经过楼梯的时候就会出现爬楼梯的方向按键
  • 过关结算: 玩家控制角色碰到终点旗帜就算过关了。Boss需要打败Boss才会出现过关旗帜

实战ECS横版像素动作游戏,开坑了!_对象池_02

爬楼梯

实战ECS横版像素动作游戏,开坑了!_对象池_03

普通攻击

实战ECS横版像素动作游戏,开坑了!_对象池_04

结算界面

商店:

玩家在关卡里收集的金币和积分可以在商城购买道具和技能

实战ECS横版像素动作游戏,开坑了!_对象池_05

商店界面

背包:

玩家在商店里面购买的道具都会在背包中存放

实战ECS横版像素动作游戏,开坑了!_双向绑定_06

背包界面

图鉴:

在关卡里打败的怪物,头领都会记录在图鉴中
实战ECS横版像素动作游戏,开坑了!_双向绑定_07图鉴界面

技能选择

多个技能可以在主界面切换,关卡内只允许带一个技能

实战ECS横版像素动作游戏,开坑了!_对象池_08

技能选择界面

设置

控制音乐和音效的开启和关闭

实战ECS横版像素动作游戏,开坑了!_双向绑定_09

设置界面

项目结构

 

实战ECS横版像素动作游戏,开坑了!_独立游戏_10                                                
    • game:

主要存放的是战斗场景相关的预制体和场景文件。比如地图、怪物、角色、子弹、技能等;

    • mainbd:

主要存放主界面使用的预制体和场景文件;

    • res:

主要存放游戏所有用到的素材,声音文件等;

    • resources:

存放公共使用的预制体。比如系统通知弹窗等;

    • sounds:

存放声音文件

  • scripts:

    • component:存放自定义脚本组建;
    • config:游戏中的道具配置等;
    • lib:第三方库文件。比如:ECS 、MVVM、undersocre、状态机等;
    • misc:存放封装好的游戏内的功能模块和系统。比如:对象池、动画系统、AI系统、Node管理系统等;
    • system:存放所有游戏内使用的ECS系统文件

 

小结

有不少伙伴都购买作者的ECS框架,下一篇文章作者会拿游戏里的『system』来讲讲是怎么使用 ECS 框架来设计系统的。已经上架到COCOS官方旗舰店
正在限时优惠中!

 

 

实战ECS横版像素动作游戏,开坑了!_公众号_11

扫码关注作者