从零开始23天完成一款Android游戏开发(五)

移动开发 Android 游戏开发
Part 5:我想开发一款 Android 游戏有一段时间了,但从来没有一个好的 idea。最近,我一直在玩一款跑酷游戏,发现它实在太有意思了。这款游戏也让我意识到,一款 Android 游戏没有必要非要有什么大的来头和复杂的游戏设置,简单随意就好。

本文是这个系列的第五篇文章,记录作者在第12至第14天的情况。

第12天(第一部分):新游戏名 DRONE INVADER

名字终于选好了。备选名字有很多,但只有6、7个是可用的。这一个看起来最符合游戏的主题。全新的主题也做好了,同样选用了Ruslan字体。

[[109872]]

今天弄懂了Java里Comparable和Comparator的区别。我改动了子弹部分的代码,以便同时发射多个子弹(激光碎片)。子弹不必接 触到外星人才能打中,只需朝着一个方向发射,子弹便会自动攻击外星人。这样就可以简单地根据子弹发射时刻的轨迹判断先击中了哪个外星人,从而取代全碰撞检 测。这个方法对除Boss级外的所有级别都适用。 因为Boss会吐出其他外星人,他应该排在数组里的第一个,这样子弹会飞过所有外星人直接打中boss。如果子弹直接打中boss,会保留之前的处理。但 如果只是向某个方向射击,会按照y坐标轴对外星人排序,然后打中最近的那个。

新特性会稍稍改变游戏体验,现在玩起来更容易也更有趣了。射击外星人不再会因为手指点击出现误操作。游戏从“精确碰撞”变为“射击测试”,弹卡是10发的,以防你瞬间摧毁一切。

我想我应该把外星人的运动变得更有挑战性一些,这样游戏不至于太容易。

第12天(第二部分)

我开始喜欢上这个游戏了,而且是特别喜欢。我决定在睡前再做一会儿,在16、26这样的关卡添加了一个大月亮,外星人就藏在月亮后面。月亮慢慢移动 穿过屏幕,在Boss出现的时候正好从屏幕移出。这让游戏难度陡然增加,因为很难判断是否有外星人躲在月亮后面。由于月亮是圆形,这增加了操作长方形难 度。我调查了精确像素检测方法,每当射中一个外星人像素会逐个显示,特别是当月亮一直在转的时候。然而这种方法恐怕会让游戏变慢。原来的矩形被我减少了 12%,用矩形检测取而代之。虽然并不是精确像素,但是工作得也很好。这种方式可以让子弹穿过月亮打中有月亮做掩护的外星人。

我对现在的游戏体验非常满意。有趣,有挑战性,而且很吸引人。现在我需要更多boss,更多的外星人类型和能量升级。如果不升级能量想升到60级是 非常难的,所以我试着增加足够的内容,起码在100级之前没有重复的boss出现。我觉得增加能量升级会容易点,看看增加这些会以后游戏会变成什么样。

我第一次感觉这会是一个很棒的游戏,会从一般的太空射击游戏里脱颖而出。

第13天:盾牌、新Boss

我加入了一个新boss,现在有两个boss。以下是目前外星人的名字:Worker、Eater、Hairy、Glider。Boss叫Worker Boss(看起来像是更大的Worker,而且会吐出很多小Worker)和Borg(它是立方形的,被摧毁以后变成许多大立方块)。

[[109873]]

我还添加了盾牌。以前我曾经用Inkscape画过这种漂亮的盾牌标志,还从某个YT教程里获得了灵感。我试着照着教程做(教程使用的是Adobe Illustrator,不是Inkscape),但是失败了。我开始观察一些喜欢的盾牌,注意到盾牌只是由一些分支、曲线或梯度构成。我把Hairy放上去,看起来很不错。这个还可以用作Android标志。

不管怎样,这个盾牌可以随时引入并且持续20秒。后面的一些升级可以使盾牌持续更长时间。如果外星人碰到盾牌会加速损耗能量,这样即使盾牌消失你仍然可以干掉它们。

[[109874]]

盾牌的图形看起来很像力场,使用Gimp再配合手动修改可以让它变得更好看。我想要一个漂亮的曲线而不是直线,因为直线好像不能添加梯度阴影效果。也许有一些技巧可以做到,但是目前我还不知道。最后,我结合了不同角度的多重线性梯度,出来的效果非常棒。

