為什麼單機遊戲存檔位置常常會位於用戶文檔里,而不是遊戲安裝的根目錄下呢?

似乎大部分單機遊戲都會在"C:用戶UserName"的位置創建一個由遊戲製作公司命名的文件夾,把遊戲存檔文件儲存在這裡。為什麼要選擇這種存檔路徑,而不是儲存在遊戲安裝的根目錄下呢?兩種存檔路徑的選擇有優劣之分么?


你會允許別的用戶玩的你的存檔么


繼續補充。

不僅是遊戲,很多軟體的配置文件部分都開始放到了%AppData%文件夾裡面,詳見微軟官網的一份說明:

What is the AppData folder?

Applies to Windows 8.1, Windows RT 8.1

The AppData folder contains app settings, files, and data specific to the apps on your PC. The folder is hidden by default in File Explorer, and has three hidden sub-folders: Local, LocalLow, and Roaming.

  • Roaming. This folder (%appdata%) contains data that can move with your user profile from PC to PC—like when you』re on a domain—because this data has the ability to sync with a server. For example, if you sign in to a different PC on a domain, your web browser favorites or bookmarks will be available.

  • Local. This folder (%localappdata%) contains data that can"t move with your user profile. This data is typically specific to a PC or too large to sync with a server. For example, web browsers usually store their temporary files here.

  • LocalLow. This folder (%appdata%/…/locallow) contains data that can"t move, but also has a lower level of access. For example, if you"re running a web browser in a protected or safe mode, the app will only be able access data from the LocalLow folder.

The apps themselves choose whether to save to the Local, LocalLow, or Roaming folders. Most desktop apps use the Roaming folder by default, while most Windows Store apps use the Local folder by default.

Warning

  • We don"t recommend moving, deleting, or making any changes to files or folders in the AppData folder. Doing so could make your apps run poorly or stop working entirely.

%AppData%下屬的Roaming(漫遊)文件夾主要存放比較小的,方便與伺服器同步的文件,遊戲存檔一般放於此處,還比如瀏覽器的書籤。

Local文件夾里存放的是體積較大,不隨用戶遷移的文件,比如瀏覽器的臨時文件。

LocalLow與Local的區別在於,前者存放的文件的訪問優先順序更低,比如瀏覽器安全模式(無痕模式)下的臨時文件。

個人認為配置文件(存檔)的保存路徑從根目錄到%AppData%的變化是一種進步。

雖然馮諾伊曼結構提出程序與數據要一視同仁地存儲在同一個介質上,但我們還是有必要在邏輯上加以區分。將配置文件統一存放在%AppData%實現了數據(存檔)與程序(根目錄里的源程序)的分離,對保護用戶的個人數據,增強程序的穩定性有著一定的作用。


補充,絕大多數玩家在玩遊戲的時候並不知道自己的存檔文件在哪,這樣當他們玩完一款遊戲刪掉本體的時候,或者遊戲文件出錯重裝,存檔都會保留下來,以便資料片或DLC出了以後重新安裝接著玩,或者二周目,甚至發行新代遊戲後繼承前代存檔。


除了讓每個用戶有自己專用的存檔和設定外,這麼做還是符合windows系統提倡的軟體標準。

就像qq最初也是在程序文件下保存user文件,後來都改到系統文檔里。

程序和設定分離,系統邏輯區分更明確。

程序直接修改程序目錄也需要更高的許可權。(求證實)


原來如此啊。一直有這個疑惑,現在樓上都給解決了。

確實,遊戲存檔在默認的C盤賬戶目錄下是比較安全,而且通用來說。

這個用戶刪掉一款遊戲,再下這款遊戲,存檔還在這款電腦上。

我也發現大部分遊戲都是這樣子做的。我玩了好幾款遊戲都是這樣子的。

都是在/Users/Administrator/AppData/Local/這個目錄下的比較多。


推薦閱讀:

你為何成為任粉?
關於魔獸世界熊貓人之謎劇情的問題?
如何評價張宏聖?
FC遊戲機手柄工作原理 ?
遊戲作為第九藝術的傳達能力是否受限?

TAG:用戶體驗 | 遊戲 | 單機遊戲 | 文件系統 |