看了就要关注我,喵呜~
上一篇文章说到,我们要开始做一个2D俯视视角的射击游戏。
那么这个射击游戏的玩法是什么样的呢?大伙可以玩玩《弓箭传说》这个游戏,大致的玩法跟这个游戏类似。这个游戏值得参考借鉴的地方很多,我们借此来熟悉开发一个小游戏的整个流程。
弓箭传说截图
来源于网络
游戏玩法
玩家控制自己的角色根据移动方向以一定的速度在一个固定大小的地图上移动,躲避怪物追逐、攻击的同时要击杀地图上所有的怪物才算胜利,进入下一关卡,直到达到胜利。
地图上存在不可通行的河流,高山低谷。
怪物会追逐玩家到一定距离之后发动攻击,攻击有发射技能(远程)、普通攻击、冲刺等
玩家击杀怪物之后会得到一些经验,经验达到一定值,玩家就能升级强化属性。
从上述大致玩法可以启发我们开发设计需要涉及到哪些点。来捋一捋这个玩意儿!
知识点
首先,角色会以一定的速度移动。我们可以得知这局部逻辑可以使用数学上的向量,因为向量指具有大小和方向的量。它可以形象化地表示为带箭头的线段。也就是说角色中的速度可以以一个向量来表示,向量的方向就是速度的方向,向量的大小就是速度的大小,很好理解。
然后实现玩家的角色移动即是简单的匀速运动的公式s=v*t,每次移动的距离就是速度的向量值*经过的时间值t。
再者玩家的角色有攻击怪物状态,移动躲避怪物的状态等。怪物也有各种状态,攻击、徘徊,巡逻,发飙等等。那么这些很显然会让我们联想到都是一些游戏AI的逻辑,这局部实现可以使用有限状态机或者行为树去处理。(后面的篇章会详细说)
对于某些状态行为,如怪物移动,它并不能像玩家自个操作一样可以找到一条路去靠近然后攻击,这个必需由游戏里预先规划一条最佳路线出来。这个就涉及到怪物寻路,这就让我们想到了著名的A星寻路算法,还有就是迪科斯彻的Dijkstra算法。(后面的篇章会详细说+1)
怪物攻击,角色攻击,如何判定是已经攻击成功了呢?涉及碰撞检测局部。
怪物攻击了,角色攻击了,那怎么告诉对方,我攻击了你哦,你得掉血了哦。涉及到一些消息通信管理。
以上等等都能从玩法上看出来我们这个游戏涉及的东西也挺多的(UI管理,代码结构等等都还没说到,后面的篇章真的会详细说)
不用慌,这些都会慢慢的迎刃而解,我们来一起研究研究。
下面是简单归纳之后的一个知识脑图,有不妥缺乏的后面补充哈。
知识点脑图
让项目跑起来
万事俱备,准备开搞。首先我们先建立一个Shooter项目。
为什么我要使用Cocos Creator来开发小游戏呢?
因为Cocos Creator是以内容创作为核心的游戏开发工具
实现了脚本化、组件化和数据驱动的游戏开发工具。具备了易于上手的内容生产工作流,以及功能强大的开发者工具套件,可用于实现游戏逻辑和高性能游戏效果。
更多的是,对于小游戏适配兼容得很好,主要自己还用的顺手。
CococCreator官方说明
首先我们先用Cocos Creator创建一个Shooter项目。
版本:Cocos Creator2.1.4
选择空白项目,然后点击新建项目
创建完成后,我们可以观察一下这个界面
主要编辑界面
(后面文章再仔细设计Shooter游戏,这里我们先在场景放一张图片作为测试)
点击编辑器菜单栏-文件-设置-原生开发环境中设置微信开发工具的路径(发布调试相关小游戏API必需的)
配置微信开发工具路径图
接下来我们可以直接打开构建面板开始构建项目,快捷键Ctrl+Shift+B打开构建面板,选择构建发布的平台为微信小游戏,输入自己的appid,点击构建,构建完成后点击运行即可在微信开发工具上看到我们生成的项目了
构建面板
微信开发工具预览
可以看到我们的项目已经算是运行正常了(虽然啥都还没做)
项目到了这部就可以正常跑起来了,接下来我们的重点就是着重于游戏的架构设计以及业务逻辑的处理了,重点分析我们下一章节再详细说。
往期精选
历程一:接触小游戏 分享入坑之路
来都来了,点个在看再走吧~~~