我试着在这个盾牌标志上面添加一些荧光效果,但是看上去有些太刺眼了。我会把它留在飞行过程中吃到能量升级时使用。

有了这些新图形,游戏看起来更完整了。我还在考虑在哪里放置分数倍增器比较合适,还有是不是需要显示当前攻击波。

我还在想玩家需要在玩之前买一些升级装备,但这需要一些硬币,或者类似的钱,目前,快速游玩显然还不支持。也许可以在一些外星人后面留一些水晶或者一种类似随机升级的装备会出现。再或者你经历了多少波,就得到多少硬币。

第14天:完成所有低级外星人图形

所有7种低级外星人都完成了.我刚刚做好了Catcher,Humaniod和Scorpio是昨天晚上做的。我还做了一些基本图形放在商店里,玩家可以从那儿买到升级产品。

关于外星人boss我又有了一些新想法。其中一种像蛇,身体由多段组成,需要分段消灭。

第二种外星人boss自己也可以制造boss。如果你不能及时摧毁它,它就会放出另一个boss。第二种boss吐出普通外星人并向下移动(以便为下一个留出空间)。

第三种boss是一种特别的生物,它能够自我分裂。当它被打中时,会分裂成两个相同的外星人。每一个分裂出的外星人能量是有母外星人的一半。外星人会一直分裂,直到变成一堆能量为1的外星人。打死那些外星人就可以结束游戏。

第四种boss是……好吧,让我留一些惊喜给你们,玩的时候就知道了。我敢肯定对一些玩家而言,第四种boss是非常讨厌的,除非他们发现这种boss的规律。

[[109875]]

安排音乐时间

今天剩下的时间里,我浏览了一些免费音乐。有许多音乐网站,但成千上百的音乐逐个听过去并不好玩。多数免费的音乐网站都是垃圾。我在Reddit的gamedev上找到了一些推荐的网址,同样在gamedev.stackexhange.com上可以看见,还有一些独立的网站。除了Jamendo, 这个有点贵,大多数免网站真的很糟糕。

我通常会自己创作音乐,用MilkyTracker或者一些其它破解程序。这个习惯是从Amiga500来的,在.it或.s3m调制器的时代这让我感觉得心应手。但这次我觉得没有时间这么做。通常创作一个好听的音频要花我3、4周。然而,我可以再利用一些以前的作品,但我已经把它们都用到以前的游戏中了——说实话,没有一个适合用到这次的游戏。我还是找到了一些Kevin MacLeod的音乐。这些音乐相当不错,我决定就用他了。

是花上几个小时去听那些免费音乐,还是集中精力自己做,似乎真的取决于你对时间的估计。

相关:

从零开始23天完成一款Android游戏开发(一)

从零开始23天完成一款Android游戏开发(二)

从零开始23天完成一款Android游戏开发(三)

从零开始23天完成一款Android游戏开发(四)

从零开始23天完成一款Android游戏开发(六)

从零开始23天完成一款Android游戏开发(七)

从零开始23天完成一款Android游戏开发(八)

翻译:bigosaur   ImportNew.com

译文链接: http://www.importnew.com/6729.html

责任编辑:闫佳明 来源: importnew
相关推荐

2014-03-13 14:02:28

Android手游速成

2014-03-13 15:15:33

Android手游速成

2014-03-13 14:12:52

2014-03-13 14:55:04

2014-03-13 15:06:30

Android手游速成

2014-03-13 14:27:51

2014-03-13 14:17:05

Android手游速成

2022-05-27 10:00:06

C++游戏引擎

2013-10-31 16:31:19

2017-09-04 13:51:29

Android

2016-08-10 14:59:41

前端Javascript工具

2021-12-30 09:10:28

游戏开发开发技术热点

2011-04-06 15:55:50

开发webOS程序webOS

2019-08-12 09:36:49

2014-07-22 13:09:21

android

2015-11-17 16:11:07

Code Review

2018-04-18 07:01:59

Docker容器虚拟机

2019-01-18 12:39:45

云计算PaaS公有云

2020-09-28 15:13:04

鸿蒙

2020-07-02 15:32:23

Kubernetes容器架构
点赞
收藏

51CTO技术栈公众号