亲爱的读者你好。在这篇文章中,我将描述我创建第一款 Android 游戏的经历手机。很多人喜欢这个故事,我认为它需要出版。这不是一个成功的故事,但我认为它会让许多新手开发者了解从哪里开始以及需要做什么来创建一个简单的游戏。我一定会描述我的错误以及可以做得更好的地方。
请原谅我Jamie Hewlett和Alan Martin,我正在发布伟大的艺术作品坦克女孩未经他们的许可
有时你会陷入一种状态,你想要创造一些东西,以便每个人都会喘口气,张开嘴说“好吧,你很酷”。这个故事发生在2011年,当时我观看了电影《坦克女孩》的片段。想到了创建一款漫画风格的街机游戏。
为什么是 Android 而不是 iOS?原因很简单——我没有 Macintosh 或 iPhone,但我非常渴望在手机上支持 Linux。当时我很喜欢FSF的意识形态,Richard Matthew Stallman就是我的上帝。
Linux 黑客之歌。在你唱歌之前相信世界和平
开发时Android最新版本是2.0,也有必要保留对旧版本的支持,因为1.6用户很多。许多手机制造商甚至没有发布 2.0 版本的更新。
我立即为这个项目的实施设定了一个时间框架–一个月。在这段时间里,我必须提高自己的Java知识,研究Android SDK、Eclipse,迎接OpenGL ES面前的怪物并对其进行测试。在图形方面,我们必须创建大约六个针对手机优化的 3D 模型。还需要在Android Market(当时Google Play的名称)发布该项目以获取黄金)

jPCT-AE бесплатный 3д движок для Андроида
由于时间不多,所以需要选择现成的3D引擎。可以从头开始创建自己的引擎,但效率不高,因为测试和与所有设备的兼容性将花费大部分时间。在 Unreal Engine、Unity、ThreeJS (HTML5) 出现之前,领先的引擎是 JPCT-AE。该引擎作为现成的 Java 库提供,并支持旧版本的 Android。此外,其创建者 EgonOlsen 应开发人员的要求及时提供支持和错误修复。
人员决定一切–流氓安东同意为游戏创作音乐。我一直很欣赏他的作品,他的作品就像是驱动整个游戏玩法的火车头,迫使用户一直玩到最后一架被击落的直升机。
有很多事情要做,从哪里开始呢?您需要首先安装 Android SDK。它现在配备了一个内置 IDE –安卓工作室。但当时IDE和SDK是分开提供的。根据Google网站上的文档,我安装了Android SDK和Eclipse。还安装了 Eclipse 所需的软件包,以确保 Android 模拟器的组装和启动。一小时后我组装了一个测试项目jpct-AE:
哇!但在手机模拟器中一切都非常慢。于是,就做出了购买Android平台手机的决定。为此,购买了一台 LG Optimus One P500。从那时起,我就没有在 Symbian 平台上使用过优秀的诺基亚按键手机)手机连接 Linux 时出现问题,如果有人仍然遇到这些问题,请检查 udev 设置。
乔布斯引用巴勃罗·毕加索的名言
看了《Alien Runner》,我发现外星人可以换成摩托车和两个拿着火箭筒的小混混,周围的空地可以变成大都市,雾也可以被《铁娘子民谣》中的一晚所取代。 p>
如何制作3D模型?是的,这很简单,你在 Youtube 上开设一个关于创建低多边形模型的课程并进行操作。整个过程包括在 3D 编辑器中勾勒出投影轮廓。我找到了阿帕奇直升机的图纸并制作了直升机的模型。纹理取自美国陆军的开源。

为什么在有两个朋克和火箭筒的游戏中需要一架直升机?当我玩原型时,我注意到玩家可以静止不动并得分。理想的解决方案是一架直升机飞来并向玩家发射潜艇鱼雷,不让他停下来。
在当时的移动应用程序和游戏中,内存不足的问题非常严重,无论是在手机本身还是在 RAM 中。表现也非常出色。 1 个 ARM 处理器,频率为 300-500 MHz。在朋友的手机上测试的结果是,HTC的显存是LG的一半,8MB和4MB,这就是游戏超出内存限制而无法启动的原因。所有资源都被压缩到获得每秒 30 帧的帧速率,并且能够在几乎所有东西上运行。
不要重复!
Alien Runner 通过点击屏幕进行控制。这种控制对我来说似乎不太方便,所以我使用加速度计来实现控制。也就是说,您将手机打开–摩托车转动。我非常喜欢它,甚至为勇敢的人添加了第一人称视角。
当我看到前面的黑点在游戏中消失时,我需要 jpct-AE 引擎开发人员的支持。这是在最小化和最大化应用程序之后发生的。我在 jpct-AE 论坛上创建了一个主题,两天内问题就得到了解决。我将修正后的引擎版本集成到游戏中。
还有一个问题是如何实现机器的无限供应。对于一款手机游戏来说,需要想出一种快速将汽车添加到游戏场景中的方法。从慢速内存或 SD 卡加载的选项立即被拒绝。一种称为对象池的设计模式解决了这个问题。当一辆车消失在视线之外或被毁坏时,它就会被关闭,并且在需要将一辆新车带到场景开始时的那一刻——然后将其打开并放置在那里。
好了,发布的日子到了。该游戏已经过测试,并向朋友预览过,现在即将在 Android 市场上获得金牌。 Android Market 的注册费用为 20 美元,需付费。添加了描述和屏幕截图。那一刻我意识到我需要录制视频。
如何为移动项目录制视频?真的可以用手机拍摄然后发布吗?解决方案很有趣,我使用了 Android 模拟器,以每秒两帧的帧速率玩游戏,使用一个名为 gtkDesktopRecorder 的程序记录屏幕上发生的一切。使用 VirtualDub,视频速度提高到每秒 30 帧。然后在最好的视频编辑程序中– Windows Movie Maker 我添加了所有游戏声音和音乐。
现在到了出错的时刻。项目的推广没有投入任何东西,既没有精力,也没有金钱。 然后我相信该项目会打败自己。游戏获得了金牌,我在 jpct-AE 论坛上创建了一个关于 Mad Racer 的帖子。我在两周内花费 1 美元安装了 12 次。 第二天我就在一堆软件网站上发现了这款游戏的免费版本。
唱 FSF 歌曲“分享软件”;我决定制作一个带广告的免费版本。该游戏被转移到AdWare类别,下面出现了来自AdMob网络的广告横幅。与广告系统的整合进展顺利。一个月之内,该游戏就安装在了一万台设备上。我从广告网络收到了 50 美元。
一般来说,不要忘记广告,我相信这应该是您项目的主要支出之一。
从积极的一面来看,我想指出的是,我在我们城市最好的公司之一获得了 iOS 开发人员的职位。当然,还有宝贵的经验。
Ссылка на Google Play
如果您喜欢这篇文章,请将其转发到 VKontakte、Facebook)



