Necesito una lista definitiva de directorios, uno o más por plataforma, de dónde colocar los archivos guardados del juego y otros datos generados por el juego . Ya sea según la especificación del desarrollador del sistema operativo o porque es de uso común si no hay una recomendación.
Por favor proporcionar una respuesta por la plataforma , con diferentes directorios. Además, el ejemplo de cómo obtener la ubicación del directorio en C ++ o C es el mejor , ya que es el lenguaje que tendrá más dificultades.
Ubicaciones:
- Datos del juego del jugador (juegos guardados, configuración).
- Datos de juego compartidos (como puntaje alto o configuración para todos los usuarios de computadoras).
- Datos temporales del juego (también conocido como directorio de caché).
Respuestas:
Windows (XP y siguientes)
Residencia en:
Estas ubicaciones suponen que Windows está instalado en el disco C:. Agregue su propio directorio con el nombre del juego o la compañía del juego y luego el nombre del juego a estos directorios.
Si usa la aplicación estilo Metro de Windows 8 , tendrá que usar una API específica en lugar de intentar llegar a los directorios. Leer:
Datos del juego del jugador
Windows Vista y siguientes:
Windows XP:
Puede obtener automáticamente la dirección correcta dependiente del nombre de usuario al obtener la
APPDATA
variable de entorno .Estándar C (todos los compiladores):
Visual Studio 20xx ( evite la advertencia getenv () que dice que no es seguro ) - no Metro Style:
Usuarios de Boost : en el momento en que escribo este boost.filesystem (que también es un borrador de la biblioteca del sistema de archivos propuesto para el próximo estándar C ++) aún no implementa una función para proporcionar el directorio correcto. Sin embargo, ha habido discusiones sobre esto antes . No dude en actualizar esta sección si las cosas cambian.
Datos compartidos del juego
Windows Vista y siguientes:
Windows XP:
Puede obtener automáticamente la dirección correcta al obtener la
PROGRAMDATA
variable de entorno .Estándar C (todos los compiladores):
Visual Studio 20xx ( evite la advertencia getenv () que dice que no es seguro ) - no Metro Style:
Usuarios de Boost : en el momento en que escribo este boost.filesystem (que también es un borrador de la biblioteca del sistema de archivos propuesto para el próximo estándar C ++) aún no implementa una función para proporcionar el directorio correcto. Sin embargo, ha habido discusiones sobre esto antes . No dude en actualizar esta sección si las cosas cambian.
Datos temporales del juego
Windows Vista y siguientes:
Windows XP:
Puede obtener automáticamente la dirección correcta al obtener la
TEMP
variable de entorno .Usuarios de C ++ Boost : hay una función simple de plataforma cruzada boost.filesystem para esto
Estándar C (todos los compiladores):
Visual Studio 20xx ( evite la advertencia getenv () que dice que no es seguro ) - no Metro Style:
fuente
Mac OS
Residencia en:
En el sistema operativo basado en Unix, el
~
directorio se ubica automáticamente en el directorio de inicio del usuario donde se encuentran los datos específicos del usuario. Esto significa que, sea cual sea el idioma, en estas plataformas puede acceder automáticamente a esta carpeta mediante el uso~
de una función específica del sistema operativo. También tenga en cuenta que/
es la ruta raíz de todo el sistema, no una ruta a la raíz del disco principal.Agregue su propio directorio con el nombre del juego o la compañía del juego y luego el nombre del juego a estos directorios.
Datos del juego del jugador
La guía de Apple es ubicar los archivos de guardar y configurar allí para que se guarden automáticamente en la nube si están disponibles:
Sin embargo, es mejor (y se usa con mayor frecuencia) localizar estos archivos en:
Solo sepa que en este caso los archivos no se guardarán automáticamente en la nube. Si quieres que el jugador elija, usa la API de la plataforma para que elija.
Datos compartidos del juego
Tenga en cuenta que no existe
~
, no es relativo al hogar del usuario sino a la raíz del sistema.Datos temporales del juego:
Si no es necesario mantener los datos entre ejecuciones:
Si los datos deben mantenerse entre ejecuciones;
Usuarios de C ++ Boost : hay una función simple de plataforma cruzada boost.filesystem para esto
fuente
~/Documents
. Eso es para que el usuario elija organizar; nunca debe escribir en una ruta fija dentro de Documentos. Tu juego debe usarse~/Library/Application Support/Your App Name/
para guardar y otros datos del usuario.Linux Debian (Ubuntu, Fedora, etc.)
Residencia en:
En el sistema operativo basado en Unix, el directorio ~ se ubica automáticamente en el directorio de inicio del usuario donde se encuentran los datos específicos del usuario. Esto significa que, sea cual sea el idioma, en estas plataformas puede acceder automáticamente a esta carpeta utilizando ~ en lugar de utilizar una función específica del sistema operativo. También tenga en cuenta que / es la ruta raíz de todo el sistema, no una ruta a la raíz del disco principal.
Agregue su propio directorio con el nombre del juego o la compañía del juego y luego el nombre del juego a estos directorios.
Datos del juego del jugador
Tradicionalmente, para el juego Aquaria sería:
Tenga en cuenta que los directorios y archivos que comiencen
.
estarán ocultos por defecto para el usuario.La mayoría de las computadoras de escritorio ahora intentan cumplir con la especificación XDG , que recomienda
o
para configuración y juegos guardados en su lugar.
Si
$XDG_CONFIG_HOME
no se establece el uso:o
Esto es principalmente para ordenar el directorio de inicio del usuario, así como para permitir a los usuarios ejecutar múltiples perfiles de una aplicación si lo consideran necesario. También hay otros directorios dedicados específicos de usuario en la especificación.
Datos compartidos del juego
Los archivos de configuración compartidos deben ubicarse en
Datos temporales del juego
fuente