Godotに限らない話なんだけど
セーブとロードの仕組みって
 ゲームの進行で変化する値を
 ステージとかマップ座標とか各キャラステータスとか並び順とかこなしたイベントとか
 全部辞書変数とかに格納して
 JSONとかの形に外部に出力
 ロードする時は読み込んだ値を1つずつ所定の変数に放り込んで
 ゲーム開始処理も変数の値に基づいて
 「このマップのこの座標に遷移」
 「先頭のキャラはこれでHPがこうで状態異常がこう」
 「宝箱はこのマップのこれ以外は全部開けてる」
 とか再現するように関数作る
って感じであってる?

調べても仕組みがどうもピンと来なくて、エラー吐かれたらお手上げするしか無いなってなかなか手出せなくて……