Existe-t-il une raison pratique pour enregistrer les données de jeu dans% UserProfile% \ Documents au lieu de% AppData%?

33

Mon dossier de documents est inondé de sous-dossiers de divers jeux, y compris ceux de très récents titres AAA. En tant que développeur d'applications professionnel n'ayant aucune expérience dans le secteur des jeux, c'est tout simplement faux, ces fichiers appartiennent à% APPDATA% ou% LOCALAPDATA%.

Ma question est la suivante: existe-t-il une décision consciente de placer ces fichiers dans% UserProfile% \ Documents pour obtenir des avantages spécifiques, ou s'agit-il simplement d'un comportement hérité hérité de Windows XP? Ou y a-t-il une raison encore meilleure, telle que, par exemple, le fait que Steam demande ou recommande ceci ou qu'un moteur populaire le fasse par défaut?

Connexe: Dans quel répertoire écrire le jeu enregistrer fichiers / données? (pour éviter des discussions inutiles)

Peter
la source
4
@ Loren Non, une sauvegarde est un fichier / donnée spécifique à l'application = APPDATA. Les documents utilisateur sont des documents enregistrés consciemment par l'utilisateur. C'est comme ça que ces lieux sont définis.
Peter
1
On pourrait dire cela d'une manière ou d'une autre. Je m'attendrais à trouver des sauvegardes dans les documents, la configuration dans AppData.
Loren Pechtel
2
Comment les campagnes d'un jeu ne sont-elles pas des "documents enregistrés consciemment"? Et comment les documents Photoshop (PSD) ne sont-ils pas "spécifiques à une application"?
Damian Yerrick
4
Cela m'a fait de la peine pendant une longue période. Le dossier Documents est un endroit médiocre pour placer automatiquement des fichiers, qu'il s'agisse d'un emplacement approprié ou non. Le dossier "Mes documents" doit être réservé à MES documents que j'ai explicitement choisi de placer afin que je puisse garder une trace de mes affaires personnelles. Aucune donnée liée à la moitié du logiciel de mon système. Quel désordre impie! Je n'utilise même plus le dossier Documents. J'utilise le mien, sur un lecteur séparé, puis j'ai ce répertoire dans ma bibliothèque de documents et le répertoire par défaut est supprimé.
Logique floue

Réponses:

35

Non, pas vraiment.

Les développeurs de jeux n’ont pas toujours été doués pour respecter les conventions établies par un système d’exploitation. Bien que pour être juste, beaucoup de développeurs d’applications habituels ne le font pas non plus.

Les %AppData%dossiers et documents servent à enregistrer les données par utilisateur. La différence entre eux, aux fins de cette question, réside principalement dans le fait que %AppData%l'utilisateur ne devrait pas avoir besoin de voir ou d'interagir, et que le dossier de documents est destiné aux documents de l' utilisateur : éléments qu'il voudrait voir et interagir. .

Parfois, les jeux stockent leurs paramètres et enregistrent les fichiers dans le dossier de documents, ce qui les rend visibles. Ainsi, les utilisateurs moins avertis les verront et seront rassurés sur leur existence ou seront plus susceptibles de les sauvegarder correctement si leur méthode de sauvegarde est une méthode de sauvegarde éprouvée. brut, "copier le contenu de mon dossier utilisateur sur un autre lecteur".

Parfois, les jeux y stockent également des fichiers parce qu’ils n’ont pas modifié le comportement du code correspondant par rapport aux anciennes versions du système d’exploitation, ou tout simplement parce qu’ils ne se soucient guère de penser au problème.

C'est bête et généralement faux, mais c'est ce que c'est.

Josh
la source
2
Un autre avantage est que les utilisateurs peuvent installer des mondes, des packs de textures, etc. sans avoir à creuser dans% APPDATA%.
Bardi Harborow
14
Je me souviens que SPORE avait sauvegardé ses données dans mon dossier de documents au lieu de leur %appdata%retour. Lorsque j'ai regardé dans son dossier, mes créatures ont toutes été enregistrées en tant qu'images png, ce qui était assez étonnant et je pense que cela a été placé à dessein dans le dossier de documents, afin que les gens puissent facilement partager et télécharger plus de créatures et de véhicules. Cela dit, je ne comprends pas pourquoi les jeux qui utilisent uniquement un brut save.datdécident de mettre leurs affaires là-bas.
Gustavo Maciel
Il y a un bon récit quelque part sur la façon dont Spore a réussi, et j'aimerais pouvoir le trouver.
TankorSmash
2
Quelqu'un a demandé à ce sujet sur ce site ici ; Une des réponses fait référence à un article auquel vous pourriez penser (qui se trouve ici ).
Josh
6
Théoriquement, le meilleur plan d'action sur Vista ou plus récent consiste à utiliser SHGetKnownFolderPath(FOLDERID_SavedGames, 0, NULL, &path)qui est par défaut %UserProfile%\Saved Games. De cette façon, l'utilisateur peut facilement trouver et sauvegarder ses données de jeu sauvegardées, sans que cela ne gêne. Toutes les données autres que les progrès et / ou la configuration (par exemple, les shaders compilés, les ressources téléchargées ou optimisées pour la plate-forme, etc.) doivent aller dans appdata.
bcrist
18

