Không phải tất cả các trò chơi đều tránh tải sau khi bắt đầu sao?


23

Giống như các trò chơi thế giới mở khổng lồ tải các bản đồ lớn một cách linh hoạt, chúng ta không thể tải các bản đồ, menu riêng biệt và hầu như bất kỳ giao diện hoặc cài đặt 3D nào thông qua cùng phương thức tải động đó? Không thay đổi môi trường, có vẻ như các giao diện và các vị trí khác nhau trong trò chơi đều có thể được tải một cách linh hoạt giống như cách các bản đồ thế giới mở rộng lớn được tải khi bạn đi qua chúng.

Tại sao điều này không được thực hiện? Tôi thấy rất nhiều trò chơi hiện đại mà bạn phải chờ một phút hoặc hơn trong khi trận đấu / bản đồ / cấp độ đang tải. Tôi biết có một độ trễ liên quan đến việc kết nối các đồng nghiệp nhưng điều đó không mất nhiều hơn một vài phút trong trải nghiệm của tôi. Những vấn đề tồn tại với khái niệm này để ngăn chặn nó được sử dụng để loại bỏ thời gian tải liên quan đến tải dữ liệu bản đồ / cấp độ / giao diện?


16
Lưu ý rằng trong nhiều 'liền mạch' trò chơi thế giới mở, có thời gian tải khi người chơi di chuyển đến một vị trí không thể đoán trước. Người ta có thể đi bộ từ một đầu của New York đến đầu kia trong The Division mà không cần phải xem màn hình tải - trong khi di chuyển nhanh đến một địa điểm yêu cầu tải. Đó là tất cả về việc biết những gì để tải tiếp theo.
Felsir

2
@Felsir Dungeon Siege đã làm điều đó theo cách tương tự.
Mason Wheeler

Ví dụ, Batman Arkham Origins sử dụng tải màn hình ngay trước các đoạn cắt cảnh và khi vào các khu vực hoàn toàn mới. Bản chất câu chuyện, tiến bộ của nó cho vay chính nó, và mang lại cho người dùng một sự phá cách tự nhiên. Điều này đặc biệt hiệu quả do các khu vực rất rộng với tài sản có độ phân giải rất cao. Sẽ rất tốn thời gian để mã hóa và kiểm tra tính năng này để có ít lợi ích.
Casey Kuball

mang RAM của bạn lên tới 128gb. Tạo ổ đĩa RAM 64gb hoặc hơn, tải trò chơi của bạn vào ổ đĩa RAM. Thời gian tải sẽ nhanh đến mức bạn sẽ hầu như không nhận thấy chúng. Tôi đã nâng cấp lên SSD và hầu hết thời gian tải rút ngắn đáng kể. Nâng cấp card màn hình, đặc biệt là thêm RAM video.
gian mạng

Tải Async mất thời gian, có thể thay đổi dựa trên CPU và tốc độ đĩa. Bạn không thể luôn chắc chắn mọi thứ sẽ được tải vào lúc bạn cần chúng.
Alan Wolfe

Câu trả lời:


31

Câu trả lời là có, điều này có thể được thực hiện, trong hầu hết các trường hợp, ít nhất là ở một mức độ nào đó.

Những lý do nó không được thực hiện là rất nhiều:

  • Nó đòi hỏi thời gian và tiền bạc để làm điều đó đúng.
  • Số lượng lỗi vượt qua kiểm tra sẽ cao hơn
  • Thời gian tải được chấp nhận bởi người dùng.
  • Có thể có các lý do khác cho thời gian tải, chẳng hạn như cân bằng tải máy chủ.
  • Các giải pháp chung có thể được mua ngoài giá tương thích hơn với "tải tất cả cùng một lúc".

Theo điểm 'tải máy chủ cân bằng', rất nhiều trò chơi trực tuyến có mặt trên thị trường hiện nay có khu vực 'trung tâm' duy nhất dành cho bạn và không ai có thể truy cập. Rất thường xuyên, các khu vực này được đặt phía sau vùng tải hoặc khu vực đi bộ chậm (ví dụ: BOO trong 'The Division') để chúng có thể an toàn đưa bạn ra khỏi trường hợp bạn đã ở trước đó và đặt bạn vào ví dụ riêng của bạn .
SGR

