Saltar al contenido principal

Save Data Simulator

Utiliza el Save Data Simulator para inspeccionar los valores guardados de tu juego, comprobar el espacio disponible y probar los mensajes que los jugadores ven cuando se guarda o se produce un error de carga. Utiliza el archivo de guardado de Play Mode del editor.

Abre View > Save Data Simulator con un proyecto cargado.

Save Data Simulator con un archivo de guardado vacío, capacidad, simulación de fallos y controles de edición

Un archivo de guardado nuevo del editor con cero entradas. Add / Set edita un valor, Flush Atomically guarda los valores actuales y Failure Simulation permite probar los mensajes de error de guardado.

Abre la imagen para verla a tamaño completo.

Capacidad de guardado​

El simulador informa de los límites impuestos tanto por el editor Play Mode como por el tiempo de ejecución de PS1:

LímiteValor
Entradas32 máximo
Longitud de clave1-31 octetos
Longitud del valor0-63 octetos
AsignaciónUn bloque de tarjeta de memoria de 8 KB

El indicador de carga útil incluye los registros de entrada serializados fijos, por lo que es una señal de mejor capacidad que sumar solo las longitudes de cadena visibles.

Para PlayerPrefs, el límite de las claves es de 28 bytes y el de los valores de texto es de 61 bytes. El simulador muestra estas entradas con el prefijo pp: y un indicador de tipo. Usa la API de PlayerPrefs para editar valores tipados en los scripts. Ambas API comparten la capacidad de 32 entradas.

Inspecciona y edita los valores en memoria​

Las entradas existentes se enumeran en orden de clave. Puede editar un valor, eliminar una entrada o usar Add / Set para crear o reemplazar una clave.

ComandoResultados
Reload from DiskReemplaza el espejo en memoria por el último guardado del editor que haya persistido.
Flush AtomicallyEscribe el espejo completo a través de una operación de reemplazo atómico.
Clear MirrorBorra los valores de la copia en memoria; el borrado no se guarda en disco hasta ejecutar Flush.
Show FileRevela Build/EditorPlay/editor_play_savedata.json.

La edición del simulador cambia el mismo espejo utilizado por los scripts Play Mode. No edite el archivo JSON a mano mientras el editor está abierto; usa el simulador o la API de scripting pública para que la validación y las escrituras atómicas permanezcan activas.

Failure Simulation​

Elige un modo Failure Simulation antes de ejercer un flujo de guardado o de carga:

  • Memory card absent hace que las operaciones del dispositivo fallen como si no se hubiera insertado ninguna tarjeta.
  • Memory card full reproduce un fallo de capacidad de escritura.
  • Corrupt save on reload permite probar la validación y la recuperación cuando los datos guardados son ilegibles.

La ventana muestra el último resultado SaveData. Los scripts aún deben verificar la operación directamente y obtener el mensaje procesable con SaveData.GetLastError():

local saveStatusId = -1

function Start(gameObjectId)
saveStatusId = UI.Find("Save Status")
end

function SaveProgress()
if not PlayerPrefs.SetInt("chapter", 3) or not PlayerPrefs.Save() then
Log.Print("Save failed: " .. SaveData.GetLastError())
Text.SetText(saveStatusId, "Could not save")
return false
end

Text.SetText(saveStatusId, "Progress saved")
return true
end

Matriz de prueba​

Antes de publicar un proyecto, comprueba al menos:

  1. primera ejecución sin un archivo de guardado existente;
  2. guardado normal, reinicio y carga;
  3. sobrescribir un guardado existente;
  4. restablecer a través de PlayerPrefs.DeleteAll() sin borrar entradas SaveData sin procesar no relacionadas;
  5. tarjeta ausente y tarjeta llena;
  6. una recarga de guardado corrupto y una ruta de recuperación legible por el jugador; y
  7. los mismos escenarios en DuckStation y hardware real o una ODE.

Consulta PlayerPrefs y SaveData para ver el contrato de scripting completo.