您可以在 此处 找到QByte的当前版本 。 它实际上是介于两者之间的版本,因此请耐心等待。
自从我上次为QByte做一个devlog以来已经有大约6周的时间了,尽管我确实取得了进步,但至少可以说,这一进步是微不足道的。 这就是当时我没有真正写过该项目的原因(嗯,这有点倒退–我已经意识到,从某种意义上说,每周写进度可以推动进度)。
- 对于游戏开发公司,2D游戏或3D游戏,更好的选择是什么?
- 介绍游戏制造商冰岛
- 宝珠守护者(第2部分:Tilemap)+康威的人生游戏
- 虚幻引擎4:入门
- 蓬松的鱼-在Processing.py中包含Flappy-Bird-Klon
部分原因是我个人迷失了一些。 尽管我对这个项目及其目标非常清楚,但我一直在思考该项目前后发生的事情。 丹尼尔(Daniel),罗布(Rob)和我一直在寻求作为集体的工作,但是很明显,尽管我们所有人都希望共同努力,但目前我们的个人优先事项和目标还不够协调。 我们想要做的可能更像是一个虚拟的合作空间或聚会小组。
这让我想知道下一步是什么。 我一直想启动Patreon,但现在还是以后应该这样做? QByte肯定有工作和/或资金的机会,但是现在是追求这些机会的合适时机吗? 在经历了数周的艰苦开发之后(稍后再介绍),一月份的发布似乎非常棘手-我可以接受吗?
再加上前面提到的那些发展障碍和两次搬迁城市的经历(我回到了澳大利亚!这很棒又在排水吗?),我感到有些磨破。 令人担忧的是,我只是刚开始觉得自己已经恢复了某种节奏,而我又开始恢复某种常态。 我有一个解决此问题的计划-步骤1是编写此devlog。
但是足够的焦虑,让我们进入开发者本身。
哦,我的O-Auth
第一周是很多洗。 我非常激动和充满希望,对如何在有限的开发范围内(使用Firebase)实现保存的会话制定了清晰的计划,并且这样做之后,我进入了脚本编辑器,供作家进行工作。游戏。 我什至花了整整一个星期的时间来工作,因此我确信我会取得良好的进步!
事实证明,将常规Web服务集成到Unity是最糟糕的。
问题不仅在于集成Firebase(尽管它本身并不琐碎),还在于使身份验证能够在您想要的所有平台上工作。 Firebase自己的身份验证是不可行的,因此您只想使用O-Auth。 但是,假设您想拥有一个可以在WebGL和移动设备上运行的应用程序,那么在Unity中实现OAuth的方式就不会给用户带来极大的烦恼,这比您想象的要难得多。
一周后,我的进步很小。 最后,我决定完成任务并跑到沙漠*。

* 好,所以我已经计划去沙漠了。 但是在第一周之后,我想我还是会离开…
皮肤,故事和兔子洞
接下来的几周实际上使我重新获得了一些牵引力,但越来越多地使我成为“兔子霍林”,也就是说,构建一些系统,然后迫使我构建其他系统,这迫使我再构建其他系统……有点吓人
首先,我将重点转移到实际获取游戏的故事视图,以及符号表情符号。
为此,我需要皮肤系统:一种快速轻松地从一种外观切换到另一种外观的方法。 我这样做是因为我想让玩家从一个切换到另一个,以更好地理解游戏。
实际上,这确实很好。 我可以将预制件指定为“蒙皮对象”,将其他对象指定为“蒙皮对象父对象”。 然后,父母根据需要在皮肤上注册了哪些对象来生成和剥皮对象。
我结束了这个:

既然我已经能够在引擎中显示故事,那么该是时候实际构建这些故事了。 我构建了一个非常简单的“解释器”系统,您可以在其中单击某个对象以找到有关它的更多信息。 这提供了一个非常好的机会,以探索性的方式实际解释科学,因此我决定专注于巡回赛皮肤的版本:在解决讲故事的艰巨任务之前先描述巡回赛的要素。
很快,很明显,这不会变得微不足道。 例如,要描述一扇门,您需要了解有关它是否具有控制权,控制它的位等信息。 我发现自己正在构建一种小型的模板语言(某种程度上基于Jekyll)来实现这一目标。 例如,这是具有至少1个控件的Not门的字符串。
A {{controls | 重复:“受控”}}非门。 如果{{controlNames | |,则将0变成1,反之亦然。 列表:“,”和“}} {{控件| 复数:“有”,“有”}}的值为1。
结果如下:

