《宝石龙》是一款关于脾气暴躁的龙的移动应用程序游戏,他会因为收集会斑纹他的洞穴并组成主要饮食的宝石而在硬币冲淋中奖励你。 这是我第一次尝试创建应用程序,有时在开发过程中就像火车残骸一样。
当我刚开始这个项目时,我对自己想做什么样的游戏没有明确的认识。 我唯一的任务是制作一款真正有效的游戏。 一年多以后,我取得了很多成就。 但是会更好吗? 我选择分享一些有关在《 Gem Dragon》上所做的试验和磨难的信息,希望您可以从我的错误中学习。 这是我从我的经验中学到的一些东西:
耐心,蚱hopper。
首先学习如何编写其他游戏的代码。 您以前可能已经听说过类似的情况-在其他创意领域也很常见。 例如,受过经典训练的艺术家将通过复制杰作来磨练自己的技能。 也许匹配鲍勃·罗斯的逐笔是一个更好的比较……
事后看来,我本该将同样的智慧运用到游戏制作中,但是我很固执。 我不想通过重建Breakout或Flappy Birds弄湿自己的脚。 那似乎很无聊。 我知道以现有的游戏格式为基础并加入一些变化会更加审慎,但确实如此-我想创造新事物。
因此,我基本上跳过了基础知识。 好处是它有助于激励我。 我正在着手创造一种感觉就像我自己的东西。
另一个部分优点是,我不能完全依赖于逐步教程。 有些事情我必须自己解决。 通过无休止的Stack Overflow搜索,Youtube教程以及我在大学时学习的入门编程课所获得的有限知识,使游戏变得零零碎碎,这意味着我不得不考虑通过简易的设计解决方案来解决问题,并依靠反复试验。
缺点是这些解决方案通常不是很好。 在整个项目中,我一直认为,经验更丰富的编码人员可以构建与我尝试的相同的解决方案,仅将一半的代码用作笨拙的解决方法。 我一直觉得自己有一种正确的方法去做自己想做的事情,但是除非我能在Stack或Youtube上找到确切的东西,否则我会摸索着使我的游戏勉强可行,勉强可行。
另一个缺点:我认为最终想法的强项和最终给Gem Dragon带来的游戏性都还算不错。
如果我致力于重新创建现有游戏并扩展我的编码技能组,那么我将能够尝试更复杂的游戏,同时仍然尝试一些原创游戏。 我花了很多时间弄清楚如何编写游戏的特殊组件,以至于在学习和实现真正重要的东西(如构建基本设置菜单)时就懒了。
换句话说, 做功课。 不太有趣,但我觉得它最终会有所回报。 学习适当的编码技术,并创建更精美的最终产品。 与有更多排骨的人合作或寻找导师也是一个好主意。
做好命名工作。
在任何编码论坛中,这都是一个笑话,但是是的:我在自己的代码中迷失了很多次。 每当我陷入困境时,我就忙于寻找解决方案,以至于我忽视了良好的命名习惯。 我最终得到了同一个游戏对象的编号版本(例如,gem 1,gem 2,gem 3),但不知道哪个是有效的,更糟糕的是,具有相同名称但只有很小改动的脚本(例如“ destroy script”)而不是“销毁脚本”),不记得做了什么。
我总是能够回想起这些事情,但是花了我一段时间。 不可避免的是,我不良的命名习惯使我不得不为自己做更多的工作。 为了节省时间并使代码清晰易读,绝对要多花点时间考虑一个适当的名称,该名称对其他读者以及您将来的自我都有意义。
就像在任何编码课程中一样,我的教练还向我灌输包含注释的重要性。 那是您绝对应该做的另一件事,我没有。 (至少不是一开始就没有。)理想情况下,您希望其他编码人员能够阅读您的代码,并可能从上次中断的地方继续学习,而不是陷入黑暗和可怕的迷宫中。
讲一个故事。
这并不适用于所有游戏,例如像Stack这样令人上瘾的Ketchapp游戏,但在我几乎放弃之后,提出了一个养活易发脾气的龙的小前提,这有助于我的游戏发展成某种东西 。
我最初开始该项目是为了学习如何制作游戏,这意味着我在讲故事之前就着手解决游戏的基本机制。 但是对于我的游戏而言,机制本身并不多,他们需要可爱的龙和8位元的吸引力。
对游戏制作很陌生,并认为上瘾的休闲应用程序是一个不错的起点,但我从来没有想到要围绕故事而不是相反的方式来制作游戏。 在开发的早期阶段,我开始意识到没有一款游戏会让人感到多么空虚。 尤其是现在,我对独立游戏世界有了更深入的了解,我开始更多地考虑将游戏作为讲述精彩故事的工具。 并不是说这总是正确的方法,但这是一个想法,直到我尝试自己的游戏时才浮出水面。
如果我要继续这个项目,我会给金币一些游戏内购买力,以购买诸如新背景和音乐之类的可解锁物品。 但是,由于我已准备好继续前进,因此《宝石龙》目前已经完成。 在Google Play上可用于Android。