7
Ngoài ra còn có vấn đề về bộ nhớ. Có thể không tải được mức hiện tại trong khi vẫn giữ mức hiện tại trong bộ nhớ (đặc biệt đối với bảng điều khiển hoặc thiết bị di động), vì vậy bạn phải sử dụng màn hình tải
Jezzamon

@Jezzamon Tôi nghĩ rằng toàn bộ bản đồ Skyrim không bao giờ được lưu giữ trong bộ nhớ tại bất kỳ thời điểm nào. Có lẽ tôi sai? Nhưng nếu không, tại sao bất kỳ tình huống nào khác không thể áp dụng được với các chiến lược tải động của bản đồ trò chơi thế giới mở rộng lớn?
Viziionary

Hầu như không ai lăn công cụ trò chơi của riêng họ từ đầu nữa. Họ mua một động cơ (Unreal, Unity, CryEngine) và một loạt các phần mềm trung gian và dán nó lại với nhau. Các công cụ cơ bản thường không được thiết lập để phát trực tiếp nội dung trên cơ sở liên tục hoặc để khởi động lại mà không tải lại. Hãy nghĩ về số lần bạn đã chết trong một trò chơi chỉ khi đối mặt với thời gian tải 60 giây, mặc dù thực tế các tài sản và cấp độ đã được tải. Những lý do @Peter đưa ra cũng là những lý do bạn không thấy các trò chơi cho phép bạn bắt đầu chơi chúng trong khi bạn vẫn tải xuống các tài sản rất thường xuyên.
Tom B

2
Cấp độ @Viziionary thường sử dụng lại kết cấu rất nhiều và một cấp độ khác nhau sử dụng một bộ kết cấu khác nhau. Một cấp dungeon sẽ sử dụng rất nhiều kết cấu tường ngục tối, một cấp độ sa mạc sẽ sử dụng kết cấu cát và đá sa mạc, một cấp độ núi sẽ sử dụng kết cấu đá, cỏ và tuyết, v.v. Hoạ tiết được sử dụng trên tất cả các cấp độ sẽ chỉ giải phóng một phần nhỏ bộ nhớ được sử dụng (hoặc nó sẽ hủy kết cấu mà bạn vẫn cần).
Peter - Unban Robert Harvey

10

Nếu menu của bạn có rất nhiều tài sản, những tài sản đó sẽ mất thời gian để tải. Bạn cũng không biết mọi người sẽ điều hướng menu của bạn theo thứ tự nào. Họ có thể nhấp vào các tùy chọn -> quay lại -> tín dụng hoặc tín dụng -> quay lại -> bắt đầu trò chơi liên tiếp. Vì vậy, không có chiến lược phát trực tuyến hợp lý.

Trong một trò chơi thế giới mở, bạn biết rằng người chơi sẽ không di chuyển nhanh hơn một số tốc độ nhất định, vì vậy bạn biết rằng bạn không cần phải tải các phiên bản chi tiết của các địa điểm xa cho đến khi họ tiếp cận chúng.


Tại sao không ưu tiên tải menu nặng / thường truy cập? Trong bất kỳ game nhập vai nào, nếu tôi mở menu, 90% thời gian để trang bị thứ tôi tìm thấy hoặc sử dụng vật phẩm. Bạn có thể bắt đầu bằng menu thoses. Hoặc bắt đầu với menu mất 5 phút để tải và thả tải nếu người dùng thoát khỏi menu.
DrakaSAN

1
@DrakaSAN Nhưng đó thường được tối ưu hóa. Ngay cả Diablo ban đầu cũng cho bạn thấy hàng tồn kho trong lúc đánh rơi chiếc mũ. Cách tiếp cận "chờ đợi mọi thứ" dường như đã có sự hồi sinh lớn với các máy chơi game hiện đại, vốn rất hạn chế về bộ nhớ so với PC. Và vì rất nhiều trò chơi trên cả PC và console đều được điều khiển port-> PC, một số hạn chế của giao diện điều khiển được kế thừa trong quá trình này. So sánh Diablo III hoặc Divial với Skyrim hoặc Dark Souls - sự khác biệt khá rõ ràng.
Luaan

