มีเหตุผลจริงในการบันทึกข้อมูลเกมใน% UserProfile% \ Documents แทน% AppData% หรือไม่


33

โฟลเดอร์เอกสารของฉันเต็มไปด้วยโฟลเดอร์ย่อยของเกมต่างๆรวมถึงเกม AAA ล่าสุดบางเกม ในฐานะนักพัฒนาแอปพลิเคชั่นมืออาชีพที่ไม่มีประสบการณ์ในอุตสาหกรรมเกมนี่เป็นความผิดพลาดธรรมดาไฟล์เหล่านี้อยู่ใน% APPDATA% หรือ% LOCALAPDATA%

คำถามของฉันคือมีการตัดสินใจอย่างมีสติในการวางไฟล์เหล่านี้ใน% UserProfile% \ Documents เพื่อรับผลประโยชน์ที่เฉพาะเจาะจงหรือเป็นพฤติกรรมแบบดั้งเดิมที่สืบทอดมาจากยุคของ Windows XP หรือไม่ หรือมีเหตุผลที่ดีกว่าอย่างเช่น Steam ที่ต้องการหรือแนะนำสิ่งนี้หรือเครื่องมือยอดนิยมที่ทำสิ่งนี้โดยค่าเริ่มต้น

ที่เกี่ยวข้อง: ในไดเรกทอรีใดที่จะเขียนไฟล์และข้อมูลเกม? (เพื่อหลีกเลี่ยงการสนทนาที่ไม่มีจุดหมาย)



4
@Loren ไม่เกมสำหรับบันทึกเป็นไฟล์ / ข้อมูลเฉพาะแอปพลิเคชัน = APPDATA เอกสารผู้ใช้เป็นเอกสารที่บันทึกโดยผู้ใช้ นั่นคือวิธีการกำหนดสถานที่เหล่านี้
ปีเตอร์

1
ใคร ๆ ก็เถียงกันเช่นนี้ ฉันคาดว่าจะพบการบันทึกในเอกสารการกำหนดค่าใน AppData
Loren Pechtel

2
แคมเปญในเกมไม่ใช่ "บันทึกเอกสารอย่างมีสติ"? และเอกสาร Photoshop (PSD) ไม่ใช่ "แอปพลิเคชันเฉพาะ" หรือไม่
Damian Yerrick

4
สิ่งนี้ทำให้ฉันรำคาญใจมาเป็นเวลานาน โฟลเดอร์เอกสารเป็นสถานที่ที่ไม่ดีที่จะวางไฟล์โดยอัตโนมัติไม่ว่าจะเป็นตำแหน่งที่เหมาะสมสำหรับพวกเขาหรือไม่ ควรจองโฟลเดอร์ 'เอกสารของฉัน' สำหรับเอกสารของฉันที่ฉันเลือกไว้ที่นั่นอย่างชัดเจนดังนั้นฉันสามารถติดตามสิ่งของส่วนตัวของฉันเองได้ ไม่ใช่ข้อมูลที่เกี่ยวข้องกับซอฟต์แวร์ครึ่งหนึ่งในระบบของฉัน ช่างเป็นระเบียบอะไร! ฉันไม่ได้ใช้โฟลเดอร์เอกสารอีกต่อไป ฉันใช้ของตัวเองในไดรฟ์ที่แยกต่างหากจากนั้นฉันมีไดเรกทอรีนั้นในไลบรารีเอกสารของฉันและมีการลบค่าเริ่มต้น
Fuzzy Logic

คำตอบ:


35

ไม่ไม่ได้จริงๆ

ผู้พัฒนาเกมยังไม่ได้รับความเคารพในการประชุมที่สร้างขึ้นโดยระบบปฏิบัติการ แม้ว่าจะมีความยุติธรรมนักพัฒนาแอปพลิเคชันทั่วไปจำนวนมากก็ไม่สามารถทำได้เช่นกัน