尽管这非常棒,但是构建此系统需要再添加两个:
- 如果要放入这样的模板系统,则必须在进一步研究之前弄清楚如何进行本地化。 弄清楚如何将本地化库与这样的模板系统集成起来并非易事(特别是因为我正在研究的库I2 Localization具有此类模板系统将提供的某些功能)
- 很明显,我需要直观地显示当前选中的对象:即“对象聚焦”系统,因此我知道文本指的是什么。 关于如何处理鼠标悬停与点击,还需要一些思考。
您会看到这种情况变得有点不可收拾了,对吧?
好消息是,所有这些系统都相当通用,并且对于将来的项目将非常有用。 花时间去制造它们并使它们变得更好是值得的。 我还在付费工作中使用了一些共享系统,这使代码共享变得更加出色。
在这一点上,我不得不退后一步,思考一下如何管理所有这些系统,以及如何在项目之间很好地共享代码。 我也在将我的存储库移至git lfs和github的过程中,所以现在是思考这些东西的好时机。 我最终使用git子模块和一些自定义bash脚本来跟踪所有内容(我的付费项目在Unity Collaborate中,这使事情变得有些复杂)。 Unity无法足够快地发布其软件包管理工具…
会议与重新聚焦
这让我直接进入了墨尔本国际游戏周,这是一个相当不可思议的游戏开发会议和展览会,但也是荒谬的一周。 我对QByte及其开发有很多很棒的想法,这些想法无疑帮助了我迈向一百万个不同方向。 它还确实加强了我一直想解决的一些基本界面问题。
在此之后,我不得不盘点一下。 我最终决定解决这些小问题,并专注于使该应用程序达到我实际上可以将其交给某人并让他们以某种有效方式使用它的程度。
需要工作的两个主要领域是状态表示,并指示如何进行控制。 到目前为止,我已经开始研究状态表示。
我的计划是简化它们,使它们更易于阅读,然后让玩家根据需要获得更多信息。 与其将| 0>,-| 0>,| 1>和-| 1>分别显示为状态,我只是将状态分解为崩溃为| 0>和| 1>的概率,然后将其分为+’ve和-‘ve部分。
不幸的是,这个计划意味着纠缠的国家不再像以前那样很好地排列在一起。 因此,计划是让玩家单击/触摸纠缠状态的各个部分,以查看它们与其他状态的关系。
到目前为止,我已经完成了第一个(即简单)操作,并且我还更改了配色方案以使用Brewer Palette(感谢John Kane提出了这些建议)。 在此过程中,我已经破坏了一些输入系统并完全破坏了Measurement,所以我也必须修复它们。

接下来的是…

这是我当前的待办事项清单。 有点吓人……我希望我能在下周之前完成前两项工作,但是我们只需要看看我的工作情况即可。
同时,我想知道其他开发人员是否对使用/贡献我正在组装的模块感兴趣。 这是我到目前为止所拥有的模块列表-如果您认为您将使用其中任何一个模块,请告诉我,以便我可以优先进行清理。
- simple.deps —一种非常简单的bash脚本驱动的方式,可在不同项目之间共享代码(适用于git和Unity Collaborate,尽管它大多假定使用单个程序员进行Collaborate)。 这真的很基础,也很手动(还没有子依赖等),但是我可能会在以后添加
- QSim —一种量子计算机模拟器,用于处理少量的位,并针对及时的用户反馈进行了优化
- Imparter —一个用于存储有关游戏版本的信息并在构建中共享这些信息的系统。 它是游戏右上方的小工具栏。
- 解释器-用于解释游戏中对象的系统。 单击一个对象以获取说明。 我正在将其扩展为包括处理对象焦点,处理鼠标悬停等。
- LookChanger —蒙皮系统
- Somethington-基本的单身人士和类单身人士
- WordExpander —字符串模板系统。 理想情况下将与I2本地化集成