2
Các menu tải chậm là một vấn đề thực sự trong chơi game? Số
Alan B

@AlanB chỉ khi cách duy nhất để truy cập hàng tiêu dùng là thông qua menu đó. Xem Destiny trên Xbox 360 / PS3 và mất bao lâu để sử dụng Gói đạn so với các phiên bản XB1 / PS4.
SGR

1
@SGR Tôi sắp sử dụng Destiny trên PS4 như một ví dụ về một menu có thời gian tải dài không thể chấp nhận được, tôi không thể tưởng tượng được nó tệ hơn thế nào trên các bảng điều khiển gen cuối cùng.
IllusiveBrian

5

Một yếu tố lớn trong tính khả thi của một giải pháp như vậy là khả năng dự đoán những gì cần tải. Nếu người chơi tải các cấp độ hoàn toàn mới mà không có cách nào để dự đoán những gì họ sẽ chọn, một giải pháp hoàn toàn liền mạch là không thể. Ví dụ, khi người chơi có thể chọn bất kỳ cấp độ nào trong trò chơi để chơi hoặc nếu họ có quyền tự do dịch chuyển đến các khu vực hoàn toàn khác nhau trong các trò chơi thế giới mở.

Một số trò chơi Halo bắt đầu tải cấp độ đã chọn trong nền trong khi thiết lập trò chơi nhiều người chơi. Điều này giúp giảm thời gian chờ đợi khi người chơi sẵn sàng bắt đầu và có lẽ là giải pháp gần nhất có thể có được giải pháp như vậy khi người chơi có thể tự do lựa chọn các cấp độ khác nhau với các tài sản hoàn toàn khác nhau.

Tất nhiên, bạn đã nói "không thay đổi môi trường", nhưng tôi chỉ muốn đưa ra ví dụ Halo , vì đó là điều tôi muốn thấy nhiều hơn.

Trong một chiến dịch liên tục hoặc bất cứ khi nào nhà phát triển có nhiều quyền kiểm soát vị trí của người chơi, một giải pháp như vậy chắc chắn là khả thi, giống như bạn nói. Chó nghịch ngợm thích tránh xa thời gian tải, với Jak và Daxter nổi tiếng không có thời gian tải trên máy PS3 và các trò chơi Uncharted có thời gian tải duy nhất lúc đầu.

Tuy nhiên, với nhiều người, thời gian tải không phải là vấn đề cần giải quyết . Hoặc đó là một vấn đề đó là rất thấp vào các ưu tiên phát triển, khi có luôn có nhiều điều mà có thể được thực hiện giữa giờngày phát hành .


3
Jak và Daxter có thời gian tải. Chúng chỉ ẩn sau cánh cửa, trong một phương pháp tương tự như thang máy ME1 và cách chúng ẩn thời gian tải.
Nzall

2
Nhưng thời gian tải ẩn sau hội trường đường cong S và như vậy không có cảm giác như thời gian tải.
Almo

Nếu tôi hiểu đúng, các bản đồ thế giới mở như Skyrim arent được tải vào bộ nhớ, chỉ là những phần người dùng cần xem ngay lập tức, vậy bạn có thể tải trước trong các phần bắt đầu nhỏ của tất cả (20?) Bản đồ không? Với việc tối ưu hóa đúng dữ liệu bản đồ, có vẻ như RAM thực tế được sử dụng không phải là vấn đề lớn về lượng RAM hiện đại, ngay cả trên thiết bị di động. Tôi nghĩ rằng sức mạnh kết xuất của card màn hình làm tắc nghẽn hầu hết các trò chơi mà tôi nghĩ .. Tôi có vẻ như bạn có thể tải các khu vực bắt đầu của tất cả các bản đồ hào quang đó cho người dùng, sau đó hiển thị phần được chọn trong khi thả phần còn lại khỏi bộ nhớ.
Viziionary

1
Các bản đồ không phải là thứ cần tải mãi mãi - đó là kết cấu khổng lồ, tệp mô hình, chương trình đổ bóng, v.v ... dành riêng cho cấp độ hoặc khu vực.
Tom B

3

Thời gian.

