Skip to content

一些疑问 #4

@homike

Description

@homike

为什么要限制玩家在一帧中只能输入一次操作,看其他帧同步项目,基本没有这个限制。
func (l *lockstep) pushCmd(cmd *pb.InputData) bool { ... //检查是否同一帧发来两次操作 for _, v := range f.cmds { if v.Id == cmd.Id { return false } } ...

空帧为什么不马上广播,客户端是需要空帧来驱动前进的。
我看你提供的客户端在没有输入的逻辑帧时,自动currentFrameIdx++了,是不是不够严谨了,正式项目肯定是不能丢帧的。
if !g.dirty && framesCount-g.clientFrameCount < BroadcastOffsetFrames { return }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions