SuperAPI AI 工具集

godot-game-loop-time-trial

通用与其它

查看项目

更新于 10-15 22:33

技能介绍

用途:为 Godot 4 竞速游戏、速通平台跳跃等设计计时赛系统,采用“验证链”模式,把计时视为经状态校验的序列,防止抄近路作弊。

主要能力:TimeTrialManager 作为中央时钟,用 Time.get_ticks_usec() 或物理帧计数,只在物理重叠中校验检查点顺序与最佳单圈;GhostRecorder 以固定频率(如 10 Hz)采样位置与四元数旋转,GhostReplayer 用位置 lerp 与 Quaternion.slerp 回放,禁止欧拉插值;time_trial_leaderboard_bridge.gd 将整数 usec/msec 格式化为 MM:SS.mmm。存储可选字典数组、PackedVector3Array 或 FileAccess.get_var() 二进制/JSON;幽灵可用增量压缩配合 FileAccess.open_compressed() 与 ZSTD。

使用方式:按黄金路径顺序阅读脚本——time_trial_manager.gd、有序 Checkpoint 区域、ghost_recorder.gd、ghost_replayer.gd、time_trial_leaderboard_bridge.gd。检查点用 Area body_entered 接入物理帧;完成判定必须在 _physics_process 中评估。多人需服务端权威验证,高频位置用 TRANSFER_MODE_UNRELIABLE。

限制与禁忌:不用 OS.get_ticks_msec() 做高精度计时;不在 _process 中做终点触发;不立即评估刚实例化的 Area3D 重叠,需 await get_tree().physics_frame;不非均匀缩放 CollisionShape3D,应改内部 shape 资源;不对圈速用 ==,用 is_equal_approx();不记录整个玩家对象,幽灵不设碰撞;不硬编码输入检查而不 flush_buffered_events()。具体价格、平台支持暂未提供。