嘿,各位开发者!
Misch这里。 我的合伙人Nic和我刚刚发布了Laballatory的demo,一个基于牛顿摇摆球的物理基准的roguelite, 每个球都是一个根据概率生成的评分引擎。 这是一次颠覆性的体验。
而不是只提供一个链接,我想分享一下我们认为有趣的系统,因为这个社区帮助我解决了比我可以计算的更多的问题。
球成分系统 每个球都在运行时从效果和触发器的池中组装起来。 我们发现通过为生成的值创建泛型来抽象球效果效果很好。 每个球都有一个左侧效果和一个右侧效果,每个效果都与独立的触发条件配对。 通过稀有度确定的统计数据在各个频段内进行滚动。 由于数据驱动,添加新的效果只需要编写一个类并注册它,其他代码不需要任何更改。
事件总线 我们尽量减少了单例。 我们建立了一个强类型的事件总线。 我们内部称之为Herald。 Herald通过Scrolls(事件)传递信息。 UI、音频、保存系统、分析钩子等都通过事件订阅。 这使得晚期的重构变得不那么痛苦。
异步与可等待 Unity 6的可等待功能真的是对游戏场景的极大帮助。 我们曾经在上一个项目中使用了大量的协程,直到Nic走进来一天,向我展示了一个疯狂的机器,能够在序列中停止它而不会造成任何问题。 因此,我们将它作为驱动我们的游戏机器的核心部分。 球处理、快照动画、击球序列等都使用异步可等待链代替协程。 取消令牌处理可以防止对象在序列中被销毁而造成的爆炸,尤其是在物理sandbox中,这种情况时有发生。
Steam Deck 我们从一开始就针对Steam Deck进行了优化,而不是在最后阶段才添加。 如果您从一开始就抽象输入,那么这是非常不痛苦的。 Unity输入系统与生成的动作类使得在游戏pad和鼠标/键盘之间切换变得透明。 我必须说,Steam的输入管理使得事情变得更加不痛苦。
如果您想看到它的实际效果,可以在Steam上免费下载demo。 我们非常希望从其他Unity开发者那里收到反馈,特别是关于性能或任何看起来不正常的事情。 我们仍然在积极开发中,正在努力推出完整版。
https://store.steampowered.com/app/4453320/Laballatory/
我们很高兴回答关于上述系统的任何问题。
评论 (0)