beyond-all-reason / beyond-all-reason/RecoilEngine

Feature: Replay timeline jumps via keyframe states

Open
#3,004 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
683
Forks
293
Avg merge
3d 2h
Merged PRs (30d)
40

Description

I have embarked on this experimentative pipedream. Please do tell if there is a better issue. I searched for replay and keyframe.

First goal is to rewind a replay and do timeline jumps without desyncs or speedups.

I'm trying to keep desync resolutions documented so its possible to refactor the POC into regression tests and some separate PR's that can be useful even if the main "replay bundle" store might not.

I do believe I'm following approach number 2 in this comment ("perfect sync-safe saves") https://github.com/beyond-all-reason/RecoilEngine/issues/1388#issuecomment-3707914267

Discussion of the feature: https://github.com/beyond-all-reason/RecoilEngine/discussions/2704

Other related issues:
https://github.com/beyond-all-reason/RecoilEngine/issues/1179
https://github.com/beyond-all-reason/RecoilEngine/issues/350

So outside of this goal (but very interesting) is the later optimization stage to try to shrink the storage and transfer of the keyframes.

WIP branches:
https://github.com/tetrisface/RecoilEngine/tree/keyframes-rewind-catchup
https://github.com/tetrisface/Beyond-All-Reason/tree/replay

2026-06-09 update
even though the agent might succeed it might not even be possible to work towards merging anything meaningful due to the scale of the work. but i will let it stew for a bit more out of curiosity.

2026-06-13
large body of work. but I dont think the POC has to grow much more now.

DISCLAMER: Completely done with AI (GPT-5.5 on max effort)

Contributor guide

Open the contributing guide

Research direction

Start by reading the linked discussion, related issues, and the referenced comment to understand the proposed keyframe approach and synchronization constraints. Review the two WIP branches to identify the current proof of concept; the work is done when timeline rewinds and jumps avoid desyncs and the resulting behavior can support regression tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.