我已经推出了两个游戏(Tangledeep & Flowstone Saga)作为主编程/主设计师,目前正在继续开发Tangledeep 2。这是迄今为止最大的项目。 我希望能够分享我在这些项目中发现的某些“模式”(模式),这些模式经过了磨炼和反复试验。这些模式并不仅限于软件设计相关的,它们可能会让您有所裨益,即使您不擅长编程!
1. 尽可能使用文本编辑器,直到考虑自定义编辑器为时过早。
一位资深程序员曾对我说,““ [notepad是一个自然的最美的编辑器“ ” ] (https: //www.reddit.com/user/PlayDungeonmans/ ) ,我无法同意这点。 从本地化数据到物品、能力、地图预设、怪物、动画脚本 到几乎任何其他内容 都可以使用简单的 文本(或类似 JSON )来编辑,在不花时间自定义编辑器的前提下。 便携性。 文本快速。 可以在任何机器上运行。 有些非常棒的编辑器,例如 SublimeText 和 Notepad++。 您会被惊讶地发现游戏数据如何使用文本文件来进行编辑。
有一个典型例子,我花了大约8周时间创建一款动画编辑器,但它根本没有人用到。 我的 JRPG 流中有许多动画。 但是,大家都已经习惯使用我们的文本格式来编辑动画了,而且使用自定义编辑器根本没有更快。
请考虑您花费在自定义编辑器上的每个小时是无法在游戏本身上花费的。 也不被其他人看见。 编辑器的维护面积也会增加。 一旦您制作了一个怪物编辑器,您可能需要将其更新以匹配相关数据结构、行为等等。 编辑器故障率也值得考虑。
当然,肯定有一些情况下,制作自定义编辑器是合理的。但可能并不如您想的那样普遍。
2. 抽象任何进度和成就的系统,而不仅仅依赖Unity工具或三方库。
如Steamworks.NET 这样的包非常方便,帮助您获得Steam的成就。 但在您需要通过steam以外的渠道来实现成就时,呢 ? 或者 Nintendo Switch, 或者其他东西。 就像制作自身接口或类似这样的额外架构工作值得而已!
同样,做成.save和用户数据的选项使用 PlayerPrefs 是短期而言可能是可以的。然而,您确实想有能力对数据进行完全独立于Unity。即使没有计划移植游戏,这一切都会使您的生活变得容易些,且更容易为玩家()
3. Google表格是查看统计和数字的高端工具。
需要确定 sword的伤害是否有哪3等级sword的伤害水平相比于 sword 2? 或一个级 5 的典型玩家级 8 玩家的平均打击数量为 5 个 hits? 列传到 Google sheets! 有很多的东西比这更棒。
即使是非常复杂的例子,我也在它上面操作过。 比如这里的例子.
如果设置得当,您应该可以在两个单元格中编辑值,在短时间内就可以看到您的游戏中其他方面的影响,即使在其他地方出现。 例如,我可以通过编辑一个单元格来查看远程武器伤害的每一层次改变与玩家头击计算的打击次数的平均影响(在不同等级)
看上去可能很复杂,但全部都是用 2 岁生孩子水平的数学和公式来完成,如sum或其他表格中的值。 简单又强大。
4. 如果在开发过程的早期,感觉不舒服,很快地做一些大改动并试试。
在 Tangledeep 1 中,我有这个想法,即武器耐用性将会很有趣。 当我和其他玩家测试游戏时,我们发现武器耐用性太长了,易于损坏,进而玩家不太愿意战斗时,我们得出结论。 我在当时可以调节很多东西,比如说 - 增加耐用性的30%,加入一个修复系统,或者有过时的耐用性恢复。
有一种可能,至少在这个案例中,您是可以通过简单地禁用耐用性,或者通过一行代码来看看这会带来什么样的效果。 结果非常有用。此外,在 Tangledeep 2 中,我最初复制了第一个游戏中的生命和治疗系统。 这非常糟糕。
我试图想出各种方法来修复这种问题,比如说 fountain 频率、最大冲量 上限、治疗时长、等等...。 我又想想,为什么不试试看看是否会有无限制的缓存效果会好呢? 消除了任何资源管理。 这将改变整个流程、攻击战略和游戏。 而且可以这么简单地实现。 与此同时,它更加有用。
但是一旦游戏发售,您就必须在大范围的改变上更加小心,因为这些改变几乎肯定被玩家所抵制。 然而,在开发早期,最好试试,因为您总是可以轻易地改变您的原始意图。
不知道这些东西对于您是否有帮助,但他们对我来说非常有帮助! 是一番感言!
评论 (0)