เหตุใดจึงมีสินทรัพย์เหลืออยู่ในเกมสุดท้าย


28

ฉันเพิ่งอ่านเกี่ยวกับสิ่งที่ค้นพบในไฟล์สำหรับ No Man's Sky สิ่งต่าง ๆ มากมายที่ไม่ได้ใช้หรือเกี่ยวข้องกับเกม ฉันได้อ่านเมื่อไม่นานมานี้เกี่ยวกับการตั้งค่า E3 ที่ถูกทิ้งไว้ในไฟล์ Watch Dogs ทำไมผู้พัฒนาเกมถึงทิ้งไฟล์เก่าและไฟล์ที่ไม่ได้ใช้ในเกมสุดท้าย

แน่นอนว่านี่ใช้พื้นที่เพิ่มเติมบนดิสก์และต้องมีการดาวน์โหลดข้อมูลเพิ่มเติมหากคุณดาวน์โหลดเกม

นักพัฒนาไม่กลัวสิ่งที่ผู้คนจะพบได้หรือไม่


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

10
ในฐานะที่เป็นบันทึกด้านข้างพื้นห้องตัดจะเต็มไปด้วยตัวอย่างของสิ่งนี้ tcrf.net/The_Cutting_Room_Floor
drawoc

2
1) ไม่มีใครจำได้ว่าต้องการลบ 2) ใช่ 3) เลขที่
user253751

ตัวอย่างอื่นคือ Dota2 ไม่เพียง แต่นักพัฒนาเท่านั้นที่ออกจากเนื้อหาพวกเขายังรวมถึงคุณสมบัติที่ไม่สมบูรณ์ซึ่งหมายความว่าสำหรับการเปิดตัวในอนาคต เช่นตัวละครรายการหรือทักษะใหม่ ดังนั้นคนที่แยกส่วนไบนารีจึงสามารถเห็นข่าวในอนาคตที่เป็นไปได้เกี่ยวกับเกมนี้ (ตัวอย่างที่น่าทึ่ง: ตัวละครพิทลอร์ด / นักเลงที่เห็นในรหัสเมื่อหลายปีก่อนได้ประกาศอย่างเป็นทางการเมื่อหลายวันก่อน)
บาคุริ

คำตอบ:


35

เกมหลักใช้สิ่งที่เรียกว่า build ไปป์ นี่เป็นเหมือนชุดเครื่องมืออีกชุดที่จัดการการสร้างเนื้อหาเกมสำหรับการแจกแจงที่แตกต่างกันทั้งหมด เกมหลากหลายแพลตฟอร์มอย่าง No Man's Sky และ Watch_Dogs ใช้สินทรัพย์ที่แตกต่างกันอย่างแน่นอนสำหรับแพลตฟอร์มที่แตกต่างกัน อย่างที่ฉันเห็นมันมีสองคำตอบสำหรับคำถามของคุณ

  1. devs ลืมที่จะลบสินทรัพย์บางอย่างออกจากท่อและพวกเขาได้รวมเข้ากับเกมจริง

  2. devs ตั้งใจทิ้งทรัพย์สิน "ที่ไม่ได้ใช้" บางส่วนไว้ในเกมเพื่อใช้ในภายหลังในระหว่างการแก้ไขหรืออัปเดตเนื่องจากพวกเขาไม่สามารถทำตามกำหนดเวลาได้ ตัวอย่าง Devil's Pit จาก The Witcher 3


16
นอกจากนี้ 3. วาง "สินทรัพย์ที่ไม่ได้ใช้" โดยเจตนาเพื่อให้ผู้ควบคุม / powerusers ค้นหาพวกเขาเพื่อแอบดูข่าวที่กำลังจะมาถึง คล้ายกับ # 2 ยกเว้นเนื้อหาอาจไม่ได้ใช้ในชื่อเฉพาะหรือโปรแกรมแก้ไขในอนาคต
Kroltan

4
+1 สำหรับ Kroltan # 3 IIRC The Witcher 3 มีตัวอย่างของไข่อีสเตอร์ที่ซ่อนอยู่ในเนื้อหาที่ไม่ได้ใช้ มีพื้นที่ลับบางอย่างที่คุณต้องดัดแปลงเกมเพื่อให้ถึงที่มีรูปถ่ายของ devs หรืออะไรทำนองนั้น
นม

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

