【UE4】划豆豆——手机小游戏
游戏截图
游戏介绍
帮助师哥师姐毕设制作的一款手机小游戏,应该算是我制作的第一款较为完整的游戏了。很大程度上加深了我对UE4和游戏制作流程的理解。
基本信息
平台:Android
类型:2D手机小游戏
玩法简介
- 玩法
画面上有若干个目标点(不超过3个),屏幕四周会生成若干个点向目标点爬去。到达目标点后点将在减少玩家血量。单指去划点时,点会向另一侧爆开,爆开的黑点会变成一滩纯色块。色块位于所有点的上层,为半透明状。
目标点的血量清零后,游戏结束。以划爆的点作为积分。
特殊加成
连划加成:一笔下去可以连续划破若干个点,每多划破一个,积分以1倍增加。每一笔上限5个点,到达上限后强制结算。当一笔划破的点都是同种类型的点时,得分加倍。
距离加成:当黑点进入红叉周围很近的范围之内(半径约15mm),划破时获得的分数加倍。
方向性加成:在某些点的身上会出现类似箭头的表识,遵循箭头的方向将其划破可获得额外分数(该点自身分数的1倍)。若不按照箭头方向划,则没有额外加成,也没有惩罚。箭头可以出现在除了红点之外的所有点身上。箭头占总体的30%。
豆豆种类
豆豆种类 是否可被划破 移速 说明 扣除的血量 分数 占比 黑豆豆 是 1 无特殊效果 2 3 60% 绿豆豆 是 1 连划中越靠后加分越多,每靠后一个位置,积分增加50% 1 6 10% 紫豆豆 是 0.7 需要被划破3次才能完全消失。初始体型较大,每被划破一次其体型就会缩小一些 1 6 10% 红豆豆 否 0 地雷,钻出后不移动,10s后自动消失。不可划破。若划破则扣血3点 / / 5% 蓝豆豆 是 1.2 划破后3s内所有点的移速下降至30% 1 0 5% 橙豆豆 是 1 划破后留下的色块区域会对之后经过的点加速60%。该点留下的色块大小是普通点的6倍。 2 6 5% 黄豆豆 是 1 划破后该点会分裂成两个大小与原来一样的点继续向叉走去,需要分别把分裂出的点划破才可以。 2 6 5% 难度曲线:
升级:限定各种特殊点出现的时间段。除了第一次升级,之后每次升级所需分数为上一次升级奖励时段结束时分数的1.5倍。(如第一次升级奖励时段过后为100分,下一次升级所需分数为150分)新加入的点在奖励时段过后出现。
- 开局:黑点,绿点,地雷。有连划加成和距离加成;
- 第一次升级:达到80分,出现方向性加成;
- 第二次升级:加入紫点;
- 第三次升级:加入黄点;
- 第四次升级:加入蓝点;
- 第五次升级:加入橙点;
升级奖励时段:玩家每升一级,5s内,所有点移速提升100%,到达目标点也不会消失而是直接穿过,目标点在该时间内完全无敌(包括对地雷)。该时间内连划的时间翻倍,获得的连击加成分数为平时的2倍(应有特效,数字变色,大一点)
分工
此游戏的美术、技术美术以及程序均为我一个人完成,策划以及测试由小武完成。
技术路线
点出现方式。从屏幕边缘不固定的某一点“钻出”,从出现到完全钻出有一个过程(约1s),若在其完全钻出之前将其划破将不获得积分。豆豆蜿蜒前行,玩家较难预测。
随机生成逻辑:用随机布尔值确定生成在上或右还是下或左,然后用随机浮点值确定位置
钻出逻辑:使用timer控制钻出以及移动
蜿蜒前行逻辑:用时间以及sin值改变豆豆的Z轴旋转角度,注意调整防止豆豆碰不到目标点。
目标点变换找目标逻辑:使用蓝图接口,在目标点改变时通知所有在场的豆豆。豆豆停止左右蠕动,慢慢转过去然后继续蜿蜒前行。
箭头加成:
在生成时,若有箭头则使用一个int类型的值储存箭头方向;
划破时比对划动方向以及箭头方向即可判断是否顺着箭头划;
积分结算可视化。每结束划下去的一笔,获得的积分在破掉的点旁边显示0.5s
创建Widget,用于显示分数,为其添加向上移动并且消失的动画,开放接口供外部修改分数数值以及颜色;
创建WidgetComponent,将创建的Widget加入其中,处理接口,并在0.5s后销毁自己;
在划破点时在其位置生成WidgetComponent即可;
排行榜
默认显示5个分数;
开始游戏时先看看有没有存储的数据。如果没有就生成一个全是0的大小为5的int数组,如果有就加载数组;
玩家游玩结束后,自动输入玩家新的分数进行计算。与数组中存的分数从大到小遍历,如果新分数大于当前分数,则根据当前数组索引将后面的数字往后平移,然后插入新分数,跳出;
储存当前数组,然后显示排行榜;
开发者选项
由于是疫情期间,策划无法接触到编辑器,所以我在游戏中暴露了一些数值供策划调整。这些变量存储在游戏实例中,每个实例在构造的时候都会获取这个变量值。
点击Option界面那个有眼睛的豆豆就可以打开开发者选项界面。
其他
此游戏所有程序以及美术均为我自制。
下面要秀一下我五颜六色的蓝图#捂脸:
不足
- 由于是制作的第一个较为完整的游戏,所以各种逻辑方面都比较绿皮,用了很复杂的逻辑,有很大优化空间;
- 其实这些痘痘的移动逻辑很像,但我却由于知识水平问题,不会使用类继承;
- 画线不太会制作,使用的是粒子制作;
- 游戏不够完善,音效音乐等都没有添加;