Save System 기획 (세이브 시스템)

개요

본 프로젝트에서는 플레이어가 게임 내에서 이루어낸 다양한 활동과 진행 상황을 안정적으로 저장하고 불러올 수 있도록, 체계적인 세이브 시스템(Save System)을 구현하였다. 이 시스템은 플레이어의 선택과 성장 과정을 온전히 보존하고, 게임의 몰입도와 연속성을 유지하는 데 중추적인 역할을 한다. 갑작스러운 게임 종료나 예기치 못한 상황이 발생하더라도, 이전 상태로 복원이 가능하도록 설계함으로써 사용자 경험의 신뢰성과 만족도를 함께 높였다.

이 시스템은 다음과 같은 상황에서 플레이어 경험을 보장한다:


저장 방식

세이브 시스템은 수동 저장과 자동 저장을 병행 지원한다. 플레이어가 직접 저장을 선택할 수 있는 메뉴를 제공하는 한편, 게임 내 특정 조건(예: 맵 이동, 체크포인트 도달, 보스 전투 직후 등)이 충족되면 시스템이 자동으로 저장을 수행하도록 구성되어 있다. 이러한 이중 구조는 플레이어의 자유도와 안전성을 높이는데 목적이 있다.

저장 방식은 클라이언트-서버 구조를 기반으로 하며, 클라이언트는 정해진 주기에 따라 현재 게임 상태를 JSON 형태로 서버에 전송하고, 서버는 이를 파싱하여 데이터베이스에 안전하게 저장한다. 이 구조는 클라이언트 조작이나 치트 행위로부터 데이터를 보호하고, 서버 중심의 안정적이고 지속적인 데이터 관리를 가능하게 한다.


세이브 슬롯 시스템

플레이어는 하나의 계정에 대해 여러 개의 세이브 슬롯을 보유할 수 있으며, 각 슬롯은 서로 완전히 독립된 게임 상태를 저장한다. 이를 통해 사용자는 다양한 시나리오를 동시에 실험하거나, 특정 지점으로부터 다시 도전하는 자유로운 플레이가 가능하다.

각 슬롯은 저장 시각, 게임 내 시간, 플레이어 상태 요약 등의 메타데이터와 함께 저장된다. 클라이언트는 이를 기반으로 저장 리스트를 시각적으로 구성할 수 있고 이를 통해 이 멀티 엔딩, 루트 분기, 스토리 재진입 등 복잡한 게임 구조를 구현하는 데에도 효과적으로 구현 가능하다.


저장 항목

세이브 시스템은 다음과 같은 정보를 포함하여 저장한다: