游戏简谈
塔防游戏
塔防核心
塔防游戏中。一些功能核心无非是以下几点:
- 怪物如何按照一定的轨迹进行移动。
- 防御塔的实现。
怪物的属性:
- 移动速度
- 血量
- 移动方向
怪物的状态:
- 行走状态:移动
- 死亡状态:销毁自己
- 其他buff/debuff状态:执行对应的方法
怪物的行为:
- 四个方向移动(按照一种速度)。
- 销毁自己。
- buff/debuff方法
游戏场景中会提供一些点。来告知怪物当前需要行走的方向。
怪物会根据场景告知的信息去切换自身的移动方向。
防御塔的一些相关代码:
防御塔的属性:
- 攻击力
- 攻击速度
- 攻击范围
- 瞄准对象
- 一个数组用于记录进入攻击范围的敌人 防御塔的状态/方法 略。。。
防御塔的行为就是攻击进入自己攻击范围的最近的一个单位。
实例介绍:
eg1:防御塔如何检测周围的敌人?
这里介绍一个最简单的方法
- 假设A防御塔位于地图的正中心(10,10)位置。
- 假设它的攻击距离是3个单位,那么他的攻击范围就是以(10,10)坐标为中心,以3为半径的一个圆形范围。
- 如果有敌人单位和这个圆产生了碰撞,那么就认为怪物进入到了攻击范围内。并把它们依次push到一个数组中。
- 如果敌人不产生碰撞以后就把对应的对象从数组中拿出去。
- 默认防御塔瞄准数组的第一个对象。
eg2:防御塔攻击敌人的行为背后发生了哪些事情?
- 被攻击敌人会直接扣掉等同于防御塔攻击力的血量。
- 场景中会创建一个子弹/其他什么贴图,从防御塔位置移动到被攻击敌人的位置。
跑酷游戏
跑酷游戏的地图
- 无论是障碍物也好,金币也好,其实都是按照一定的算法随机生成的。
实际对于代码来说。只需要先写好几种对象,比如上图中的香蕉和汽车。
- (good对象)对于香蕉对象,只要被玩家碰到了。首先自毁。然后告知计分器增加固定分值。
- (bad对象)对于汽车对象,只要被玩家碰到,就结束游戏。
对象生成以后在屏幕最上面,然后向下移动,移出屏幕。 玩家会按照一定的速度向上移动。
游戏速度随着游戏时长的增加而按照一定的曲线增加。就这样无尽的进行下去,直到游戏结束,收获一个得分。
这就是跑酷游戏的基本设计思路。
然后基于这个模型,添加其他的可变因素。就形成了各种各具特色的跑酷。 比如:
- 主角变成小黄人,good对象变成香蕉,bad对象变成坏蛋,就可以拉一波小黄人的粉丝来玩。
- 主角变成吴邪,good对象换成文物的贴图,bad对象换成粽子(僵尸),就可以拉一波盗墓笔记的粉丝来玩。
ps.以上这种叫做典型的炒冷饭游戏,利用IP进行吸金的行为。
- 增加一些其他的道具或者装备,来提高主角的属性。比如天天酷跑中,玩家装备不同的坐骑会使得到金币的数量翻倍。或者增加一个神马防护罩。或者暂时增速或者减速。其实无非就是变着花样的控制主角的一个或者多个属性而已。从而实现一个具有固定特点的一款跑酷游戏。
ps.这种是市面上比较常见的跑酷游戏。