Android游戏尸体– ArkDroid开发
您可能已经注意到,我们最近深入研究了手机游戏编程领域。 这是在创建了JCG Studios (基于希腊雅典的独立手机游戏工作室)之后完成的。
JCG在这里代表Just Cool Games,这是我们的另一个缩写,当然除了Java Code Geeks 。
我们选择的平台是Android,而我们从头开始开发游戏的第一次尝试就是创建ArkDroid 。 顾名思义, ArkDroid是Android的Arkanoid克隆。 这就是我们所说的“进化的突破者”。
ArkDroid具有电影故事情节,引人入胜的视觉效果,深空音乐主题,战役和免费游戏模式以及完善的武器系统等功能。 如果您对它感兴趣并告诉我们您的想法,我们将非常乐意。
在不久前完成ArkDroid的开发之后,我想分享一些在开发团队中积累的经验。 将此视为基本的游戏尸检,如果您具有游戏编程经验,则可能会阅读它。
让我们从游戏创建的简短概述开始。 开发团队由两个人组成: 拜伦和我 。 开发过程持续了大约4个月,在此期间,我们每个人每周专用约15个小时。 实际上,这是一个附带项目,与我们的常规工作和Java Code Geeks一起运行。 我们遵循创建完整版本和精简版本的通常方法。
以下是有关游戏编程的一些见解,更具体地说是有关Android平台编程的见解。
RTFM(阅读精美手册)
帮自己一个忙,在开始制作Android游戏之前,请确保您已掌握Android基础知识。 查阅开发人员指南 ,并确保将Javadoc页面添加为书签。 这些也可以在Android SDK中用于脱机浏览。 如果您以前有制作游戏的经验,那么入门很容易,但是在研究Android游戏编程的魔幻世界之前,请确保您花了适当的时间。 我们的Android教程可能对此有所帮助。 我们最近还推出了Android游戏开发教程 。
高效协作
当涉及分布式团队时,协作至关重要。 不用担心,不需要花哨的东西。 为了进行在线交流,我们使用了Skype,并使用了Google Docs进行了宽松的“项目管理”。 一个文本文档和一个电子表格应足以容纳两个人,以便跟踪错误并分配新功能。 关于代码本身,版本控制系统毋庸置疑。 我们决定使用较旧的Subversion ,因为这是我们最有经验的经验,但是任何现代的源代码管理工具都可以。 也有很多提供私有存储库的站点,请您进行搜索。
提升引擎
抵制“ 此处未发明 ”综合征的沦为受害者,并接受游戏引擎可以带给您的力量。 在开始开发时,我们评估了一些可用的Android游戏引擎,因此决定使用非常不错的AndEngine 。 AndEngine已经相当成熟,提供了丰富的功能和快捷方式,我保证它将立即帮助您启动项目。 绝对应该注意, libgdx紧随其后,我们决定跳过它,因为它对我们来说有点低。 我们决定支持AndEngine缩短开发时间。 话虽这么说,如果性能对于游戏的成功至关重要, 那么libgdx无疑是明智之举 。 另外, libgdx是跨平台的,这意味着它可用于编写台式机和移动(Android)游戏。
了解你的引擎
如上所述, AndEngine被用来提供构建游戏的核心框架。 但是,在编写单行代码之前,我们确保已阅读所有可用的教程 。 不幸的是,没有Javadocs(怪异的),因此您将仅需依赖示例和公共论坛 。 嘿,您可以使用源代码 ,对吗?
打那个设备
我们在开发过程中遇到的最主要问题之一是,应用程序部署到SDK的仿真器中所花费的时间太荒谬 。 我的意思是,来吧,我有一台尖端的笔记本电脑,并且要花很多时间(大概一分钟左右)才能重新部署游戏。 因此,我和拜伦(Byron)确保自己购买真实的设备,并在其上进行大部分调试和测试,而不是仿真器。
测试,测试,测试
是的,正如您可能已经猜到的,我的意思是在真实设备中进行测试。 您必须以各种可能的方式测试游戏。 充当没有经验的移动用户。 提供随机输入,并见证您的游戏对此做出的反应。 确保覆盖所有角落。 请注意,由于游戏的性质,可能甚至很难重现错误,更不用说调试和修复游戏了。
覆盖光谱
Android碎片化是现实,它可能是主要的PITA 。 不同的分辨率,屏幕尺寸,CPU电源和列表会继续显示。 因此,如果您以更专业的方式考虑Android游戏编程,那么您将不得不获得一台以上的设备才能覆盖从低端设备到高端设备的所有基础。
GC是你的敌人
好的游戏首先为玩家提供流畅的体验。 您必须避免在游戏过程中出现打and,并且您可能已经猜到,打ic是由Android中的垃圾收集引起的。 不幸的是,这确实是一个“停下世界”的过程,因此引起了用户的注意。 对此的最佳建议是绝对确保不要创建不必要的对象。 您的游戏实际上包含一个主循环,每秒执行多次,因此这会使情况变得更糟。 移动世界中的资源非常稀缺,因此请格外小心。
耐心一点
您可能已经听说过有关在周末或“几个小时”时间内创建“游戏”的所有故事。 是的,没错...让我警告您,创建一款非同寻常的游戏需要大量的精力,最重要的是要有耐心。
资产? 这是什么?
好吧,拜伦和我是程序员的内心。 铁杆。 创造“艺术”对我们来说听起来有些奇怪。 我相信,术语“ 程序员的艺术”是一种非常成功且具有代表性的艺术 。 如果您有能力雇人来制作图形和声音,则无需三思而后行。 否则,您将不得不充分利用可用工具。 我们使用GIMP来满足图像编辑的需要,我认为我们实际上设法创造了一些体面的艺术品(主要是拜伦)。
想要Beta测试人员
在开发快要结束时,请确保对您的游戏进行Beta测试。 找到一些朋友或亲戚,让他们尝试您的游戏。 理想情况下,当他们玩耍时,您应该在周围。 看着他们,看看他们喜欢什么,让他们感到困扰的事情,以及对他们感到奇怪的事情。 此反馈非常宝贵,请相信我。 我们很幸运地拥有一些出色的Beta测试人员 ,这些人员可以帮助我们跟踪一些错误并提供有用的建议(谢谢Pelagia,Eleftheria,Ben)。
刚出货
在开发人员中,发现未完成的项目非常普遍。 可以改变世界的应用程序和可以写历史的游戏,但是它们会收集旧硬盘中遗忘的灰尘。 争取所有借口并潜水: –我还不能发货,还没有完成…… –刚出货... –嘿,这个功能执行不了… –刚发货! –但是我还没有完成功能X… –刚发货! –是的,但是我的比赛有Y… –刚发货! –只有100个关卡?… –刚出货!!! 随便发货,获取用户的反馈并以此为基础。
暂时不要辞职
这是一个非常普遍的建议,但我想在这里重复一遍。 不要急于做出快速的决定,例如辞职。 移动市场是一个非常奇怪的野兽,虽然它可以使您成为百万富翁,但它也可能使您挠头,原因是您的超级傻瓜游戏为什么不会被该死。
游戏开发正在改变生活
我个人来自核心的企业编程背景(JEE最高)。 您可能知道该钻探:保留一些数据,提交该事务,生成一些报告,再次移动数据,等等。这可能在一段时间后变得很无聊。 但是,游戏开发人员是一个完全令人耳目一新的变化,我很高兴找到一个勇敢的新世界。
玩的开心
最后,请确保您做出自己真正喜欢的事情。 如果您对自己的游戏感到厌烦,那么几乎可以肯定的是,您将中途退学……或者您最终将获得可怕的游戏。 我们决定从历史悠久的经典开始。 谁不喜欢打砖块?
所以,这就是所有的人……别忘了分享! 当然,不要忘记查看我们的新Android游戏ArkDroid 。 您的反馈将大有帮助!
相关文章 :
翻译自: https://www.javacodegeeks.com/2011/12/android-game-postmortem-arkdroid.html