33

อาจเป็นเรื่องยากกว่าที่คุณคิดว่าจะค้นหาเนื้อหาที่อ้างอิงทั้งหมดในเกมขนาดใหญ่ที่ใช้งานได้กับหลายคน แม้ว่าเราจะมีเครื่องมือที่ชัดเจนในการช่วยเหลือ (เราได้สร้างเครื่องมือดังกล่าวที่ ArenaNet ทุกคนที่ใช้ Unreal สามารถเข้าถึงเครื่องมือเหล่านั้นในเวอร์ชัน Unreal ได้ Bungie มีเครื่องมือที่ทำสิ่งเดียวกันและได้พูดคุยกับพวกเขาและอื่น ๆ )

มีหลายวิธีที่สามารถอ้างถึงเนื้อหาที่สามารถเอาชนะระบบดังกล่าวได้โดยทั่วไปเพียงแค่อ้างอิงเนื้อหาด้วยสิ่งที่ระบบไม่สามารถติดตามได้ (เช่นการสร้างการอ้างอิงโดยนัยหรือการกำหนดรหัสตายตัวในโค้ดให้กับเนื้อหาบางส่วน)

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

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

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


ตัวอย่างไฟล์ที่ไม่ได้ใช้เป็นไข่อีสเตอร์บน Arqade: เพลง 'เพลงที่อาจเล่นได้เมื่อคุณสู้ Sans' ปรากฏใน Undertale ที่ไหน
Philipp

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

1
แม้ว่าจะพบเนื้อหาทั้งหมดที่ไม่ได้ใช้โดยเกมซึ่งรวมอยู่ในดิสก์เกมบางเกมได้รับการออกแบบมาเพื่อให้ผู้ใช้สามารถดาวน์โหลดโมดูลเสริมราคาพิเศษซึ่งผู้ผลิตอาจผลิตได้หลังจากที่ผลิตดิสก์แล้ว . หากดิสก์มีพื้นผิวสิบเมกะไบต์ซึ่งไม่ได้ใช้ในเกมบนดิสก์ แต่จะมีประโยชน์ในรุ่นดาวน์โหลดนั่นอาจทำให้ขนาดการดาวน์โหลดลดลงสิบเมกะไบต์
supercat

1
ตัวอย่างเก่า ๆ ที่มีสินทรัพย์ที่ไม่ได้ใช้งานจำนวนมากในเกมที่จัดส่งคือ MechCommander 2 เมื่อ Microsoft ทดสอบเครื่องมือ XNA Build ใหม่ของพวกเขาแล้วมันเปิดเผยว่า 40% ของพื้นผิวของเกมไม่ได้ใช้งาน blogs.msdn.microsoft.com/briankel/2006/01/24/…
Ross Ridge

เพียงข้อสังเกต: สำหรับภาษาทัวริงที่สมบูรณ์ (และภาษาที่มีประโยชน์มากที่สุด) การค้นหาว่ามีการประมวลผลบรรทัดของรหัสหรือไม่สามารถแก้ไขได้ (ปัญหาการหยุดชะงัก) หากคุณสามารถทำสิ่งนี้ได้คุณอาจทิ้งเกมและรับรางวัลโนเบลแทน
ธรรมดา

9

สิ่งที่ขาดหายไปในคำตอบอื่น ๆ คือเกมนี้ไม่มีส่วนเกี่ยวข้อง มันมีผลต่อการใช้งานทั้งหมด

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

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

7

การเพิ่มคำตอบของUri Popov :

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

แก้ไข:

การตอบสนองต่อความคิดเห็นต่อคำถามเดิม

