clik-engine API
    Preparing search index...

    Interface RollbackConfig<TState, TInput>

    Rollback netcode for real-time action games (GGPO-style). Stores frame snapshots and re-simulates on late remote input.

    Usage:

    const rollback = new RollbackManager<GameState, Input>({
    maxRollbackFrames: 8,
    serialize: state => JSON.parse(JSON.stringify(state)),
    simulate: (state, inputs) => gameStep(state, inputs),
    });
    rollback.saveFrame(0, currentState);
    rollback.addLocalInput(0, localInput);
    // When remote input arrives late:
    rollback.addRemoteInput(frameNum, remoteInput);
    const result = rollback.rollbackIfNeeded(currentFrame);
    interface RollbackConfig<TState, TInput> {
        inputDelay?: number;
        maxRollbackFrames?: number;
        serialize: (state: TState) => TState;
        simulate: (state: TState, inputs: Map<number, TInput>) => TState;
    }

    Type Parameters

    • TState
    • TInput
    Index

    Properties

    inputDelay?: number

    Input delay in frames (adds latency but reduces rollbacks)

    maxRollbackFrames?: number

    Max frames we can roll back

    serialize: (state: TState) => TState

    Deep-copy function for state snapshots

    simulate: (state: TState, inputs: Map<number, TInput>) => TState

    Simulate one frame given state and all player inputs