你是如何处理脱机进度的数学问题,当它与实际的已过时间相关,而不是游戏时钟时?我的游戏需要根据实际的Unix时间模拟生产/生长。重新播放每个时钟显然会出现问题,如果有人脱机。 我倾向于每个系统使用封闭形式的公式。直接求解状态sstate于t+delta并以块状模拟作为非线性或事件驱动内容的后备。随机事件、阈值和所有好东西。 我无法在生活中解决这个问题。是否有人在Godot 4中处理过这个问题?具体来说:
- 使用纯封闭形式的数学公式每种资源/建筑类型进行计算?或者使用块状模拟(最大步长)?什么是混合?
- 如果您选择混合方法,则在哪里划分哪些内容使用公式,哪些内容使用模拟?
- 如何保持确定性,如果脱机计算部分接触了非确定性的外部内容,例如实时天气或市场数据?
玩家在游戏中建立的城市坐落在现实世界的坐标上,并在实际的本地时间和天气下运行(从实时天气API中提取数据)。脱机进度不仅是捕获游戏逻辑,还包括捕获在玩家离开时环境状态的变化。这个部分我不完全控制。
目前,我认为应该在保存时快照天气/时间状态,然后在重新加载时仅获取当前条件并进行插值或跳跃,而不是尝试重新播放每个小时。同时,我认为这样可能会导致漂移或奇怪的边缘情况,例如白天/黑夜的转换、天气条件和季节性内容,如果间隔太大。
我特别感兴趣的是人们如何结构实际的模拟逻辑,当时间间隔很大时,是否有人将脱机补偿与实时外部数据源联系起来。
评论 (0)