Tại sao tài sản thừa còn lại trong trò chơi cuối cùng?


28

Tôi chỉ đọc về những gì được phát hiện trong các tập tin cho No Man's Sky, rất nhiều thứ không được sử dụng hoặc có liên quan đến trò chơi. Tôi cũng đã đọc cách đây một thời gian ngắn về các cài đặt E3 bị bỏ lại trong các tệp Watch Dogs. Tại sao các nhà phát triển trò chơi để lại các tệp cũ và không sử dụng trong trò chơi cuối cùng?

Chắc chắn điều này chỉ chiếm thêm dung lượng trên đĩa và có nghĩa là phải tải thêm dữ liệu nếu bạn tải xuống trò chơi?

Ngoài ra, không phải các nhà phát triển sợ những gì mọi người có thể tìm thấy?


7
nói chung, nó sẽ không sử dụng đủ dữ liệu để đảm bảo xóa nó. Và đôi khi xóa các tệp "không sử dụng" này thực sự có thể gây ra sự cố cho các đối tượng trò chơi khác sử dụng các phần của tệp "Không sử dụng". Tôi nghĩ rằng nó đã đi đến thời hạn cần phải được đáp ứng, và thực tế là vào thời điểm cuối cùng nội dung có thể bị cắt.
Ryan trắng

10
Là một lưu ý phụ, sàn phòng cắt có đầy đủ các ví dụ về điều này. tcrf.net/The_Cocking_Room_Floor
drawoc

2
1) Không ai nhớ xóa chúng. 2) Có. 3) Số
dùng253751

Một ví dụ khác là Dota2. Không chỉ các nhà phát triển để lại một số tài sản, họ thậm chí còn bao gồm các tính năng không đầy đủ có nghĩa là cho các bản phát hành trong tương lai có thể. Ví dụ, nhân vật mới, vật phẩm hoặc kỹ năng. Vì vậy, những người tháo rời nhị phân có thể thấy ít nhất một số tin tức có thể có trong tương lai về trò chơi (ví dụ đáng chú ý: nhân vật chúa tể / kẻ dưới quyền được nhìn thấy trong mã vài năm trước đã được công bố chính thức vài ngày trước).
Bakuriu

Câu trả lời:


35

Các trò chơi chính sử dụng một cái gì đó gọi là đường ống xây dựng. Đây giống như một bộ công cụ khác xử lý việc xây dựng nội dung trò chơi cho tất cả các bản phân phối khác nhau. Các trò chơi đa nền tảng như No Man's sky và Watch_Dogs chắc chắn sử dụng các tài sản khác nhau cho các nền tảng khác nhau. Vì vậy, cách tôi nhìn thấy nó có hai câu trả lời có thể cho câu hỏi của bạn.

  1. Các nhà phát triển đã quên xóa một số tài sản nhất định khỏi đường ống và họ đã đi kèm với trò chơi thực tế.

  2. Các nhà phát triển cố tình để lại một số tài sản "không sử dụng" trong trò chơi để sử dụng sau này trong một bản vá hoặc cập nhật, vì họ không thể đáp ứng thời hạn. Ví dụ Hố quỷ từ The Witcher 3.


16
Ngoài ra, 3. Cố tình đặt "tài sản không sử dụng" để người điều hành / người cung cấp năng lượng tìm thấy chúng, để lén lút vào các bản phát hành sắp tới. Tương tự như # 2, ngoại trừ nội dung thậm chí có thể không được sử dụng trong tiêu đề cụ thể hoặc các bản vá trong tương lai.
Kroltan

4
+1 cho số 3 của Kroltan. IIRC The Witcher 3 có một ví dụ về một quả trứng Phục sinh ẩn trong nội dung không sử dụng. Có một số khu vực bí mật mà bạn cần phải sửa đổi trò chơi để đạt được đó là một bức ảnh của các nhà phát triển hoặc một cái gì đó tương tự.
sữa

3
"Quên loại bỏ" không phải là một cách hay để mô tả nó. Các nhà phát triển có thể biết họ đã loại bỏ việc sử dụng một tài sản. Nhưng có thể một nhóm khác đã bắt đầu sử dụng tài sản. Trong trường hợp như vậy, chi phí có thể loại bỏ (phá vỡ hoàn toàn một trò chơi) vượt xa lợi ích của việc loại bỏ nó.
Aron

33

