我独自在 Unity 6 (URP) 中开发一款电力网络游戏。整座城市每天大约需要 116 MWh,而存储存在很大的缺口:从小电池直接跳到巨大的容器,中间没有能够随你增长的东西。所以我开发了一个电池墙:你购买空的支架,然后逐个滑入模块。

每个模块只是普通电池。

这决定了让事情变得容易。支架本身只是电力网络中的一个节点,自己没有电池。每个模块是一个普通放置的建筑,拥有自己的电池和网络节点,和游戏中任何其他电池完全相同。因此容量、充电速率、平衡、磨损、保存以及检查卡片都来自已有的代码。一个放在支架中但未连接的模块仅是一个没有连接的节点,因此不计入。我没有为它编写任何代码。

插槽的位置不会保存。

模块所在的插槽是根据其位置(容差 3 厘米)计算得出的。没有插槽索引,也没有新的保存数据。

橙色导线永不交叉。

每列拥有自己的一条车道,离电缆赛道最近的列使用后排车道。路线在你连接时即刻铺设,在付费之前,卡片上的价格正是你实际被收费的金额。测试确保每对导线至少相距 1.9 厘米。

平衡破坏了我的状态灯。

模块之间相互平衡,导致墙体内部能量双向流动。灯同时显示“充电”和“放电”。现在它们使用净流。

我最喜欢的错误:

出售模块会播放滑出动画。另一个组件在建筑组件上使用了 RequireComponent,导致 Unity 静默拒绝将其移除,模块在滑出时仍保持可出售。快速点击会导致双倍付费。解决办法是先移除依赖组件。

你会不同做法吗?还有什么你会加到墙上?

如果你对游戏感兴趣:steampage