一个人做游戏(三)——失败功能&聊聊一种手游的设计构思
上次留了2个坑:
1. 失败的功能怎么实现(其实都是用之前教的办法复制粘贴就可以实现哦)
2. 【策划篇】如何让游戏变得更有趣
所以今天我们会写写程序聊聊策划。

首先我们修改了一下UI,因为之前疏忽了一个问题,右边的Z我们暂定为暂停按钮,之后我会换图。

那么接下来UP要来写死掉的过程了,我们修改ballFly文件,就是曾经我们写来让气球上升的那个文件。
我们计算了下,让气球的坐标大于这个时算失败,也就是整个都在屏幕外面

其程序实现方法就是,如果气球>坐标 => HP扣1点 删掉气球
说罢开写代码
首先在config里定义新的变量
public static int hp; //玩家血量
然后再在ballFly增加代码
if (transform.position.y >= 7)
{
gameConfig.hp -= 1;
Destroy(gameObject);
}
其实就是复制粘贴啦,顺带UP一提你们知道为什么很多程序员说上班就是搬砖吗,因为没有任何技术含量,就是把那几个知识翻来覆去的复制粘贴修改,所以其实做游戏程序挺简单的。
测试一下,我们在扣血的地方设置了 print(gameConfig.hp);来看结果

左下角显示出了-1,-2,-3....看来功能是成功了,不过这个HP血量肯定是不正确的,所以
public static int hp = 3 我们把gameConfig里的东西这样改下。
此时大家可能会提出疑问,UI里的HP并没有减少呢,是啊,要记得其实这属于一种前后端交互,实际上程序认的是HP是几这个数字,而UI的显示只是把程序数字翻译成了图像让你知道而已。
所以别急,一步步的脚踏实地。
然后我们加了一层UI,用于HP为0时的提示

然后我先实现失败的提示,首先在生成气球的地方加入了双重判断
if(条件 && 条件) 意思是 要同时满足2个条件才执行,这里意思就是如果HP为0了,就不出气球了

另外要做一件事是,失败后肯定还有一些气球在飞,所以我们需要让点击气球不加分了,再死掉HP也不扣了,否则肯定会出BUG
if(gameConfig.hp > 0)
gameConfig.scores += 1;
if(gameConfig.hp > 0)
gameConfig.hp -= 1;
接下来我们准备隐藏掉失败的UI,其实实现方式还是很偷懒,不显示的时候我们将UI移动到坐标9999的地方,要显示的时候就移动回来
移动UI的代码要这样写,而且必须这样写哦,不能像物件那样用pointsion,否则要报错
gameoverUI.GetComponent<RectTransform>().anchoredPosition = new Vector2(9999, 9999);

上图中,为什么我将gameOverMode单独写了出来,其实这种形式叫写一种方法,在面向对象的编程中,最好多这样用,在修改代码的时候可以一眼知道是否写错了,方便模块化修改
好的我们来测试下,你会明显的发现失败后就没有气球了

接下来我们实现“再来”这个按钮
按钮行为可以用一段现成的代码

这个知识在曾经的教程中讲过,所以就不重复了,如果想回顾一下,请看这里
UP就不再解释每一句代码的意思了,其实上面的所有知识都在教程里说过了

好了,终于到了最后一步,将HP的心显示在UI里
其实很简单,首先来个这个

然后拖入图中的HP

然后使用一个代码叫做替换图片

然后测试

好了现在整个游戏都做完了,但是有个问题,大家会发现如果游戏一直这样玩你会觉得很无聊,所以我们做一个加速系统增加游戏难度
大家还记得之前UP写的每隔几秒做一件什么事的代码吗,就是气球生成代码

同样的,我们把气球产生频率也进行难度递增调节,总之达到的目的就是气球越来越快,出现频率越来越高,具体的算法UP也是一点点调出来的,其实这个属于数值策划的工作了。


好了,现在我们已经做了一个可以玩的“游戏”了