En regardant mon disque, j'ai

  • 1 jeu qui sauve des sauvegardes dans %APPDATA%
  • 1 jeu qui sauve des sauvegardes dans %LOCALAPPDATA%
  • 2 jeux qui sauvent "autres choses" dans %APPDATA%
  • 3 jeux qui sauvent "autres choses" dans %LOCALAPPDATA%
  • 2 jeux qui sauvent des sauvegardes dans %UserProfile%\Saved Games
  • 21 Des jeux qui sauvent des sauvegardes et des tas d'autres choses %UserProfile%\Documentssans compter ...
  • 15 jeux qui sauvent des sauvegardes et des tas d'autres choses dans %UserProfile%\Documents\My Games

C'est un rapport de 1: 9 pour savegames être stockés dans %APPDATA%, %LOCALAPPDATA%, %UserProfile%\Saved Gamespar rapport %UserProfile%\Documents\*. Dans mon échantillon, les 4 jeux qui ne mettent pas de sauvegardes %UserProfile%\Documents\ou %UserProfile%\Documents\My Games\proviennent de petits studios. Je dois donc supposer que les grands studios avec des coûts de développement de plusieurs millions de dollars ont une raison de mettre tous leurs fichiers, y compris les fichiers temporaires %UserProfile%\Documents\*.

Bien que le comportement hérité puisse expliquer en partie cette situation, je ne pense pas que ce soit une raison suffisante pour justifier que tous les grands studios mettent leurs fichiers au mauvais endroit. Donc, il doit y avoir une meilleure raison.

La meilleure raison à laquelle je peux penser est de réduire les coûts de support client . Le problème est que %APPDATA%et %LOCALAPPDATA%sont des répertoires cachés, et personne ne semble savoir %UserProfile%\Saved Games. En plaçant les fichiers Documents, les studios peuvent économiser de l'argent sur les appels de support qui demandent comment sauvegarder des sauvegardes, ou comment migrer les sauvegardes d'un ordinateur à un autre. Exemples d’utilisateurs qui n’ont pas pu trouver de sauvegarde parce qu’ils se trouvaient %APPDATA% ici , ici , ici et ici .

Une autre raison pourrait être que les utilisateurs le demandent , comme dans cet exemple .

