要组建一支梦之队,只需一口气就能完成一场杰作,将其推向高潮。 或者,作为一个独具天才的人,应该在一个晚上构造并释放一种游戏现象,游戏就是吸引金钱和名声的磁铁。 事实证明,在吸烟室和各种IT会议上,这种黑暗的幻想不仅折磨了年轻的学生,还折磨了可敬的叔叔。 他们承认这一点更加困难。
如何成为一名职业生涯的开发者,与黑门的《霍比特人》一样远离游戏开发者? 摆脱迷恋,最后完成在履历表中看起来非常重要的图书馆。 但是,如果您埋葬了自己的梦想-而不是自己的梦想,那就欢迎猫来吧。 您会发现一个诚实的故事,它讲述了如何将IT世界中的Kick放在镜子前和瘀伤中实践。 游戏的历史,从概述到发布。

从模糊的思维模式到完成的概念
大致上,计划如下:在最短的时间内完成游戏开发周期,其中最后阶段是发布完整版本。
合理的时间限制和发布游戏的需求有助于避免游戏开发者中典型的陷阱等待新手:追逐“梦想游戏”的形象! 具体化的“理想”概念通常会变成独立团队无法企及的项目。 这个想法变成了一个缺陷,迟早会被害羞地藏在“桌子上”。
为避免因开发潜艇模拟器或在线3D射击游戏而导致的惨败,最好暂停并释放一个简单的游戏。 顺便说一句,简单性并不意味着原始的问候语拱廊,被截断的蛇形克隆以及其他不可玩和非原创工艺的变体。
连续四个农场,有管家,植物大战。 仓鼠...选择哪种异国情调的想法作为测试球? 也许关于球的事。 由于这是第一个薄煎饼,因此让游戏在2D模式下保持平坦。 毫无疑问,任何可疑事件的座右铭都是减少推理。 因此,第一个相对理智的想法是固定的。 因此,在古代文明背景下,将台球和曲棍球混合而成的草图:
游戏概念这是比赛中球(增高器)的布置。 玩家瞄准曾用鳄鱼的曾猫,将他锤在六个口袋之一中,并看到爆炸的强大特效。 率先从战场上击溃敌人所有敌人的人是Etsvatsephala(一个好人)。 哦是的 古代文明的背景仍在幕后。
选择的面粉:目标平台和工具包
在概括性地概述了游戏的概念之后,确定平台和工具并不困难。
个人电脑市场的前景威胁着在线发行服务的麻烦。 至少应使用
Steam Direct系统在流行的Steam商店中进行发布。 对于每种产品的添加,将
征收约6,000卢布的税,从付款到发布之日起,Valve员工必须花一个月的时间来“确保他们与之打交道”。 发布前的游戏审核需要另外五天。
独立igrodela与另一家数字发行巨头GOG.com的合作始于填写有关游戏
的调查表 。 商店需要花费一些时间来考虑该游戏,并且拒绝发布的风险非常高:该游戏可能看起来不够独特,基础不足或不适合其他标准...
常识表明,如果您拥有质量合适的现成(或几乎现成)产品,则可以联系Steam或GOG.com等怪物。 但是为移动用户发布游戏是一个更快,更实惠的选择。 当然,我向Android暗示:
激活开发者帐户和访问Google Play开发者控制台,一次性支付
25美元,比向苹果储钱罐在Apple Store上发布
每年支付99美元便宜。 自古以来,我就有一个Google Play开发者帐户,因此倾向于使用Android。
对于Android而言,敢于冒险的人在这个平台的发展滑坡上,常常发现自己处于十字路口:无论是在Canvas中制作游戏,学习OpenGL API还是使用成熟的游戏引擎。 对我来说,甚至别无选择:将鼠标携带在漂亮的GUI引擎中比在调试器中待一整夜,调查场景无法缩放的原因更有吸引力。
显然,必须选择满足要求的发动机:
- 移植游戏以在Android下发布的能力
- 免费的
- 低门槛
- 原型制作速度
- 最新,清晰的文档或活跃的社区
经过一番搜索,三个引擎引起了人们的兴趣:Cocos2D,虚幻引擎和Unity。 Cocos2D的轻巧性和C ++作为一种开发语言给人留下了深刻的印象,但是用它编写游戏并不能保证很快。 虚幻引擎和Unity之间的艰难抉择以Unity的胜利告终:乍一看,初学者似乎更容易理解该引擎。 关于创建2D游戏,至少值得拥有别致的
在线教程 !
对于独立开发者,Unity可根据个人资费计划免费使用。 年营业额或募集资金超过100,000美元的公司被邀请使用付费订阅。 好吧,马上,马上,但是现在,启动Personal。
关于独自开发游戏:时间消失了
由于在计算机上的不同平台和引擎之间引发冲突,因此注册了Unity 2017,Visual Studio社区和Android Studio。 顺便说一句,正式的Unity版本
可以在Linux上安装,并且我的openSUSE Leap安装没有任何问题。 但是,游戏的大部分开发都是在Windows下完成的,因为那里有Photoshop。 兼职项目的唯一开发者是唯一为gamedev流程添加特殊元素的设计师。
例如,您经常不得不在两个任务之间切换:编写代码和绘制图形。 一旦开发过程因需要在场景中添加新图形而受阻,就必须推迟一切并进行设计。 为了并行化这些过程,积极使用了“存根”图像,以某种方式勾勒出草图,直到最后一次替换完整的图形。
图形的分阶段开发当图形被认为是最终的时,创意僵局也受到了打击,这被作者或玩家拒绝了,目前尚不清楚如何解决这种情况。 实践表明,一些新的概念艺术有助于打破僵局。 他们要么告诉您重做图像的方向,要么完全替换它。
在任何情况下,大量的艺术品都不会进入游戏的最终组装阶段,这是正常的。 对于大量失败的草图而言,每个人都注视着这样一个诞生的事实:“是的,就是这样。 一样的羊驼。”
相同的羊驼这是经过大量重复制作的比赛场地:
比赛场地的屏幕截图事实证明,在72个小时中,大约40个小时仅用于绘图和设计。 剩余的时间花在了开发测试周期上,其中三个因素加速了该时间:
游戏的检查点准备发布。 一款功能完备的游戏不愧为准备首次进入游戏的用户通过的游戏? 如果您放弃一项或两项功能,它会不再是这样吗? 如果不是针对先前编译并经过心理翻译的只读TK,则该游戏可能会不断改进和发展。 当他们与玩家讨论他们的印象并提出自己的想法时,新的愿望清单几乎每小时出现一次,然后保存了控制点的功能列表。
拒绝漂亮的代码。 可以对此进行辩解,认为这种做法对项目和开发人员均有害,我同意大多数观点...但事实很明确:如果项目很小并且时间用完了,那么代码的纯度就会淡出背景。 最主要的是源代码仍然可以理解。 但是,如果您不订购双份的意大利面条代码和繁复的复制粘贴,则不会造成太大危害。
跑步零件的范围。 爆炸花了一定的时间,但仍无法赢得最佳视觉效果奖吗? 精灵动画中的怪异现在是否仅可见,因为其他对象吸引了他们自己? 调试复杂的部分,调整特殊效果,运行动画...对于此类事件,一种好的方法是尽可能地隔离感兴趣的块并将其放置在干净的项目中(或至少在单独的场景中)。 首先,这消除了其他游戏实体对其的副作用。 其次,它有助于专注于当前任务,进行实验而不会弄乱和破坏附近的东西。 例如,在一个单独的场景中,当增重撞到口袋时,可以方便地调整爆炸效果的参数,并在测试项目中选择用于纹理化背景的选项。
永远不会致命的错误
毫不妥协的是公开Beta测试,空引用¬-带有“ // TODO”短语的复活节彩蛋,像水一样滑过手指,虫子……可悲的事实:大多数错误是由于粗心和缺乏仪器所有权所致。 Unity有详细的文档,这是有充分理由的。 Unity的许多技术解决方案并不明显。 堵塞文档会产生额外的调试时间,并在Google周围徘徊...这将带您回到在线文档。
女士们,先生们,以下是El Zengo开发过程中最棘手,最耗时的错误的“前三名”。 他们很好奇,因为它们是典型问题的特例,这些典型问题是由于缺乏时间来深入研究主题领域而迅速发展而产生的。
3.不能按我想要的方式工作
哦,在调试zengs碰撞的模拟上浪费了多少时间。当然,在Unity中,物体运动的整个计算是开箱即用的。 在游戏的原始原型中,它被急切地利用:零重力在舞台上滚动,相互弹跳并从侧面弹起,并且碰撞后的轨迹毫无疑问。 但是,关键时刻到了绘制zengi向量的时刻,突然发现,彼此之间的实际反弹(截图中的灰色弧线)与预期的反弹(白线)不同:
预期和实际的zenga反弹路径曾因过大的摩擦力和由此产生的扭转力矩而偏离了原定的路线,其原因暂时仍是个谜。 事实是每个zeng是加载场景时生成的gameObject,其中添加了Rigidbody 2D和Circle Collider 2D组件。
刚体是一种“实体”,它定义了对象在游戏世界中行为的物理性质:质量,阻力,重力和其他有用的特征。 对撞机-负责计算对象边界以及与其他物体碰撞的组件。 这两个组件都具有“材料”属性,用于设置摩擦系数和弹性。
因此,解决不正确的增弹问题归结为一个问题:如果将两个组件附加到gameObject,Collider和Rigidbody上,并且每个组件都具有“ material”属性,那么将应用哪种材料?
Unity中的对撞机和刚体材料属性因此,如果Collider没有定义材质,则使用刚体材质。 如果已设置,则是Collider的priority属性。 对于未明确指定的材料,刚体使用具有默认弹性和摩擦值的材料。 因此,错误是错误的假设,即具有接近零摩擦的刚体属性将应用于指定的Collider材料。 她值得在星期六晚上度过。
2.在不同设备上的行为不同。
渲染文本阴影时,会偶然出现具有不同版本API的设备上的不同行为。 带有游戏名称的文本已添加到场景中。 阴影组件附加到文本:
Shadow组件已添加到Unity中的文本深色,透明。 它完美地遮盖了所有设备上的文本...除了带有API 15的旧版Android之外,其阴影顽固地看起来是淡蓝色而不是蓝色:
游戏界面中阴影绘制不正确无法快速确定错误的原因和补救措施,因此,为了加快开发速度,必须放弃阴影。
底线:保持警惕。 在不同的设备上,甚至游戏的琐碎元素也可能具有不同的外观和工作方式。 这通常表现在难以察觉的琐事中。
1.它无法在特定设备上启动
在发行前的晚上(或习惯上是怎么开始这样的故事的?),人们发现在其中一部智能手机上,游戏基本上不想启动。 我不得不紧紧抓住调试器,看看出了什么问题。
通过设计,该游戏将强制横向运行。 在Unity 2017中,默认方向设置(编辑->项目设置->播放器->方向)负责:
在Unity中设置屏幕方向导出到Android Studio项目时,默认方向设置将变成清单中指定的screenOrientation属性:
android:screenOrientation="landscape"
看来可能出什么问题了? 实际上,在所有设备上,飞行都是正常的……除了Android 8.0.0(API 26)之外,启动时应用程序在崩溃时会崩溃,但以下情况除外:
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
通过禁用styles.xml中指定的样式的透明度来解决此问题:
<item name="android:windowIsTranslucent">false</item>
绝对偶然地检测到的崩溃导致道德问题:必须在应用程序支持的所有API上检查操作的正确性。
关于促销和获利,或“今天我了解很多”
在准备好大量宣传材料以放置在Android商店中之后,在程序员和设计师的欢呼声中,发布了产品。 但是,很快变得很清楚,除了Play商店中游戏的名称外,找不到它。 El Zengo就像是一条沉没的帆船,上面有金色的doubloons,停在游戏海底的某个地方,一直在等待潜水员……显然,潜水员的潜入深度并不那么深。
每周的零下载量超出了预期。 备注:期望并非毫无根据的幻想,而是基于真实的,尽管已过时的经验。 早在2014年,当Google Play积极扩展并吸引新的开发人员时,作者发布了史无前例的逻辑游戏。 尽管该出版物的主要目的是供与朋友和同事聚会的个人使用,并且设计尚需时日,但游戏的进展却出奇的顺利。 她隐约出现在新闻栏目中,从那里她爬入了俄罗斯和邻国的游戏类别顶部。 而这一切都没有丝毫的努力。
自那时以来,Google Play一直充斥着应用程序,开发人员已开始为
从底层转移到高级转移出大量资金,并试图使游戏广为人知,以便以潜在的用户开始以某种方式找到它并涉足
业务。
大象业务。 王子正在等待意外的冒险提供促销服务的公司,来自YouTube的视频评论,在游戏门户网站上的评论,在各种平台上投放的广告...如果您绝对不拒绝付费促销,那么您会为摆脱薪水风格上的几种方式而感到惊喜。 但是它们的效果如何?在哪种组合和比例下,特定游戏的效果最佳? 问题仍然悬而未决。
尝试自由方式,包括在游戏论坛上讨论主题,在社交网络中进行适度无礼的PR以及在交流圈子中进行大量宣传,均取得了适度的结果。 结论本身表明:如果您真的考虑过游戏的推广,那么请提前进行并分配适当的资源。 同时,如果您不及时了解市场趋势和目标受众的特征,则可以将所有努力减少到零。
结语
在几个月内可以在不影响工作和个人生活的前提下,自己或一个小团队发布游戏吗? 这样就不会自我克服,也不会因缺乏睡眠而“意志胜利”。 是的,相当! 借助现代引擎,IDE和stackoverflow,它比以往任何时候都容易。
但是,如果独立游戏的发展本身并不是目的,并且对它的推广和货币化产生疑问,那么……就有些细微差别。 晋升-具有三个头脑的怪物:一门单独的科学,其中一些小错误的计算已经是损失; 需要持续监控的连续过程; 浪费时间,精力和金钱的黑洞。
最后。 独立开发不仅涉及重新阅读的代码,图形和几何课程。 它也与热情的人进行沟通,他们愿意留下反馈,甚至可以纯粹地参加项目。 例如,开发人员对游戏玩法和UI提出了大量建议和批评,而开发人员通常对随便杀人很酷。 El Zengo第二版的音乐是由喜欢游戏的作曲家创作的。 如果您精疲力尽并进行搜索,那么肯定会有一些人想要测试游戏并留下评论。 有了很好的工具选择,并从开发中观察了风扇的简单规则,就可以简单地从发布中获得灵感,而不是缺乏经验。