概念としてはバックログの全行についてセーブデータがあれば自在にジャンプできる

そのデータを動的につくるか事前に全部作っておくかでシステムとしては大きく別れる

どちらの場合も巨大になるデータをどうさばくかが難しい

戻れる行数を30行までとか制限してロード時は消えてよければ前者の実装はわりと簡単
後者は動的なスクリプトに制約がでるとかパッチ対応めんどうとかいろいろめんどくさい