Có thể khó hơn bạn nghĩ để tìm tất cả nội dung được tham chiếu trong một trò chơi lớn được thực hiện bởi nhiều người. Ngay cả khi có các công cụ rõ ràng để trợ giúp (chúng tôi đã xây dựng các công cụ như vậy tại ArenaNet, bất kỳ ai sử dụng Unreal đều có quyền truy cập vào phiên bản của các công cụ đó của Unreal, Bungie có các công cụ làm điều tương tự và thậm chí đã nói về chúng, et cetera)

Có một số cách nội dung có thể được tham chiếu có thể đánh bại các hệ thống như vậy, nói chung chỉ đơn giản bằng cách tham chiếu nội dung bằng thứ gì đó mà hệ thống không thể theo dõi (chẳng hạn như tạo tham chiếu ẩn hoặc mã hóa cứng trong mã cho một số tài sản).

Ngay cả khi giả sử bạn đã giải quyết vấn đề tìm tất cả các tham chiếu nội dung, bạn có vấn đề là không thể biết liệu có thứ gì đó thực sự được sử dụng hay không . Có thể một số tài sản được tham chiếu trong một tập lệnh ở đâu đó, nhưng khối lượng kích hoạt cho tập lệnh đó được đặt không chính xác trong một bức tường và do đó nội dung có thể không bao giờ sinh ra trong trò chơi. Kiểm tra triệt để điều này là khá khó khăn là tốt.

Khi các phương pháp tự động (hoặc có thể tự động hóa ) để phát hiện và lọc ra nội dung không sử dụng không thành công, bạn sẽ bị bỏ lại theo cách lỗi thời: sự can thiệp của con người. Con người mắc sai lầm, giả định xấu (họ có thể nghĩ rằng một tệp vẫn được sử dụng mặc dù đó không phải là do người khác thực hiện thay đổi), và thậm chí đôi khi còn cố tình để nội dung không liên quan trong trò chơi là Trứng Phục sinh. Đó chỉ là sự tự nhiên của con người dẫn đến điều này.

thường không đủ lượng nội dung để thực sự di chuyển kim nhiều cho tối ưu hóa tải hoặc kích thước tệp. Ngoài ra còn có các công cụ để báo cáo các tài sản lớn nhất hoặc chậm nhất trong bất kỳ chuỗi hoặc công cụ xây dựng lớn nào, nhưng trọng tâm là để giảm tác động của những người vi phạm chính và không tìm thấy và định vị từng byte bị lãng phí. Thông thường.


Ví dụ cho một tệp không được sử dụng là trứng Phục sinh trên Arqade: Trường hợp 'Bài hát có thể phát khi bạn chiến đấu với Sans' xuất hiện trong Undertale?
Philipp

1
Starbounl hiện có một vấn đề trong đó bạn không thể nhận / tạo "xúc tu đã nấu chín" bởi vì phần dạy cho bạn công thức đã bị xóa. Trong khi đó, các tệp tài sản và định nghĩa chỉ ngồi đó trông giống như chúng nên hoạt động. Xem xét rằng ở đó bạn thường xuyên học một công thức để tạo / chọn một số mặt hàng khác nhau được làm từ cùng một thành phần (đối với thực phẩm), thật dễ dàng để xem các bit có thể được loại trừ khỏi trò chơi chỉ do nhầm lẫn.
StarWeaver

1
Ngay cả khi người ta có thể tìm thấy tất cả nội dung mà trò chơi không được sử dụng trên đĩa, một số trò chơi được thiết kế để cho phép người dùng tải xuống các mô-đun bổ sung có thể được nhà cung cấp sản xuất sau khi các đĩa được sản xuất sau khi các đĩa được sản xuất . Nếu đĩa bao gồm các họa tiết trị giá mười megabyte không được sử dụng trong trò chơi trên đĩa nhưng sẽ hữu ích trong phiên bản tải xuống, điều đó có thể cho phép giảm kích thước tải xuống mười megabyte.
supercat

1
Một ví dụ cũ về việc có rất nhiều tài sản không được sử dụng trong trò chơi được vận chuyển là MechCommander 2. Khi Microsoft thử nghiệm các công cụ XNA Build mới của họ trên đó, nó đã tiết lộ rằng 40% kết cấu của trò chơi không được sử dụng. blog.msdn.microsoft.com/briankel/2006/01/24/ Quảng cáo
Ross Ridge

