Chunking / bộ nhớ đệm cấp độ lớn trong một trò chơi đơn


8

Liệu có ý nghĩa gì khi cố gắng giảm tải một mức độ phi tuyến lớn thành các khối dựa trên tệp và tải những thứ đó theo yêu cầu? Chúng tôi đã triển khai phân đoạn cấp độ để cải thiện hiệu suất kết xuất, nhưng tất cả các đối tượng cấp độ vẫn tồn tại trong RAM.

Nếu có, thì làm thế nào để chúng ta giữ ảo tưởng về một thế giới sống / thay đổi? Vì cấp độ không phải là tuyến tính, mà giống như một thế giới trong chính nó, chúng ta không thể giả vờ rằng bất cứ điều gì một người đi qua sẽ biến mất mãi mãi.

Có phải là một ý tưởng tốt hơn để làm cho các mức đủ phức tạp, nhưng cũng đủ tối ưu hóa để luôn luôn bền bỉ trong bộ nhớ, nhưng thực hiện các điểm nhảy vi mô / vĩ mô cho phép một người nhảy đến một điểm hoàn toàn xa (tức là một cấp độ hoàn toàn mới), do đó quên về sự nhất quán của thế giới và ảo tưởng về một thế giới đang thay đổi. Ngoài ra, điều này sẽ cho phép chúng ta theo dõi một câu chuyện hơi tuyến tính trong một thế giới dường như phi tuyến tính. Có thể chỉ cần áp dụng một trạng thái mới cho trạng thái hiện tại ở mức "xa", nếu chúng ta muốn đưa người chơi trở lại trạng thái đó.

Câu trả lời:


6

Tạo khối thực sự là một ý tưởng tốt nhưng bạn cần sử dụng nó một cách khôn ngoan. có rất nhiều tựa game lớn sử dụng cùng một ý tưởng để tạo ảo giác về thế giới rất rộng lớn. ví dụ bạn có thể đề cập đến bào tử hoặc lãng quên.

Trước tiên, hãy nói về bào tử vì trong giai đoạn thiên hà, bạn có thể dễ dàng thấy mọi thứ hoạt động như thế nào:

có nhiều hành tinh trong thiên hà nhưng không phải tất cả chúng đều nằm trong bộ nhớ cùng một lúc. Bất cứ khi nào bạn đến gần một hành tinh, trò chơi sẽ tự động tải một kết cấu cho hành tinh đó từ đĩa cứng. Sau đó, nếu bạn đến đủ gần, bạn có thể vào hành tinh và thực hiện một số thay đổi. trong khi bạn ở trong một hành tinh thì hầu như tất cả dữ liệu về không gian bên ngoài đều được sắp xếp lại. Và bạn có thể thực hiện bất kỳ thay đổi trong hành tinh mà bạn thích. sau đó bạn có thể quay lại không gian xem. lần này trò chơi tải lại dữ liệu cho các hành tinh khác và lưu lại những thay đổi bạn đã thực hiện trên hành tinh đó. ví dụ: nếu bạn đã tạo một ngọn núi ở đó, tất cả các thay đổi về lưới và kết cấu sẽ được lưu lại trong các tệp. cũng có một số sự kiện được lưu trong tập tin giống như khi bạn đặt thiết bị giúp sinh vật tiến hóa trong các hành tinh. những sự kiện này vẫn hoạt động cho đến khi bạn thực sự cách xa hành tinh kích hoạt chúng.

Trong sự lãng quên có một chút khác biệt, mặc dù ý tưởng cơ bản là như nhau. Khi bạn đi bộ trong tự nhiên, trò chơi liên tục tải và dỡ các khu vực. nếu bạn đã thử chơi trò quên lãng trên PS3 thì quá trình này tạo ra một số độ trễ nhỏ trong khu vực chuyển tiếp (hoặc ít nhất là tôi nghe nói họ đã làm). cũng có một số khu vực hoàn toàn dừng trò chơi và bạn thấy một màn hình tải như khi bạn vào hang bạn ở nhà. sử dụng phương pháp này họ dễ dàng giảm mức độ phức tạp và sử dụng bộ nhớ trong các thành phố. chỉ cần nghĩ có bao nhiêu ngôi nhà trong một thành phố và chúng sẽ tiêu thụ bao nhiêu bộ nhớ nếu chúng muốn tải chúng. cũng lưu ý rằng nếu họ muốn sử dụng cùng một hệ thống tải và dỡ hàng bất cứ khi nào bạn đến gần nhà thì họ cần gần như toàn bộ băng thông hdd, và nó có thể làm hỏng hdd.

để kết luận câu trả lời của tôi, tôi khuyên bạn nên sử dụng cùng một phương pháp trong trò chơi cho các khu vực rộng. bạn cũng phải lưu mọi thay đổi mà người chơi đã thực hiện trong một khu vực trong khi dỡ tải. Phương pháp này mang lại trải nghiệm rất thú vị về việc khám phá một thế giới thực cho người chơi. Nhưng đối với các khu vực có nhiều đối tượng và bạn nghĩ rằng bạn có thể cần hầu hết băng thông lưu trữ để truyền dữ liệu, chỉ cần sử dụng một phương pháp truyền thống với màn hình tải.

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.