Bạn cần thời gian để tiết kiệm thời gian. Hoặc bạn cần tiền để bù đắp cho việc thiếu thời gian. Trong mọi trường hợp, "Không có thời gian tải!" là một tính năng mà chỉ những người có sự sang trọng mới có thể cung cấp nó. Cần có kế hoạch rất cẩn thận và bạn cần hiểu rất rõ những gì bạn đang làm và không phải tất cả các nhà phát triển trò chơi đều có tài nguyên để đưa vào đó.


2

Cuối cùng, đó là nguồn lực hạn chế.

Các trò chơi trong thế giới mở và đặc biệt là các game MMO được xây dựng rất nhiều để có thể dự đoán - bạn luôn biết trước những dữ liệu nào bạn cần tải tốt. Bạn có thể thấy điều này trong kiến ​​trúc của thế giới - bất cứ khi nào có rất nhiều tài nguyên cần được tải, bạn có một số cách để ngăn người dùng nhìn thấy những thứ chưa được tải. Cách phổ biến nhất là cổng và lối vào chặn tầm nhìn của bạn vào khu vực tiếp theo trong vài giây quan trọng cần thiết để tải. Hầu hết các MMO cũng sử dụng các mô hình và kết cấu ít chi tiết hơn, giúp rút ngắn đáng kể thời gian tải.

Một số điều vẫn không thể đoán trước, ngay cả với thiết kế cẩn thận. Ví dụ: có thể có các biểu ngữ tùy chỉnh được mặc bởi người chơi, chỉ được hiển thị khi dữ liệu có liên quan đã được gửi đến máy tính của bạn qua mạng. Tất nhiên, hầu hết các trò chơi đều cố gắng hạn chế điều này để làm cho nó rẻ hơn (ví dụ: biểu ngữ của Diablo III là các tác phẩm đơn giản, dễ gửi dưới dạng vài byte dữ liệu). Nhưng cuối cùng, đôi khi bạn chỉ cần chờ dữ liệu đến. Và bạn cần hiển thị một cái gì đó trong khi quá trình tải đang diễn ra - trong nhiều trò chơi, điều này có thể gây ra sự gián đoạn khi bạn nhìn thấy một mô hình màu xám, chi tiết thấp được hiển thị trong khi chờ dữ liệu được tải.

Và với tất cả điều này, tải như thế này là một vấn đề được giải quyết (TM), nhưng điều đó không làm cho nó dễ dàng. Nó tốn rất nhiều tài nguyên và thời gian, cả trong việc tối ưu hóa tài nguyên và việc sử dụng chúng để đảm bảo trải nghiệm chơi mượt mà và trong chính mã - mã không đồng bộ là khó. Điều đó cũng có nghĩa là trải nghiệm trò chơi giảm đi ngay cả khi mọi thứ đều ổn - điều đó có nghĩa là bạn phải đảm bảo bạn không vượt qua khả năng băng thông của mẫu số chung thấp nhất của mình, vì vậy bạn cần hạ thấp chất lượng của mô hình và kết cấu hoặc tạo ra chúng ít thay đổi và hình học của thế giới của bạn bị hạn chế nghiêm trọng. Nếu bạn không, trò chơi sẽ không thể chơi được - trong khi tôi nhớ những người chơi game mất 10 phút (hoặc thậm chí lâu hơn!) Để tải bản đồ, đơn giản vì máy tính của họ không hoàn thành nhiệm vụ, trò chơi Nó chạy tốt sau đó. Nếu nó có tải liền mạch thay vào đó, trò chơi sẽ chỉ đóng băng hoặc hiển thị các kết cấu và mô hình xấu xí mọi lúc trong khi chờ dữ liệu được tải. Tải chậm lại không phải là một chiến thắng, đó là một sự đánh đổi vì hầu hết mọi thứ trong kỹ thuật :)


2

Một lý do tải động không phải lúc nào cũng là giải pháp lý tưởng mà các câu trả lời khác chưa thực sự xem xét tôi nghĩ cũng là pop-in và các tạo tác đồ họa khác.

