レベルの概念の実装はかなり異なりますが、2つの一般的な手法が思い浮かびます。
ほとんどのオープンゲームは、レベル/進行状況がプレーヤーの内部状態にすぎないものであり、通常の実装では、ゲームアセットがプレーヤーの状態に追いつくようにします(レベルが「ドック内」で始まる場合、ゲームが開始しますそこに置くと、ロードが開始されます。)ゲームは、すべてのアセットのロードが完了するまで待機してから、「ロード」状態に切り替えます。
他の一般的な手法は、レベルをより明確にすることです。読み込まれるレベルは、プレーヤーのセッション情報から取得されますが、レベルをゲームに読み込んでから、エンティティを開始点に配置します。これは、ゲームの舞台となる文字通りのレベルを持つゲームの標準です。これらのスタイルのゲームのセーブゲームは、レベルの開始条件との違いのみを保存する傾向があります。
ご覧のとおり、これらはどちらもレベルごとにゲーム状態がないことを意味しているわけではなく、レベルがプレーヤーのセッション情報に追いついているか、アセットがレベルに明示的に読み込まれ、プレーヤーがそのレベルに配置されていることだけです。
サイドスクローラーでは、これはレベルインデックス/ IDを含むセッション情報として取得され、そのレベルがゲームスターに読み込まれます。レベルインデックスが変更されると、あるレベルから次のレベルに移動するために必要なすべての情報を保存し、現在のレベルを解放して新しいレベルをロードし、最後に保存した状態にします。
ポイントやゲームの進行状況は通常、セッション情報によって管理されます。セッション情報には通常、現在のライフ、スコア、プレイ時間は含まれますが、レベル内の情報(健康レベル、速度、画面上の弾丸の数など)は含まれません。この分離は、レベルが常に場所にマッピングされているゲーム(たとえば、場所を再訪するゲーム)では重要ですが、線形ゲームでも思考を単純化するのに役立ちます。