Chỉ cần một lưu ý: Đối với các ngôn ngữ hoàn chỉnh Turing (và các ngôn ngữ hữu ích nhất), việc tìm hiểu xem một dòng mã có được thực thi hay không là không thể giải quyết được (Vấn đề tạm dừng). Nếu bạn quản lý để làm điều này, bạn cũng có thể bỏ trò chơi và nhận giải thưởng Nobel của bạn thay vào đó.
Thông thường

9

Điều còn thiếu trong các câu trả lời khác là điều này không liên quan gì đến các trò chơi. Nó ảnh hưởng đến tất cả các ứng dụng.

Luôn có các tệp và mã sẽ không được sử dụng trong bất kỳ chương trình phức tạp hợp lý nào. Điều này xảy ra vì 2 điều sau đây:

  • Các chương trình phát triển theo thời gian.
  • Nó đòi hỏi nỗ lực để tìm ra nếu một số đoạn mã hoặc một số tệp không còn được sử dụng.
    • Nếu bạn xóa nội dung mà không tốn công sức nói, hành vi của ứng dụng sẽ trở nên khó lường

7

Thêm vào / trả lời câu trả lời của Uri Popov :

  1. Các chương trình có thể cài đặt các gói cập nhật chứa các phiên bản mới, được cải tiến của các tệp tài sản hiện có và bản cập nhật cho chính chương trình. Về phần tôi, tôi không ghi đè lên các phiên bản trước của tệp tài sản, vì tôi muốn cho phép dự phòng cho phiên bản chương trình trước đó (ví dụ, hãy hoảng sợ vì đã phân phối bản cập nhật hoàn toàn thảm hại :-)). Phiên bản chương trình gốc có thể đang sử dụng texture_0.dds và một kết cấu được cập nhật_1.dds (do đó texture_0.dds không còn cần thiết nữa). Ghi đè (chỉ sử dụng một tên duy nhất) sẽ cấm xóa bản cập nhật chương trình, nghĩa là dự phòng cho phiên bản gốc, trừ khi có các cơ chế khó ghi đè lên các tệp tài sản mới hơn với các tệp cũ hơn. Và đó không phải là điều mà bất cứ ai cũng muốn hỗ trợ.

Chỉnh sửa:

Phản ứng về một bình luận cho câu hỏi ban đầu,

Không ai nhớ xóa chúng

  1. Tôi sẽ nói rằng không ai dám xóa chúng. Điều gì xảy ra nếu trò chơi thiếu bẫy đầy đủ (do nhầm lẫn, thiếu hiểu biết, lỗi, người chủ chốt rời công ty, v.v.) tại điểm tải của tệp X (hiện đang thiếu) đó và vấn đề chưa được phát hiện mặc dù đã thử nghiệm nghiêm trọng? Giả sử tải chỉ xảy ra "mỗi lần thứ 3", chỉ ở cấp 35 trên 36, mà bạn chỉ đạt được trong 4 tuần chơi game căng thẳng :-). Mất danh tiếng bởi sự cố phần mềm là một hiện tượng tàn bạo, và trong trường hợp xấu nhất có thể xảy ra trong một công ty phá sản. Tốt hơn không chạm vào tập tin đó :-).

4
+1 cho "không ai dám xóa". Không loại bỏ một tài sản không sử dụng thường chỉ tốn một ít dung lượng đĩa. Việc xóa một tài sản mà người khác trong nhóm của bạn vẫn đang sử dụng có thể khiến công ty của bạn mất rất nhiều danh tiếng nếu nó để lại những tấm ván lớn màu tím hoặc gây ra sự cố.
Patrick M

2

Tại sao các nhà phát triển trò chơi để lại các tệp cũ và không sử dụng trong trò chơi cuối cùng?

Chắc chắn điều này chỉ chiếm thêm dung lượng trên đĩa và có nghĩa là phải tải thêm dữ liệu nếu bạn tải xuống trò chơi?

Ngoài ra, không phải các nhà phát triển sợ những gì mọi người có thể tìm thấy?

Các nhà phát triển trò chơi để lại các tệp không sử dụng trong trò chơi cuối cùng vì họ không muốn bỏ công sức tìm và xóa tất cả các tệp không sử dụng. Sau khi tất cả các trò chơi chạy tốt với một chút vật liệu bổ sung và thời gian là tiền bạc. Dọn dẹp làm tăng chi phí (tùy thuộc vào cách tự động hóa điều này xảy ra).

