大家好,

您可能已经注意到,我们最近深入研究了手机游戏编程领域。 这是在创建了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 。 您的反馈将大有帮助!

相关文章 :

  • JCG Studios – ArkDroid正式发布
  • Android游戏开发教程

翻译自: https://www.javacodegeeks.com/2011/12/android-game-postmortem-arkdroid.html

Android游戏尸体– ArkDroid开发相关推荐

  1. 【尚观】Android游戏与应用开发最佳学习之路_转载来学习Android

    Android游戏与应用开发最佳学习路线图 为了帮助大家更好的学习Android,并快速入门特此我们为大家制定了以下学习路线图,希望能够帮助大家. 一.      路线图概括: 开博不到一周,不予上传 ...

  2. android游戏物理引擎开发——粒子系统(三)

    生病了,医院躺了几天,动了个小手术,动手术之后的几天在医院看了几本<大众软件>,又想到自己必须得买台台式机了,这破笔记本实在用不下去了,然后开始喜欢看些硬件的东西,等我熟悉了以后,写几个硬 ...

  3. android游戏物理引擎开发——碰撞检测(三)

    生病了,医院躺了几天,动了个小手术,动手术之后的几天在医院看了几本<大众软件>,又想到自己必须得买台台式机了,这破笔记本实在用不下去了,然后开始喜欢看些硬件的东西,等我熟悉了以后,写几个硬 ...

  4. Android游戏开发教程

    几个月前,我们收到了来自Java开发人员Tamas Jano的电子邮件,要求加入我们的JCG合作伙伴计划. 令我们惊讶的是,他维护了一个名为" Against The Grain " ...

  5. Android游戏开发–粒子爆炸

    有没有想过爆炸是如何产生的? 让我们绕个弯路,尝试实现基本的粒子爆炸. 爆炸不过是一堆散布在屏幕上的,源自单个点的粒子(无论是像素,小形状还是图像). 为了方便起见,并非总是如此,而是为了简洁起见,我 ...

  6. Android游戏开发–雪碧动画

    如果到目前为止您仍然关注该系列,我们将在处理触摸,显示图像和移动它们方面广为人知. 但是,动态图像看起来很呆板,因为它看起来确实是假的和业余的. 为了给角色一些生活,我们将需要做更多的事情. 这就是动 ...

  7. Android游戏开发–游戏循环

    游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是while循环,该循环一直执行 ...

  8. android游戏开发_Android游戏开发–游戏循环

    android游戏开发 游戏循环是每个游戏的心跳. 到目前为止,我们仅使用了非常简单的一种(您可以在此处找到),无法控制我们更新游戏状态的速度或速度以及要渲染的帧. 概括地说,最基本的游戏循环是whi ...

  9. 【Android游戏开发十六】Android Gesture之【触摸屏手势识别】操作!

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/337.html   ...

最新文章

  1. Linux编译器GCC的使用
  2. 前后端解析_好程序员Web前端教程分享前后端分离接口
  3. Tech ED的课程和动手实验营讲义已经发布,需要的赶紧去下载
  4. Linux终端设备详解
  5. 【 c#】实现form窗口中,通过按钮实现tabPage的切换
  6. 开发75条(写的不错) 选择自 churujianghu 的 Blog
  7. 做好数据再利用,让企业数据价值发挥最大
  8. android应用程序签名
  9. 市场调研策划书_市场调查计划书模板
  10. arcgis里面怎么截图_ArcGIS在变更调查中影像截图批量制作的统一方法
  11. BGP劫持信息有望通过基于推特的系统放送
  12. 刘铁猛挨踢人感言:做一个高情商的程序员
  13. 小川opencv100例 之 准备食材 之 读取视频
  14. 关于Exception出现application exception overridden by commit exception
  15. 获取验证码以及验证验证码
  16. Monte Carlo Tree Search (MCTS) 蒙特·卡罗尔树搜索
  17. c语言中puts的作用,c语言puts函数用法是什么?
  18. windows10下用PowerShell命令(Get-FileHash)校验文件的Hash值(MD5、SHA1、SHA256等)
  19. 电脑快捷方式删除文件后四种找回方法
  20. 迅雷和BT有什么区别?迅雷是不是不毁硬盘?速度快吗?

热门文章

  1. 16.windbg-.cxr、.frame、dt(查找设置设备上下文、切换局部上下文、查找结构体)
  2. 51nod算法马拉松20 C、战忽局的手段
  3. php猴子吃桃子问题n天,『PHP学习笔记』系列四:利用函数递归调用思想解决【斐波那契数列】问题和【猴子吃桃问题】问题...
  4. VUE树形图(递归实现)
  5. acwing查看做题总数
  6. Antimalware Service Executable 高内存的处理办法,亲测有效
  7. MVC-Controllers 数据验证
  8. php ikanalyzer,IKAnalyzer使用(示例代码)
  9. js常用方法JQ选择器
  10. Vue 定义全局css文件