Dự đoán về những gì để tải và những gì không tải thường thất bại, và nó có thể là một kinh nghiệm gây khó chịu khi nó. Một trong những ví dụ tồi tệ nhất là trong Rage by id Software. Ít nhất là trong các phiên bản đầu tiên, các hệ thống megatexture đã khiến nó trở nên thậm chí một thứ gì đó như quay xung quanh quá nhanh đã tạo ra một lượng lớn kết cấu và thậm chí các tạo tác hình học xuất hiện trước khi mờ dần.

Những vấn đề này không phải là vấn đề là mọi thứ đều được tải sẵn.

Một cái gì đó để xem xét không phải là những gì cần tải, nhưng những gì để tải. Khi bạn chỉ có quá nhiều ngân sách cho không gian, khi bạn tải những thứ mới, những cái cũ cần loại bỏ là gì? Bạn có chắc chắn rằng những tài sản đó sẽ không được sử dụng trong vài giây tới không? Đây là những vấn đề khó giải quyết.

Nếu mọi trạng thái chơi trò chơi đủ nhỏ để phù hợp với ngân sách hệ thống chung, thì mọi lợi thế đều rõ ràng, thay vì tải, bạn chỉ cần đi thẳng vào một cấp độ và mọi thứ mờ dần khi bạn chơi. Nhưng, như các câu trả lời chính cho thấy, thời gian tải cho một trò chơi nhỏ sẽ không quá rộng để lo lắng về bất cứ điều gì.

Tôi nghĩ rằng đáng để suy nghĩ về lý do tại sao các hệ thống tải động được tạo ra ban đầu, vì bạn biết rằng một số trạng thái trò chơi của bạn có thể quá lớn đối với một hệ thống chung và một trò chơi có kích thước đó hoàn toàn không thể tải trước.


2

Một lý do phổ biến là không phải lúc nào cũng dễ dàng xác định liệu tài nguyên có cần thiết trong tương lai gần hay không.

Vì bạn đã sử dụng phân trang địa hình làm ví dụ, tôi sẽ tiếp tục với điều đó.

Hoàn toàn hợp lý nếu bạn ở trong một lưới bản đồ nhất định để tải tất cả các lưới bản đồ liền kề trong nền. Bạn biết người dùng có thể, tốt nhất, nhập một trong số đó. Khi họ làm như vậy, bạn có thể dỡ bỏ những cái không còn liền kề và tải những cái hiện tại. Điều này bạn đã lưu ý.

Bây giờ hãy tưởng tượng đi du lịch nhanh. Hoàn toàn không có cách nào để dự đoán nơi người dùng có thể chọn đi. Họ có (thường) gần như toàn bộ bản đồ để lựa chọn. Tải trước tất cả các vị trí di chuyển nhanh có thể sẽ chiếm quá nhiều bộ nhớ (bạn cũng có thể tải toàn bộ bản đồ vào bộ nhớ ở nơi đầu tiên) và quá nhiều thời gian (giả sử bạn không tải toàn bộ bản đồ). Khi nào điều này sẽ xảy ra? Khi họ mở hộp thoại du lịch nhanh? Vấn đề sẽ chỉ trở nên tồi tệ hơn nhiều lần!

Đây là lý do tại sao ngay cả hầu hết các trò chơi với phân trang địa hình "không tải" vẫn có màn hình tải khi di chuyển nhanh. Đó cũng là lý do tại sao, nếu bạn di chuyển đủ nhanh, đôi khi bạn có thể kích hoạt tải màn hình trong các trò chơi chẵn với bản đồ không tải (tôi nhớ là đã làm điều này trong TES Oblivion).

Bây giờ hãy tưởng tượng điều này được áp dụng cho tài nguyên trò chơi nói chung, nơi các mối quan hệ thường không rõ ràng. Cuối cùng, bạn sẽ phải tải tất cả các tùy chọn có thể, hoặc bắt đầu đoán người dùng sẽ làm gì. Đoán là tốn kém (cả trong phát triển và CPU) và một mớ hỗn độn phức tạp để lập trình. Ví dụ cụ thể:

  • Lưu tệp: bạn sẽ cần tải mọi tệp lưu trước khi người dùng đến màn hình lưu hoặc đoán tệp nào họ có thể tải (5 mới nhất, v.v.).
  • UI: Nhiều game chiến thuật thay đổi UI của họ tùy thuộc vào phe của bạn. Bạn sẽ cần tải mọi thiết kế UI có thể trước khi người dùng bắt đầu trò chơi của họ.
  • Thế giới trò chơi: trong các trò chơi được tạo theo thủ tục, như các trò chơi Minecraft hoặc RTS như Civilization, thế giới không tồn tại cho đến khi được xem, với các mức độ khác nhau. Tải trước điều này là không thể vì chúng không tồn tại để bắt đầu; tính toán trước chúng tốt nhất có thể được thực hiện tương tự như tải trước và không áp dụng trong trường hợp RTS.