Peter
la source
1
Juste pour ajouter un autre point de données (et parce que j'étais curieux), les chiffres pour mon PC sont 19, 10, 10, 17, 6, 45 et 31. Il y a aussi 50 jeux avec sauvegardes et / ou autres données steam\userdataet 5 jeux avec des sauvegardes / données dans %ProgramData%. Cela ne comprend pas les jeux qui conservent toutes ces informations dans leur répertoire d'installation ou ont réussi à trouver un autre emplacement pour stocker des données ou des sauvegardes.
Ross Ridge
@ RossRidge Merci, c'est utile. Voyez-vous dans votre échantillon une tendance entre les jeux indépendants et les grands jeux en studio?
Peter
Il semble plus probable que les jeux indépendants soient dans l'une des quatre premières catégories, ne serait-ce que parce que c'est là que leur environnement d'exécution met des éléments (par exemple, Flash).
Ross Ridge
4

Je ne me soucie pas de rappeler le nombre de jeux que j'ai dû recommencer après une sauvegarde / restauration ou quelque chose de similaire, car j'ai déplacé tous mes fichiers importants de mes documents, mais j'ai totalement oublié les données des applications utilisateur telles que les fichiers de sauvegarde, car souvent avec les fichiers de programme ou d’autres lieux étranges (comme dans un dossier caché tel que appdata).

Personnellement, pour cette raison, j'aime bien l'avoir dans mes documents, même si je suis sûr que quelqu'un me dira de mettre en place un système de sauvegarde approprié au lieu de le faire manuellement.

Un peu de cohérence serait bien, et il serait encore plus agréable que des services comme Steam conservent des copies des fichiers de sauvegarde sur un réseau quelque part.

Patrick
la source
1
Steam dispose d’un stockage en nuage depuis 2009. Les développeurs doivent toutefois choisir de l’utiliser, et cela ne fonctionne que si l’utilisateur l’a activé. La plupart des jeux plus récents le supportent maintenant, mais beaucoup d'anciens ne le font toujours pas.
bcrist le
J'emploierai n'importe quelle excuse pour dire aux gens qu'ils doivent faire des sauvegardes, et j'aime aussi la cohérence, mais le répertoire de données d'application n'est pas un «endroit étrange» pour stocker des données d'application, le dossier de documents l'est. Le stockage de fichiers auxquels ils n'appartiennent pas rend la gestion de mes sauvegardes beaucoup plus difficile.
Marcks Thomas
0

D'après mon expérience personnelle, j'ai choisi de sauvegarder dans% UserProfile% car l'utilisateur disposait toujours d'un accès en lecture / écriture / modification sans avoir à modifier les autorisations.

Ce n'était pas vrai avec% APPDATA%. En particulier lorsque vous utilisez des comptes d'utilisateurs restreints, vous n'avez souvent pas d'accès en écriture aux fichiers créés par d'autres comptes à l'intérieur de% APPDATA%. J'imagine que les titres AAA ont fait leur choix pour les mêmes raisons que nous; nous ne voulions pas le mal de tête.

David
la source
3
Je suis presque sûr que vous obtenez APPDATA (C: \ Utilisateurs \ Nom d'utilisateur \ AppData) qui est accessible en écriture à l'utilisateur, mélangé à PROGRAMDATA (C: \ ProgramData) qui n'est souvent pas accessible à l'utilisateur. windows.microsoft.com/en-us/windows-8/what-appdata-folder
Patrick M
1
L'intérêt de% APPDATA% est qu'il est accessible en écriture à l'utilisateur. C'est spécifiquement là parce que C: \ Program Files n'est pas accessible en écriture à l'utilisateur.
Bardi Harborow
@ PatrickM Vous avez raison, je parlais de ProgramData. Désolé. Quel est le meilleur moyen d'obtenir la réponse supprimée?
David
0

De mon point de vue personnel en tant qu'utilisateur, je distingue principalement les données pour lesquelles je souhaite des sauvegardes et les données pour lesquelles je ne m'en soucie pas.

La création de sauvegardes incrémentielles de %LOCALAPPDATA%est un gâchis, car elle encombrerait la sauvegarde avec des dizaines de milliers de fichiers temporaires, dont beaucoup sont verrouillés par des services d'arrière-plan. Cela rend les sauvegardes lentes (surcharge de nombreux petits fichiers) et inutilement volumineuses (la modification fréquente de fichiers temporaires sabote la partie "incrémentielle"). Pour éviter cela, vous devez gérer manuellement une liste d'exclusions.

%APPDATA% est légèrement mieux, car il n'est pas censé contenir des fichiers temporaires tels que des caches - malheureusement, de toute façon, et la plupart des paramètres du programme ne justifient vraiment pas une sauvegarde.

En fin de compte, les parties sauvegardées sont un type de données avec lequel je souhaite interagir en tant qu’utilisateur, et elles %UserProfile%\AppDatane se prêtent pas à cela.

kdb
la source
-3

Pourquoi ne pas utiliser / "dossier d'installation du jeu" / savegame / comme les jeux plus anciens? Je n'ai jamais compris pourquoi mettre des sauvegardes dans des dossiers cachés ou même dans mes documents sur le lecteur système.

Autrefois, vous saviez toujours où étaient les sauvegardes.

Sektor
la source
3
Ce dossier est protégé en écriture. Vous devriez commencer votre jeu en tant qu'administrateur. Ceci est agaçant et n’est pas accessible à tous les utilisateurs (un parent souhaitant protéger son ordinateur contre l’installation de ses enfants, par exemple).
Vaillancourt
1
"game installation folder"est %ProgramFiles%\<gamename>. %ProgramFiles%est destiné à être modifié uniquement lors de l'installation / la désinstallation des programmes. Étant donné que les applications Windows XP / Vista écrivant dans ce répertoire doivent être exécutées en tant qu'administrateur, il est donc plus difficile pour un virus de remplacer word.exe par une version infectée de word.exe. Une autre raison est que Microsoft souhaitait que plusieurs utilisateurs puissent utiliser les mêmes programmes sans avoir à partager leurs fichiers personnels, dans ce cas des sauvegardes. Il existe d'autres / meilleurs moyens de résoudre ces problèmes, mais ils n'ont pas été choisis à ce moment-là.
Peter