ไม่มีใครจำได้ว่าต้องการลบ

  1. ฉันจะบอกว่าไม่มีใครกล้าที่จะลบพวกเขา จะเกิดอะไรขึ้นถ้าเกมขาดการดักข้อผิดพลาดที่เพียงพอ (โดยไม่ได้ตั้งใจไม่รู้ตัวผิดพลาดคนสำคัญออกจาก บริษัท ฯลฯ ) ณ จุดที่โหลดของไฟล์ X (ตอนนี้หายไป) และยังไม่ได้รับการค้นพบ บอกว่าการโหลดเกิดขึ้นเฉพาะ "ทุก ๆ 3 ครั้ง" เท่านั้นที่ระดับ 35 จาก 36 ซึ่งคุณเข้าถึงได้ใน 4 สัปดาห์ของการเล่นเกมที่รุนแรง :-) ชื่อเสียงที่สูญเสียไปจากซอฟต์แวร์ที่ล่มเป็นปรากฏการณ์ที่โหดร้ายและในกรณีที่เลวร้ายที่สุดก็อาจกลายเป็น บริษัท ล้มละลายได้ อย่าแตะต้องไฟล์นั้น :-) ดีกว่า

4
+1 สำหรับ "ไม่มีใครกล้าลบ" การไม่ลบเนื้อหาที่ไม่ได้ใช้มักจะทำให้มีเนื้อที่ดิสก์เหลือเพียงเล็กน้อย การลบเนื้อหาที่คนอื่นในทีมของคุณยังคงใช้อยู่อาจทำให้ บริษัท ของคุณเสียชื่อเสียงไปมากถ้ามันทิ้งกระดานหมากรุกขนาดใหญ่สีม่วง
Patrick M

2

ทำไมผู้พัฒนาเกมถึงทิ้งไฟล์เก่าและไฟล์ที่ไม่ได้ใช้ในเกมสุดท้าย

แน่นอนว่านี่ใช้พื้นที่เพิ่มเติมบนดิสก์และต้องมีการดาวน์โหลดข้อมูลเพิ่มเติมหากคุณดาวน์โหลดเกม

นักพัฒนาไม่กลัวสิ่งที่ผู้คนจะพบได้หรือไม่

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

แม้ว่าจะใช้พื้นที่เพิ่มเติมและต้องดาวน์โหลดข้อมูลมากขึ้น แต่นี่ไม่ใช่ปัญหานักพัฒนาและแม้แต่ลูกค้ามักไม่สนใจขนาดการดาวน์โหลดที่ใหญ่กว่าเล็กน้อย

ไม่แน่ใจว่านักพัฒนาจะต้องกลัวสิ่งที่ผู้คนอาจพบหรือไม่? ทำไมพวกเขาควร? ตราบใดที่ไม่มีสิ่งใดในไฟล์เพิ่มเติม (งานศิลปะที่ไม่ดีจริงๆตลกเกี่ยวกับหัวหน้าหรือลูกค้า ... ) พวกเขาอาจไม่สนใจอะไรมาก แม้ว่าในบางกรณีพวกเขาจะกลัวสิ่งที่ผู้เล่นอาจตรวจพบในสินทรัพย์


Not sure if developers need to be afraid of anything people might find?อ่านเหตุผลที่การทดสอบเทคโนโลยีของ Titanfall 2 ไม่ได้มาที่พีซีพวกเขาไม่เห็นด้วย: P
TMH

@ TomHart คุณพูดถูก ในกรณีนี้พวกเขากลัว ในกรณีอื่น ๆ เช่นที่กล่าวถึงในคำถามที่พวกเขาไม่ได้และรวมสินทรัพย์เพิ่มเติม ฉันเดาว่าระดับความกลัวนั้นแตกต่างกันระหว่างนักพัฒนา
Trilarion

1

มันถูกบอกใบ้ แต่ก็ยังไม่ได้รับการตอบสนองอย่างเต็มที่จากคำตอบอื่น ๆ : ทั้งหมดนี้ลดราคาลงและค่าใช้จ่ายบางอย่างนั้นยุ่งยากกว่าที่คุณคิด

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

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

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

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

มีค่าใช้จ่ายที่เป็นไปได้อื่น ๆ เช่นการรั่วไหลของข้อมูลรอบ ๆ กระบวนการพัฒนาที่อาจถูกนำมาใช้เพื่อรับแฮ็ก แต่คุณทำผ่านกระบวนการทดสอบตามที่เป็นอยู่คุณไม่ควรกังวลเกี่ยวกับเรื่องนั้น

tl; dr: ไม่มีใครจะสังเกตเห็นการดาวน์โหลดที่ใหญ่ขึ้น 4% แต่พวกเขาจะสังเกตเห็นว่าคุณทำลายเกมโดยการลบไฟล์ที่จำเป็น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.