Mặc dù cần thêm dung lượng và có nghĩa là phải tải xuống nhiều dữ liệu hơn, nhưng đây thường không phải là vấn đề của nhà phát triển và thậm chí khách hàng thường không quan tâm nhiều đến kích thước tải xuống lớn hơn một chút.

Không chắc chắn nếu các nhà phát triển cần phải sợ bất cứ điều gì mọi người có thể tìm thấy? Tại sao họ nên? Miễn là không có gì ảnh hưởng đến các tệp bổ sung (tác phẩm nghệ thuật thực sự tồi tệ, đùa về ông chủ hoặc khách hàng của họ, ...) có lẽ họ không quan tâm nhiều. Mặc dù trong một số trường hợp, họ thực sự sợ những gì người chơi có thể phát hiện trong tài sản.


Not sure if developers need to be afraid of anything people might find?đọc lý do tại sao bài kiểm tra công nghệ của Titanfall 2 không đến với PC, họ không đồng ý: P.
TMH

@TomHart Bạn nói đúng. Trong trường hợp này họ đã sợ. Trong các trường hợp khác như những người được đề cập trong câu hỏi, họ không có và bao gồm thêm tài sản. Tôi đoán rằng mức độ sợ hãi khác nhau giữa các nhà phát triển.
Trilarion 17/8/2016

1

Điều đó đã được gợi ý, nhưng nó chưa hoàn toàn được đưa ra bởi các câu trả lời khác: tất cả đều giảm chi phí và một số chi phí khó khăn hơn bạn nghĩ.

Chi phí rõ ràng nhất là ai đó phải xóa chúng. Bây giờ bạn chỉ có thể đặt một thực tập sinh vào vụ án và yêu cầu anh ta tìm kiếm thông qua các tập tin và không có gì để loại bỏ những thứ không cần thiết trong trò chơi thực tế. Tuy nhiên, bạn vẫn phải trả tiền cho điều này và, ngay cả khi bạn không (vì bạn là một con quái vật không trả lương thực tập), bạn vẫn có thể có nhân viên thực tập đó làm một việc hữu ích như đặt pizza cho đội nhà phát triển, vì vậy nó vẫn còn chi phí của bạn.

Chi phí ít rõ ràng là các tài nguyên bạn đang về để remove được đưa vào vì một lý do: là bạn hoàn toàn chắc chắn rằng lý do là lỗi thời? Chắc chắn, bạn đã viết mã này cho một bản demo và không cần nó nữa, nhưng điều đó có hoàn toàn đúng không? Bạn đã viết một chức năng hữu ích mà bạn quên di chuyển sang các thư viện khác? Có phải Stacey đã tạo ra một đồ họa thực sự tuyệt vời cho bản demo kết thúc trong trò chơi thực sự? Có phải một trình giả lập nội bộ vẫn sử dụng mức cũ mà bạn đã sử dụng để kiểm tra không?

Làm game là một công việc kinh doanh. Ngay cả khi đó không phải là một doanh nghiệp kiếm tiền, nó vẫn là một doanh nghiệp có nguồn lực hạn chế. Mọi quyết định đều yêu cầu phân tích lợi ích chi phí, ngay cả khi bạn không viết các trường hợp kinh doanh cho từng trường hợp. Và một thực tế đơn giản là chi phí để lại những tài sản đó trong trò chơi là một phần tải xuống lớn hơn một chút, và lợi ích là giảm đáng kể rủi ro của một thứ gì đó nổ tung ngay trước khi phát hành.

Tất cả những dấu hỏi trong đoạn "ít rõ ràng hơn" thể hiện sự không chắc chắn. Bạn chỉ không biết. Và khi bạn đang điều hành một doanh nghiệp, bạn phải đánh đổi những điều chưa biết của mình để biết. Và những gì được biết là gói bạn xây dựng đã vượt qua thử nghiệm, ngay cả khi nó có một chút phình to với nó.

Có các chi phí tiềm năng khác như rò rỉ thông tin xung quanh quá trình phát triển có khả năng được sử dụng để tạo ra các vụ hack, nhưng bạn đã thực hiện nó thông qua quá trình thử nghiệm như hiện tại, bạn không thực sự lo lắng về điều đó.

tl; dr: Không ai sẽ nhận thấy tải xuống lớn hơn 4%, nhưng họ sẽ thông báo nếu bạn phá game bằng cách xóa các tệp cần thiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.