所以接下来我们来谈一谈关于这种游戏的制作方向
其实如果是10年前,你们应该可以在各种小游戏网站看到许多类似的游戏,甚至在手游发展的初期也有许多这种类似的游戏,在那个开发者稀有的年代,这种游戏还算比较受欢迎的。
但是随着时代的变迁,现在的玩家们都喜欢氪金小姐姐了,虽然这种益智类游戏还是有一些用户,不过更多的都是为了打发时间,而且他们也不愿意玩这种太纯粹的打发时间游戏。
说直白点还是玩家变了。
所以如果UP现在上架一款上面写的那种游戏的话,现在的结果只会是即使有人玩,也是1分钟删掉游戏,因为没有什么“目标”,况且在现在游戏众多的时代,制作游戏如果不靠广告不靠推广已经没有人会看一眼了。
所以总的来说,首先画面还要更干净更现代一点,因为现在就是这么现实,灵魂再有趣不如一个好看的皮囊,就像你们都喜欢萌妹子一个道理,即使那个妹子性格很差,但是很多人都会因为妹子很好看而接受,所以UP决定在游戏完成的最后上线前统一换皮增加艺术感,可能是找朋友也可能是找有偿美术,让其整体感更加国际化。
其次光是好看也不行的,如果游戏本身没有目标点,你只会随便玩一玩就删掉了,或许你可以说做些比分之类的玩法啊,就像当年的神庙还有某鸟之类的游戏,玩法简单不是也同样火了么,是的,他们的成功是因为他们出生在那个年代,如果在2018年依然制作一款毫无目标的有毒小游戏,多半结果是会被埋没,因为这类游戏数量非常多,甚至别人每天刷广告做推广,你一个个人开发者能靠什么和商业公司竞争呢,要广告你没钱做不起,要推广你就一个人,别人有人脉关系很广的商务经理等等等,要承认拿工资的还是不要比。
说了一大堆废话,所以要怎么增加耐玩度呢?
其实耐玩的核心就是要把游戏做的足够复杂,给玩家一些期待,比如UP想到了这些点子
首先是气球种类上的
炸弹气球,点击会损失血,正确方式是不管它
高分气球,速度很快,放走也没什么,只是点击到会加大量分
来回漂浮气球,不是直线上升的,而是来回漂浮的
血包,点击后加1点血
当然还不止这么多,UP想了一大堆点子....
然后是点击上的
在屏幕上方绘制一条高分区域,气球在高分区域中点击会获得翻倍得分,但是危险系数很高
炸弹气球飞出屏幕后会掉落下一颗快速飞出屏幕的金币,点击可以获得币
点击气球有区域判定,普通区域1分,准心3分,但是点准心会很难的
当然还有更多
然后是道具上的,允许玩家在游戏中使用一些道具
气球暂停
限时保护模式
等等...
最后是收集上的,这样可以消耗币
抽取背景贴图
抽取可更换BGM
等等...

上面写了那么多,我相信看着这里你也一头雾水了,这么复杂的游戏谁会玩啊,是的,这样的游戏虽然系统复杂起来了,但是我都玩不懂,更不会玩了。
所以面对这样的问题,UP决定为游戏再增加等级解锁系统,将部分玩法锁住,待等级提升后一步步解锁,然后逐个教学,这样就会更有游戏性啦。
好了,本期的专栏就到这里,游戏方面暂时还无法提供安装版,因为这样的“游戏”只能叫demo吧,如果各位小伙伴想玩UP开发的游戏,那么这里UP安利各位去玩玩我做的手游《囧之国》吧,作为独立游戏作者只能借用各种机会宣传自己的游戏了,在taptap或者appstore都可以搜索到,基本上是我和小伙伴2个人开发完成的游戏,所以回到上面的话题,独立游戏作者没有太多机会和资金做广告,但是现在的游戏太多了,不做宣传就真的会被埋没,所以一定要抓住各种机会向别人安利安利安利安利自己的作品,学到了吗。
那么下一期,我们会解决这些问题:
制作几种新的气球
那么下期再见咯。