科学家开源了完整的雄性果蝇大脑,我将其接入到我的游戏中,让它实际游玩,得到了宝贵的见解。只是想分享出来,因为我觉得这真的令人兴奋且很有帮助。

最近我对游戏做了一些改进,想进行压力测试,但长时间游玩并不是最佳选择(当然我自己也测试过)。于是我想到:"科学家最近开源了雄性果蝇大脑,我何不用它来测试?"于是尝试了一下。结果效果非常好,还让我获得了能帮助我从多方面修复和改进游戏整体的见解。

https://i.postimg.cc/CLFm4CK7/1789678885689.jpg

该设置将 Godot 4 与基于 Python 的实时生物神经模拟器连接起来:

1. 引擎通信: Godot 的 PacketPeerUDP 每帧向 Python 发送归一化的 3D 世界目标坐标和温度指标,并接收回虚拟瞄准偏移量 (dx, dy) 和扳机状态。
2. 视觉处理(小叶): 屏幕空间的目标坐标被转换为视叶小叶神经元的感官输入。
3. 导航罗盘(中央复合体): 生物昆虫利用中央复合体作为导航和定向罗盘。此处计算当前瞄准方向与目标之间的角度误差,输出运动转向信号。
4. 诱饵过滤(蘑菇体与 MBON): 在后期 Boss 波次中,太阳会生成诱饵(热幻影)。蘑菇体输出神经元过滤视觉噪声,仅追踪主要热源。
5. 多巴胺循环(PAM / PPL1): 在果蝇生物学中,PAM 神经元发出正奖励信号(水命中目标),而 PPL1 神经元编码厌恶惩罚(太阳热量增加)。在运行过程中,多巴胺动态调节突触权重。

结果:

代理在前 10,000 帧中的瞄准精度约为 36%,每当太阳在地平线上快速移动时,便会不断漂移和过冲。

然而,随着多巴胺驱动的突触可塑性调整权重,到第 25,000 帧时精度超过 70%。到 400+ 波次时,达到了 99% 的即时跟踪锁定,跟踪误差收敛至 dx: 0.00, dy: -0.002。

模拟果蝇一直存活到 第 471 波(38,650 帧 / 约 22 分钟不间断的弹幕射击),累积了 +28,267 点多巴胺,且一次都未死亡。

这揭示了游戏的哪些问题:

1. 无上限的增益叠加: 经过几十个 Boss 波次后,叠加的威力和冷却倍率造成了数值膨胀。到 200 波之后,太阳几乎在生成瞬间就冷却完毕。
2. "按住扳机"问题: 无论太阳移动多快或血量多高,只要锁定准星并按住主火力,所有紧张感都消失了。游戏退化为被动的数学检验,而非需要战术技巧。

得益于这次实验获得的结果,我已经应用了多项修复并改进了游戏。我一直在测试自己的游戏,许多用户也给了我宝贵的见解,而这次更多是作为一次实验。感谢你阅读这篇帖子~