新工具的挑战

当我来到LEAP Game Studios时,我发现自己处于两个需要两个非常不同的工具的项目中,这些工具以前从未使用过:基于Java的游戏开发框架libGDX和基于lua的游戏开发引擎Defold。 从libGDX开始非常顺利。 指南很容易找到和阅读,并且为您尝试做的事情提供了详细的说明。 此外,它具有全局范围和本地屏幕的工作流程对我来说很熟悉,因此我能够很快地学习它。 另一方面,从Defold开始比较困难。 我的Windows安装遇到Microsoft服务(例如Edge)的问题,而使用编辑器则需要这些服务。 我终于能够下载我的项目并在格式化PC后开始工作,但是由于对游戏引擎的经验有限,我还不得不花一些时间来理解游戏对象与集合之间的不同交互以及重新编码解决方案对这个工作流程。 Defold的学习文档包含清晰的说明,分为两个手册页,其中包含有关引擎如何工作和解决不同问题的详细指南,以及包含所有可用方法的参考页。 问题是您必须在每个页面中单独查找要阅读的组件。 此外,关于非常具体的问题的信息也不是那么容易找到,但是引擎的开发人员和社区在论坛上非常有帮助,并且不要让问题无解。 Defold的真正缺点是不支持集成服务,例如排行榜的游戏中心或带有本地SDK的广告。 它确实支持广告,但仅支持带有Javascript SDK的提供商,该Javascript SDK可与Webview组件一起使用并且加载缓慢。 总而言之,学习新工具是非常丰富的经验,它们使您可以看到人们在解决问题上的不同观点,并结合您自己的创造性解决方案,从而扩大了视野。

C#数据类型gamedev初学者应该使用:队列

这是我计划介绍的一些数据类型的第一篇文章,这些数据类型确实是初学者游戏程序员未真正使用的数据类型,并且您可能会考虑在游戏代码中使用它们。 我们从哪里开始呢? 使用我最喜欢的数据类型Queue。 如果您有购买杂货的经验,您可能已经对Queue是什么有了一些猜测。 与商店队列类似,它是对象的先进先出(FIFO)集合。 换句话说,如果将字符串“ cat”,“ dog”和“ mouse”添加到队列中,则会以相同的顺序将它们取出。 那么,为什么要使用队列而不是仅使用数组或列表呢? 首先,队列(以及System.Collections.Generic中的大多数集合)可以随着新对象的添加而动态增长,而不是像数组那样固定不变。 而使用列表,从列表的开头删除内容并不是很有效,因此Queue在性能上击败了它们。 最后,键入.Enqueue()将对象添加到Queue中,.Dequeue()从Queue中删除对象,以及Peek()来查看下一个对象而不删除它,这是很好的。 它使工作变得更加轻松,并且您的代码更易于阅读。 因此,这是何时使用Queue的实际示例。 想象我们有一个小人物,我们想要移动到我们在屏幕上单击的每个位置。 首先,如果要使用Queue,则必须包含System.Collections.Generic命名空间,如此处顶部所示: 使用System.Collections.Generic;…

篮球战术原型报告-10月12日

篮球战术的原型工作正在紧锣密鼓地进行着,我的发展势头很好。 我所做的大部分工作都保留在原型中,并且肯定会增加游戏的趣味性。 在过去的一两周中,我尝试了一些事情: 防守控制:您现在可以指示防守者将注意力集中在对手之一上。 添加了一个“卡片”用户界面,以显示更多影响投篮,传球,防守和篮板机会的基础数据。 改变了松散球反弹的逻辑。 以前,当球松动时,我只是从任一支球队中随机选择一名球员。 现在我进行距离检查,以找到球范围内的角色,然后根据玩家的数据从中随机选择一些较小的权重。 它的设计使游戏更容易理解,并为游戏增加了新的策略层,因为您现在还需要考虑它们相对于球的位置,以便获得松散的球。 现在,在管理球员方面有了更多“平衡”的感觉-如果没有重大的权衡,您就无法赶上射手。 具有特殊能力! 角色是通过特殊动作生成的。 现在,它们等于提高了速度,或者朝着篮筐行驶,但是我们有一个不错的头脑风暴清单,列出了我们接下来要尝试的所有功能。 清单的大小指向具有很多深度的能力系统,这在项目生命的现阶段始终是一个好兆头。 在创建特殊功能的UI的过程中,我学到了一件有趣的事情,那就是Unity内置了对创建圆形“条形” UI的支持。 在下面,您可以看到我如何用它来创建一个圆棒,以表示技能恢复时的“冷却”时间。 UI清理和代码重构:我花了一些时间清理粗略的原型,以使原型设计的下一阶段变得容易一些。…