%AppData%และเอกสารโฟลเดอร์สำหรับการบันทึกข้อมูลต่อผู้ใช้ ความแตกต่างระหว่างพวกเขาเพื่อจุดประสงค์ของคำถามนี้%AppData%คือสิ่งที่ผู้ใช้ไม่จำเป็นต้องเห็นหรือโต้ตอบกับไปและโฟลเดอร์เอกสารสำหรับเอกสารของผู้ใช้ : สิ่งที่พวกเขาต้องการเห็นและโต้ตอบกับ .

บางครั้งเกมจะจัดเก็บการตั้งค่าและบันทึกไฟล์ในโฟลเดอร์เอกสารเพราะทำให้มองเห็นได้ดังนั้นผู้ใช้ด้านเทคนิคจะเห็นและมั่นใจว่ามีอยู่น้อยลงหรือมีแนวโน้มที่จะสำรองข้อมูลอย่างถูกต้องหากวิธีการสำรองข้อมูลเป็น หยาบ "คัดลอกเนื้อหาในโฟลเดอร์ผู้ใช้ของฉันไปยังไดรฟ์อื่น"

บางครั้งเกมจะเก็บไฟล์ไว้ที่นั่นเพราะพวกเขาไม่ได้เปลี่ยนพฤติกรรมของรหัสที่เกี่ยวข้องจากระบบปฏิบัติการรุ่นเก่าอย่างที่คุณสงสัยหรือเพียงเพราะพวกเขาไม่สนใจที่จะคิดเกี่ยวกับปัญหาที่เกิดขึ้นมาก

มันโง่และมักผิด แต่มันคืออะไร


2
ข้อดีอีกอย่างคือผู้ใช้สามารถติดตั้งโลกแพ็คพื้นผิวและอื่น ๆ โดยไม่ต้องขุดใน% APPDATA%
Bardi Harbourow

14
ฉันจำ SPORE บันทึกข้อมูลลงในโฟลเดอร์เอกสารของฉันแทน%appdata%ด้านหลังเมื่อฉันได้รับ เมื่อฉันมองเข้าไปในโฟลเดอร์ของมันสิ่งมีชีวิตของฉันทั้งหมดได้รับการบันทึกเป็นภาพ png ซึ่งน่าทึ่งมากและฉันคิดว่ามันถูกวางไว้ในโฟลเดอร์เอกสารโดยมีจุดประสงค์เพื่อให้ผู้คนสามารถแบ่งปันและดาวน์โหลดสิ่งมีชีวิตและยานพาหนะได้ง่ายขึ้น ด้วยที่กล่าวมาฉันไม่รู้ว่าทำไมเกมที่ใช้การsave.datตัดสินใจอย่างหยาบ ๆ เพียงนำสิ่งของของพวกเขาไปที่นั่น
Gustavo Maciel

มีบทความดีๆเกี่ยวกับวิธีที่สปอร์ดึงออกมาหวังว่าฉันจะหามันเจอ
TankorSmash

2
ใครบางคนถามเกี่ยวกับเรื่องนี้ในเว็บไซต์นี้ที่นี่ ; หนึ่งในคำตอบอ้างอิงถึงบทความที่คุณอาจนึกถึง (ซึ่งอยู่ที่นี่ )
Josh

6
ในทางทฤษฎีหลักสูตรที่ดีที่สุดของการดำเนินการใน Vista หรือใหม่กว่าคือการใช้งานซึ่งเริ่มต้นคือSHGetKnownFolderPath(FOLDERID_SavedGames, 0, NULL, &path) %UserProfile%\Saved Gamesวิธีนี้ทำให้ผู้ใช้สามารถค้นหาและสำรองข้อมูลเกมที่บันทึกไว้ได้อย่างง่ายดาย แต่จะไม่สามารถเข้าถึงได้ ข้อมูลอื่นใดที่นอกเหนือจากความคืบหน้าและ / หรือการกำหนดค่า (เช่นการรวบรวมข้อมูลการเพิ่มประสิทธิภาพแพลตฟอร์มหรือสินทรัพย์ที่ดาวน์โหลด ฯลฯ ) ควรอยู่ใน appdata
bcrist

18

