Mi carpeta de documentos está inundada de subcarpetas de varios juegos, incluidos los de algunos títulos AAA muy recientes. Como desarrollador de aplicaciones profesional sin experiencia en la industria del juego, esto es simplemente incorrecto, estos archivos pertenecen a% APPDATA% o% LOCALAPDATA%.
Mi pregunta es, ¿hay una decisión consciente de poner estos archivos en% UserProfile% \ Documents para obtener algunos beneficios específicos, o es solo un comportamiento heredado que se trasladó desde los días de Windows XP? ¿O hay una razón aún mejor como, por ejemplo, Steam que requiere o recomienda esto, o un motor popular que lo hace por defecto?
Relacionado: ¿ En qué directorio escribir juegos guardar archivos / datos? (para evitar discusiones sin sentido)
Respuestas:
No en realidad no.
Los desarrolladores de juegos no han sido tradicionalmente buenos en respetar las convenciones establecidas por un sistema operativo. Aunque para ser justos, muchos desarrolladores de aplicaciones regulares tampoco lo hacen.
Las
%AppData%
carpetas y documentos son para guardar datos por usuario. La diferencia entre ellos, a los fines de esta pregunta, es principalmente%AppData%
donde las cosas que el usuario no debería necesitar para ver o interactuar van, y la carpeta de documentos es para los documentos del usuario : cosas que les gustaría ver e interactuar .Los juegos a veces almacenan sus configuraciones y guardan archivos en la carpeta de documentos porque los hace visibles, por lo que los usuarios menos técnicos los verán y se sentirán seguros de que existen, o será más probable que los respalden correctamente si su método de respaldo es un crudo, "copiar las cosas en mi carpeta de usuario a otra unidad".
Los juegos también a veces almacenan archivos allí porque no han cambiado el comportamiento del código relevante de las versiones anteriores del sistema operativo, como sospechas, o simplemente porque no les importa pensar demasiado en el problema.
Es tonto y generalmente está mal, pero es lo que es.
fuente
%appdata%
posterior cuando los obtuve. Cuando busqué en su carpeta, todas mis criaturas se guardaron como imágenes png, eso fue bastante sorprendente, y creo que se colocó en la carpeta de documentos a propósito, para que las personas puedan compartir y descargar fácilmente más criaturas y vehículos. Dicho esto, no tengo idea de por qué los juegos que solo usan un crudosave.dat
deciden poner sus cosas allí.SHGetKnownFolderPath(FOLDERID_SavedGames, 0, NULL, &path)
que por defecto es%UserProfile%\Saved Games
. De esa forma, el usuario puede encontrar y hacer una copia de seguridad de sus datos guardados fácilmente, pero no se interpondrá en el camino. Cualquier información que no sea progreso y / o configuración (por ejemplo, sombreadores compilados, activos optimizados o descargados de la plataforma, etc.) debe ir en los datos de aplicación.Mirando mi disco, tengo
%APPDATA%
%LOCALAPPDATA%
%APPDATA%
%LOCALAPPDATA%
%UserProfile%\Saved Games
%UserProfile%\Documents
, sin contar ...%UserProfile%\Documents\My Games
Eso es una relación de 1: 9 para partidas guardadas de ser almacenados en
%APPDATA%
,%LOCALAPPDATA%
,%UserProfile%\Saved Games
frente%UserProfile%\Documents\*
. En mi muestra, los 4 juegos que no guardan partidas guardadas%UserProfile%\Documents\
o%UserProfile%\Documents\My Games\
son de pequeños estudios. Así que debo asumir que los grandes estudios con costos de desarrollo multimillonarios tienen una razón para poner todos sus archivos, incluidos los archivos temporales%UserProfile%\Documents\*
.Si bien el comportamiento heredado puede explicar algo de esto, no creo que sea una razón lo suficientemente sólida como para dar cuenta de que cada estudio importante coloca sus archivos en el lugar incorrecto. Entonces tiene que haber una mejor razón.
La mejor razón por la que puedo pensar es para reducir el costo de la atención al cliente . El problema es eso
%APPDATA%
y%LOCALAPPDATA%
son directorios ocultos, y nadie parece saberlo%UserProfile%\Saved Games
. Al colocar los archivosDocuments
, los estudios pueden ahorrar dinero en llamadas de soporte que preguntan cómo hacer una copia de seguridad de los juegos guardados, o cómo migrar los juegos guardados de una máquina a otra. Ejemplos de usuarios que no pudieron encontrar juegos guardados porque estaban ubicados%APPDATA%
aquí , aquí , aquí y aquí .Otra razón podría ser porque los usuarios lo solicitan , como sucede en este ejemplo .
fuente
steam\userdata
y 5 juegos con guardar / datos en%ProgramData%
. Esto no cuenta ningún juego que mantenga todo esto en su directorio de instalación o que haya logrado encontrar otro lugar para almacenar datos o guardarlos.No me importa recordar la cantidad de juegos que tuve que volver a comenzar después de una copia de seguridad / restauración o algo similar porque moví todos mis archivos importantes de mis documentos, pero olvidé por completo los datos de las aplicaciones de usuario, como guardar archivos porque a menudo en los archivos de programa u otros lugares extraños (como en una carpeta oculta como appdata).
Personalmente, por este motivo, me gusta tenerlo en mis documentos, aunque estoy seguro de que alguien me dirá que solo obtenga un sistema de respaldo adecuado en lugar de hacerlo manualmente.
Sería bueno tener un poco de consistencia, e incluso mejor sería que servicios como Steam guarden copias de los archivos guardados en una red en algún lugar.
fuente
Desde mi propia experiencia personal, elegí guardar en% UserProfile% porque el usuario siempre tenía acceso de lectura / escritura / modificación sin tener que cambiar ninguno de los permisos.
Esto no era cierto con% APPDATA%. Particularmente cuando usa cuentas de usuario restringidas, a menudo no tiene acceso de escritura a los archivos creados por otras cuentas dentro de% APPDATA%. Me imagino que los títulos de AAA hicieron la elección por la misma razón que nosotros; No queríamos el dolor de cabeza.
fuente
Desde mi perspectiva personal como usuario, distingo principalmente entre los datos de los que quiero copias de seguridad y los datos que no me importan.
Crear copias de seguridad incrementales de
%LOCALAPPDATA%
es un desastre, ya que saturará la copia de seguridad con decenas de miles de archivos temporales, muchos de los cuales están bloqueados por servicios en segundo plano. Esto hace que las copias de seguridad sean lentas (sobrecarga de muchos archivos pequeños) e innecesariamente grandes (los archivos temporales que cambian con frecuencia sabotean la parte "incremental"). Prevenir esto requiere mantener manualmente una lista de exclusión.%APPDATA%
es un poco mejor, ya que no se supone que contenga archivos temporales como cachés, lamentablemente lo hace de todos modos, y muchas de las configuraciones del programa realmente no garantizan una copia de seguridad.En última instancia, los juegos guardados son un tipo de datos con los que quiero interactuar como usuario, y
%UserProfile%\AppData
eso no se presta a eso.fuente
¿Por qué no usar / "carpeta de instalación del juego" / savegame / como lo hicieron los juegos más antiguos? Nunca entendí por qué poner juegos guardados en una carpeta oculta o incluso en mis documentos en la unidad del sistema.
En los viejos tiempos siempre sabías dónde estaban los juegos guardados.
fuente
"game installation folder"
es%ProgramFiles%\<gamename>
.%ProgramFiles%
está destinado a ser modificado solo durante la instalación / desinstalación de programas. Dado que las aplicaciones de Windows XP / Vista que escriben en ese directorio deben ejecutarse como administrador, para que sea más difícil, por ejemplo, que un virus reemplace word.exe con una versión infectada de word.exe. Otra razón es que Microsoft quería que varios usuarios pudieran usar los mismos programas sin tener que compartir sus archivos personales, en este caso los juegos guardados. Hay otras / mejores formas de abordar estos problemas, pero no se eligieron en ese momento.