Có thể có nhiều cách xoay quanh một số vấn đề này, nhưng điều đó phải trả tiền cho cuộc sống thực . Hầu hết các game thủ chấp nhận tải màn hình hợp lý và, nếu có bất cứ điều gì, có xu hướng sẵn sàng chi nhiều hơn cho phần cứng để giảm thiểu chúng. Đây được coi là một vấn đề phần cứng , không phải là vấn đề trò chơi , trừ khi quá mức bất thường hoặc gây rối khác (như tải ở giữa các cấp).

Và hãy nhớ, tải nền không miễn phí. Thường có tác động tối thiểu từ việc sử dụng hiện đại của địa hình tải nền và một số tệp mô hình, nhưng nếu bạn đột nhiên đoán về nhiều tài nguyên khác nhau, đặc biệt là nếu bạn không có số liệu đáng tin cậy và phải tải nhiều tài nguyên và tải các tài nguyên thừa , bạn có thể nghiền hệ thống thành bụi.

Ý tưởng của tải nền là sử dụng các chu kỳ chết để sử dụng tốt hơn, nhưng chỉ có rất nhiều chu kỳ chết để sử dụng. Điều tương tự cũng xảy ra với bộ nhớ - tải trước có thể làm tăng đáng kể mức sử dụng bộ nhớ của trò chơi. Với màn hình tải, bạn có thể kết xuất các tài nguyên hiện có. Không có sự xa xỉ như vậy với tải nền, có nghĩa là nó có thể tăng gấp đôi yêu cầu bộ nhớ của trò chơi chỉ tính riêng điều đó.


1

Đây là một vấn đề phổ biến xuất phát từ việc các trò chơi là sản phẩm thời gian thực mềm, trong đó việc phân phối nội dung trễ không hữu ích như giao hàng đúng hạn (trái ngược với thời gian thực cứng, như ô tô trong máy tính, nơi giao hàng trễ có thể không tốt hơn là không giao hàng gì cả). Bạn phải quyết định những gì để tải và ở đâu.

Đôi khi, việc giao hàng trễ là đặc biệt xấu. Ví dụ: nếu bạn được phép chạy vòng quanh trong một thế giới trước khi tất cả các bức tường được tải, bạn có thể vào đằng sau bức tường mà bạn không bao giờ có thể bị bỏ lại phía sau nếu trò chơi tải các bức tường trước khi cho phép bạn di chuyển. Không phải lúc nào cũng dễ dàng để biết khi nào bạn có thể thoát khỏi việc tải nội dung "lười biếng" và khi nào bạn phải đảm bảo rằng nội dung được tải đầy đủ.

Tải động cũng phức tạp hơn nhiều. Bạn liên tục phải xem xét phải làm gì nếu tài nguyên chưa được tải. Đây là một sự tiêu tốn tài nguyên phát triển. Nó dễ dàng hơn nhiều để phát triển khi bạn có thể dựa vào các tài nguyên để tồn tại.

Độ trễ cũng không phải lúc nào cũng được chấp nhận. Tôi đã nghe nói về các trường hợp trong Starcraft nơi bạn sẽ "làm nóng" trò chơi của mình bằng cách tải bản đồ có tác dụng phụ là lưu trữ mọi mô hình / hình ảnh được tải động. Sau đó bạn sẽ thoát ra và chơi game bình thường. Đối với những game thủ ưu tú, việc giảm thiểu tối đa GUI này đã ảnh hưởng đến lối chơi của họ. Cố gắng chứng minh độ trễ nào sẽ được người dùng chấp nhận và điều nào sẽ không khó khăn.

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.