ฉันมองดิสก์ของฉัน

  • 1 เกมที่ช่วยเซฟเกมใน %APPDATA%
  • 1 เกมที่ช่วยเซฟเกมใน %LOCALAPPDATA%
  • 2 เกมที่บันทึก "สิ่งอื่น ๆ " ใน %APPDATA%
  • 3 เกมที่บันทึก "สิ่งอื่น ๆ " ใน %LOCALAPPDATA%
  • 2 เกมที่บันทึก savegames ใน %UserProfile%\Saved Games
  • 21 เกมที่บันทึก savegames และสิ่งอื่น ๆ อีกมากมาย%UserProfile%\Documentsไม่นับ ...
  • 15 เกมที่ช่วยเซฟเกมและโหลดสิ่งอื่น ๆ %UserProfile%\Documents\My Games

นั่นเป็นอัตราส่วน 1: 9 สำหรับ savegames ถูกเก็บไว้ใน%APPDATA%, %LOCALAPPDATA%, เมื่อเทียบกับ%UserProfile%\Saved Games %UserProfile%\Documents\*ในตัวอย่างของฉันเกมทั้ง 4 เกมที่ไม่ได้ใส่ savegames ไว้ใน%UserProfile%\Documents\หรือ%UserProfile%\Documents\My Games\มาจากสตูดิโอเล็ก ๆ ดังนั้นฉันต้องสมมติว่าสตูดิโอขนาดใหญ่ที่มีค่าใช้จ่ายในการพัฒนาหลายล้านมีเหตุผลในการวางไฟล์ทั้งหมดของพวกเขารวมถึงไฟล์ temp %UserProfile%\Documents\*ด้วย

ในขณะที่พฤติกรรมดั้งเดิมสามารถอธิบายบางอย่างนี้ฉันไม่คิดว่ามันเป็นเหตุผลที่แข็งแกร่งพอที่จะบัญชีสำหรับสตูดิโอใหญ่ ๆ ทุกแห่งวางไฟล์ของพวกเขาผิดที่ ดังนั้นจะต้องมีเหตุผลที่ดีกว่า

เหตุผลที่ดีที่สุดที่ฉันสามารถคิดเป็นลดค่าใช้จ่ายของการสนับสนุนลูกค้า ปัญหาคือว่า%APPDATA%และจะถูกซ่อนไว้ไดเรกทอรีและดูเหมือนไม่มีใครรู้เกี่ยวกับ%LOCALAPPDATA% %UserProfile%\Saved Gamesการวางไฟล์ในDocumentsสตูดิโอสามารถประหยัดค่าใช้จ่ายในการโทรเพื่อขอความช่วยเหลือในการสำรองข้อมูล savegames หรือวิธีโอนย้าย savegames จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง ตัวอย่างของผู้ใช้ที่ไม่สามารถหา savegames เพราะพวกเขาอยู่ใน%APPDATA% ที่นี่ , ที่นี่ , ที่นี่และที่นี่ที่นี่

อีกสาเหตุหนึ่งอาจเป็นเพราะผู้ใช้ขอเช่นเดียวกับที่เกิดขึ้นในตัวอย่างนี้


1
เพียงเพื่อเพิ่มจุดข้อมูลอื่น (และเพราะฉันอยากรู้อยากเห็น) การนับสำหรับพีซีของฉันคือ 19, 10, 10, 17, 6, 45 และ 31 นอกจากนี้ยังมี 50 เกมที่มีเกมบันทึกและ / หรือข้อมูลอื่น ๆ ในsteam\userdataและ 5 เกม กับบันทึกข้อมูล / %ProgramData%ใน สิ่งนี้จะไม่นับเกมใด ๆ ที่เก็บทุกสิ่งนี้ไว้ในไดเรกทอรีการติดตั้งหรือมีการจัดการเพื่อค้นหาสถานที่อื่น ๆ เพื่อเก็บข้อมูลหรือบันทึก
Ross Ridge

@RossRidge ขอบคุณว่ามีประโยชน์ ในตัวอย่างของคุณคุณเห็นแนวโน้มของเกมอินดี้กับเกมสตูดิโอขนาดใหญ่หรือไม่?
ปีเตอร์

