欢迎光临散文网 会员登陆 & 注册

一个人做游戏(三)——失败功能&聊聊一种手游的设计构思

2018-02-06 17:49 作者:枫2  | 我要投稿

上次留了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);

图中显示UI的坐标还没有改,忽略忽略

上图中,为什么我将gameOverMode单独写了出来,其实这种形式叫写一种方法,在面向对象的编程中,最好多这样用,在修改代码的时候可以一眼知道是否写错了,方便模块化修改

好的我们来测试下,你会明显的发现失败后就没有气球了


接下来我们实现“再来”这个按钮

按钮行为可以用一段现成的代码

这个知识在曾经的教程中讲过,所以就不重复了,如果想回顾一下,请看这里

UP就不再解释每一句代码的意思了,其实上面的所有知识都在教程里说过了

好了,终于到了最后一步,将HP的心显示在UI里

其实很简单,首先来个这个

然后拖入图中的HP

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

然后测试


好了现在整个游戏都做完了,但是有个问题,大家会发现如果游戏一直这样玩你会觉得很无聊,所以我们做一个加速系统增加游戏难度

大家还记得之前UP写的每隔几秒做一件什么事的代码吗,就是气球生成代码

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

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

所以接下来我们来谈一谈关于这种游戏的制作方向

其实如果是10年前,你们应该可以在各种小游戏网站看到许多类似的游戏,甚至在手游发展的初期也有许多这种类似的游戏,在那个开发者稀有的年代,这种游戏还算比较受欢迎的。

但是随着时代的变迁,现在的玩家们都喜欢氪金小姐姐了,虽然这种益智类游戏还是有一些用户,不过更多的都是为了打发时间,而且他们也不愿意玩这种太纯粹的打发时间游戏。

说直白点还是玩家变了。

所以如果UP现在上架一款上面写的那种游戏的话,现在的结果只会是即使有人玩,也是1分钟删掉游戏,因为没有什么“目标”,况且在现在游戏众多的时代,制作游戏如果不靠广告不靠推广已经没有人会看一眼了。

所以总的来说,首先画面还要更干净更现代一点,因为现在就是这么现实,灵魂再有趣不如一个好看的皮囊,就像你们都喜欢萌妹子一个道理,即使那个妹子性格很差,但是很多人都会因为妹子很好看而接受,所以UP决定在游戏完成的最后上线前统一换皮增加艺术感,可能是找朋友也可能是找有偿美术,让其整体感更加国际化。

其次光是好看也不行的,如果游戏本身没有目标点,你只会随便玩一玩就删掉了,或许你可以说做些比分之类的玩法啊,就像当年的神庙还有某鸟之类的游戏,玩法简单不是也同样火了么,是的,他们的成功是因为他们出生在那个年代,如果在2018年依然制作一款毫无目标的有毒小游戏,多半结果是会被埋没,因为这类游戏数量非常多,甚至别人每天刷广告做推广,你一个个人开发者能靠什么和商业公司竞争呢,要广告你没钱做不起,要推广你就一个人,别人有人脉关系很广的商务经理等等等,要承认拿工资的还是不要比。

说了一大堆废话,所以要怎么增加耐玩度呢?

其实耐玩的核心就是要把游戏做的足够复杂,给玩家一些期待,比如UP想到了这些点子

首先是气球种类上的

  1. 炸弹气球,点击会损失血,正确方式是不管它

  2. 高分气球,速度很快,放走也没什么,只是点击到会加大量分

  3. 来回漂浮气球,不是直线上升的,而是来回漂浮的

  4. 血包,点击后加1点血

  5. 当然还不止这么多,UP想了一大堆点子....

然后是点击上的

  1. 在屏幕上方绘制一条高分区域,气球在高分区域中点击会获得翻倍得分,但是危险系数很高

  2. 炸弹气球飞出屏幕后会掉落下一颗快速飞出屏幕的金币,点击可以获得币

  3. 点击气球有区域判定,普通区域1分,准心3分,但是点准心会很难的

  4. 当然还有更多

然后是道具上的,允许玩家在游戏中使用一些道具

  1. 气球暂停

  2. 限时保护模式

  3. 等等...

最后是收集上的,这样可以消耗币

  1. 抽取背景贴图

  2. 抽取可更换BGM

  3. 等等...

上面写了那么多,我相信看着这里你也一头雾水了,这么复杂的游戏谁会玩啊,是的,这样的游戏虽然系统复杂起来了,但是我都玩不懂,更不会玩了。

所以面对这样的问题,UP决定为游戏再增加等级解锁系统,将部分玩法锁住,待等级提升后一步步解锁,然后逐个教学,这样就会更有游戏性啦。

好了,本期的专栏就到这里,游戏方面暂时还无法提供安装版,因为这样的“游戏”只能叫demo吧,如果各位小伙伴想玩UP开发的游戏,那么这里UP安利各位去玩玩我做的手游《囧之国》吧,作为独立游戏作者只能借用各种机会宣传自己的游戏了,在taptap或者appstore都可以搜索到,基本上是我和小伙伴2个人开发完成的游戏,所以回到上面的话题,独立游戏作者没有太多机会和资金做广告,但是现在的游戏太多了,不做宣传就真的会被埋没,所以一定要抓住各种机会向别人安利安利安利安利自己的作品,学到了吗。

那么下一期,我们会解决这些问题:

  • 制作几种新的气球

那么下期再见咯。

一个人做游戏(三)——失败功能&聊聊一种手游的设计构思的评论 (共 条)

分享到微博请遵守国家法律