ดูเหมือนว่าเกมอินดี้น่าจะอยู่ในหมวดหมู่สี่หมวดหมู่แรกหากเพียงเพราะนั่นคือสิ่งที่สภาพแวดล้อมรันไทม์ของพวกเขาวางเนื้อหา (เช่น Flash)
Ross Ridge

4

ฉันไม่สนใจที่จะจำจำนวนเกมที่ฉันต้องเริ่มต้นใหม่หลังจากสำรอง / กู้คืนหรือสิ่งที่คล้ายกันเพราะฉันย้ายไฟล์สำคัญทั้งหมดของฉันจากเอกสารของฉัน แต่ลืมไปโดยสิ้นเชิงเกี่ยวกับข้อมูลแอปพลิเคชันผู้ใช้เช่นบันทึกไฟล์เพราะ มักจะอยู่ในไฟล์โปรแกรมหรือสถานที่แปลก ๆ (เช่นในโฟลเดอร์ที่ซ่อนอยู่เช่น appdata)

โดยส่วนตัวด้วยเหตุผลนี้ฉันชอบเก็บไว้ในเอกสารของฉันแม้ว่าฉันจะแน่ใจว่ามีบางคนจะบอกให้ฉันได้รับระบบสำรองข้อมูลที่เหมาะสมแทนการทำด้วยตนเอง

ความสอดคล้องเล็กน้อยจะดีและแม้จะดีกว่าสำหรับบริการอย่าง Steam เพื่อเก็บสำเนาของไฟล์บันทึกในเครือข่ายที่ใดที่หนึ่ง


1
Steam มีที่เก็บข้อมูลบนคลาวด์มาตั้งแต่ปี 2009 ซึ่งกำหนดให้นักพัฒนาซอฟต์แวร์ต้องเลือกใช้และจะใช้งานได้ก็ต่อเมื่อผู้ใช้เปิดใช้งาน เกมที่ใหม่กว่าส่วนใหญ่ตอนนี้รองรับ แต่หลายเกมที่เก่ากว่ายังไม่ทำ
bcrist

ฉันจะใช้ข้ออ้างใด ๆ เพื่อบอกผู้คนว่าพวกเขาต้องทำการสำรองข้อมูลและฉันก็ชอบความสอดคล้องเช่นกัน แต่ไดเรกทอรีข้อมูลแอปพลิเคชันไม่ใช่ 'สถานที่แปลกประหลาด' ในการจัดเก็บข้อมูลแอปพลิเคชันโฟลเดอร์เอกสารคือ การจัดเก็บไฟล์ที่พวกเขาไม่ได้อยู่นั้นทำให้ฉันจัดการการสำรองข้อมูลได้ยากขึ้นมาก
Marcks Thomas

0

จากประสบการณ์ส่วนตัวของฉันฉันเลือกที่จะบันทึกลงใน% UserProfile% เนื่องจากผู้ใช้มีการอ่าน / เขียน / แก้ไขการเข้าถึงโดยไม่ต้องเปลี่ยนสิทธิ์ใด ๆ

สิ่งนี้ไม่เป็นความจริงกับ% APPDATA% โดยเฉพาะอย่างยิ่งเมื่อใช้บัญชีผู้ใช้ที่ถูก จำกัด คุณมักจะไม่มีสิทธิ์ในการเขียนไฟล์ที่สร้างโดยบัญชีอื่นภายใน% APPDATA% ฉันจินตนาการว่าชื่อ AAA ได้เลือกด้วยเหตุผลเดียวกันกับเรา เราไม่ต้องการปวดหัว


3
ฉันค่อนข้างแน่ใจว่าคุณได้รับ APPDATA (C: \ Users \ ชื่อผู้ใช้ \ AppData) ซึ่งเขียนได้โดยผู้ใช้โดยผสมกับ PROGRAMDATA (C: \ ProgramData) ซึ่งมักจะไม่สามารถเขียนได้โดยผู้ใช้ windows.microsoft.com/en-us/windows-8/what-appdata-folder
Patrick M

1
จุดทั้งหมดของ% APPDATA% คือผู้ใช้สามารถเขียนได้ มันมีเฉพาะเพราะไฟล์ C: \ Program ไม่สามารถเขียนได้โดยผู้ใช้
Bardi Harborow

@PatrickM คุณพูดถูกฉันกำลังพูดถึง ProgramData ขอโทษ วิธีที่ดีที่สุดในการลบคำตอบคืออะไร
David

0

จากมุมมองส่วนตัวของฉันในฐานะผู้ใช้ฉันแยกความแตกต่างระหว่างข้อมูลที่ฉันต้องการสำรองข้อมูลและข้อมูลที่ฉันไม่สนใจ

สร้างการสำรองข้อมูลที่เพิ่มขึ้นของ %LOCALAPPDATA%เป็นเรื่องยุ่งเหยิงเพราะมันจะทำให้การสำรองข้อมูลยุ่งเหยิงด้วยไฟล์ชั่วคราวนับหมื่นไฟล์ซึ่งส่วนใหญ่จะถูกล็อคโดยบริการพื้นหลัง สิ่งนี้ทำให้การสำรองข้อมูลช้าลง (ค่าโสหุ้ยสูงจากไฟล์ขนาดเล็กจำนวนมาก) และไฟล์ขนาดใหญ่ที่ไม่จำเป็น (การเปลี่ยนแปลงไฟล์ชั่วคราวบ่อยครั้งก่อวินาศกรรมส่วน "ส่วนเพิ่ม") การป้องกันสิ่งนี้ต้องมีการดูแลรายการยกเว้นด้วยตนเอง

%APPDATA%ดีกว่าเล็กน้อยเนื่องจากไม่ควรมีไฟล์ชั่วคราวเช่นแคช แต่น่าเสียดายที่มันมีอยู่แล้วและการตั้งค่าโปรแกรมจำนวนมากไม่รับประกันการสำรองข้อมูล

ในท้ายที่สุดบันทึกเกมประเภทของข้อมูลที่ฉันต้องการที่จะมีปฏิสัมพันธ์กับเป็นผู้ใช้และ%UserProfile%\AppDataไม่ให้ยืมตัวไปที่


-3

ทำไมไม่ใช้ / "โฟลเดอร์การติดตั้งเกม" / savegame / เช่นเดียวกับเกมเก่า ฉันไม่เคยเข้าใจเลยว่าทำไมวาง savegames ในโฟลเดอร์ที่ซ่อนอยู่หรือแม้แต่ในเอกสารของฉันบนไดรฟ์ระบบ?

ในสมัยก่อนคุณรู้เสมอว่า savegames อยู่ที่ไหน


3
โฟลเดอร์นี้ได้รับการป้องกันการเขียน คุณต้องเริ่มเกมในฐานะผู้ดูแลระบบ สิ่งนี้น่ารำคาญและไม่พร้อมใช้งานสำหรับผู้ใช้ทุกคน (ผู้ปกครองที่ต้องการปกป้องคอมพิวเตอร์จากลูก ๆ ของพวกเขาติดตั้งอะไรก็ตามเป็นต้น)
Vaillancourt

1
"game installation folder"%ProgramFiles%\<gamename>เป็น %ProgramFiles%มีวัตถุประสงค์เพื่อแก้ไขเฉพาะในระหว่างการติดตั้ง / ยกเลิกการติดตั้งโปรแกรม เนื่องจากแอปพลิเคชัน Windows XP / Vista ที่เขียนไปยังไดเรกทอรีนั้นจะต้องเรียกใช้ในฐานะผู้ดูแลระบบเพื่อให้พูดได้ยากขึ้นไวรัสที่จะแทนที่ word.exe ด้วย word.exe รุ่นที่ติดไวรัส อีกเหตุผลหนึ่งคือ Microsoft ต้องการให้ผู้ใช้หลายคนสามารถใช้โปรแกรมเดียวกันโดยไม่ต้องแชร์ไฟล์ส่วนตัวในกรณีนี้ savegames มีวิธีอื่น ๆ / วิธีที่ดีกว่าในการแก้ไขปัญหาเหล่านี้ แต่พวกเขาไม่ได้เลือกในเวลา
ปีเตอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.