Tôi chưa từng thấy bất kỳ trò chơi MMO nào với các phương tiện có vật lý thực tế và điều đó có thể đạt được tốc độ cao, tại sao? Có phải vì giới hạn băng thông mạng?
Cuộc sống thứ hai có xe cộ, nhưng vật lý thì kém và tốc độ tối đa thì thảm hại.
Tôi chưa từng thấy bất kỳ trò chơi MMO nào với các phương tiện có vật lý thực tế và điều đó có thể đạt được tốc độ cao, tại sao? Có phải vì giới hạn băng thông mạng?
Cuộc sống thứ hai có xe cộ, nhưng vật lý thì kém và tốc độ tối đa thì thảm hại.
Câu trả lời:
Có và không (nhưng chủ yếu, không).
Bất kỳ trò chơi MMO nào cũng có một số hạn chế ảnh hưởng đến vật lý của nó. Điều quan trọng nhất trong số này là độ trễ . Độ trễ là thời gian để khách hàng gửi yêu cầu đến máy chủ và nhận được câu trả lời. Ngay cả trong những trường hợp tốt nhất, thời gian này là khoảng 50-100 mili giây. Trong thế giới thực, nó có thể cao tới 500 ms. Điều này có nghĩa là, bất cứ khi nào người chơi làm điều gì đó - như, nói, quay bánh xe của anh ta - anh ta có thể thấy trò chơi phản ứng với nó chỉ 100-500 ms sau đó.
100 ms thực sự là khá nhiều. Bất kỳ trò chơi nào có độ trễ nhiều sẽ cảm thấy không phản hồi và 500 ms cảm thấy hoàn toàn không thể chơi được. Đó là lý do tại sao khách hàng trò chơi sử dụng rất nhiều thủ thuật để che giấu độ trễ này. Ví dụ, xe của người chơi có thể bắt đầu quay khoảnh khắc anh ta quay bánh xe, mà không cần chờ máy chủ. Tuy nhiên, những thủ thuật này chỉ che giấu độ trễ và thực sự không bao giờ có thể làm giảm nó.
Giả sử, ví dụ, chúng ta có hai người chơi trong xe ô tô lái cùng lúc về phía nhau. Mỗi khách hàng sẽ bắt đầu quay chiếc xe của mình ngay lập tức; nhưng xe của người chơi khác sẽ không quay đầu - vì thông tin về khóa học thay đổi vẫn chưa đến tay khách, vì độ trễ. Cả hai người chơi vui vẻ điều khiển xe của họ, và sau đó bam! - máy chủ thông báo rằng họ thực sự đã đâm vào nhau.
Những tình huống như thế này không thể ngăn chặn được. Cho dù chúng tôi sử dụng phương án dự đoán thông minh nào, ở đâu có những người chơi khác, luôn có cơ hội để mọi thứ trở nên sai lầm. Trong bất kỳ trò chơi MMO nào, khoảng nửa giây mà bạn vừa thấy chưa thực sự xảy ra và có thể thay đổi bất kỳ lúc nào. Bây giờ, trong các trò chơi có nhịp độ chậm như MMORPG truyền thống, nửa giây không thực sự dài. Nhân vật chỉ di chuyển có thể một hoặc hai mét trong thời gian này. Tuy nhiên, nếu chúng ta đang nói về cuộc đua xe tốc độ nhanh, thì nửa giây là một khoảng thời gian thực sự dài! Bạn có thể gặp sự cố, như, ba lần trong nửa giây (-8
Trên thực tế, một trò chơi có nhịp độ nhanh có thể hoạt động ngay cả với những hạn chế này. Nó sẽ có một số khoảnh khắc khó chịu, nhưng miễn là tất cả người chơi có kết nối tốt, nó sẽ có thể chơi được. Đó là cách trò chơi đua xe nhiều người chơi hoạt động. Tuy nhiên, có một hạn chế MMO khác: số lượng cập nhật bình phương N.
Hãy tưởng tượng 10 người chơi cùng lúc. Để họ nhìn thấy nhau, máy chủ phải gửi mọi thông tin người chơi về mọi người chơi khác. Điều này có nghĩa, trong ví dụ của chúng tôi, 10x10 = 100 mẩu thông tin cần chuẩn bị và gửi. Đó là số lượng người chơi bình phương, do đó "N bình phương". Con số này tăng khá nhanh và ngay cả những game MMORPG truyền thống cũng bắt đầu gặp khó khăn khi có rất nhiều người chơi trong cùng khu vực. Đối với trò chơi có nhịp độ nhanh tưởng tượng của chúng tôi với ô tô, những thông tin này phải được gửi nhanh hơn nhiều so với trong trò chơi chậm hơn. VÀ chúng có thể lớn hơn - bạn không chỉ gửi các vị trí, mà cả vận tốc, gia tốc, vận tốc góc, v.v. Điều này có nghĩa là bất kỳ trò chơi nhiều người chơi nhanh nào cũng chỉ có thể có số lượng người chơi hạn chế.
Cả hai vấn đề trên có thể không về nguyên tắc được giải quyết bằng các phần mềm, chỉ đeo mặt nạ chừng mực nào đó. Chúng có thể được giảm một chút bằng cách giới hạn số lượng người chơi - vì vậy, ví dụ, một trò chơi trong đó xe ô tô nhanh chỉ được sử dụng trong trường hợp có số lượng người chơi hạn chế có thể thực hiện được. Tôi tin rằng đó là những gì APB đã làm. Nhưng một trò chơi MMO thế giới mở đầy đủ với những chiếc xe nhanh sẽ không xảy ra. Không phải cho đến khi chúng ta có giao diện mạng lượng tử hoặc một cái gì đó.
Đúng.
Bạn phải đối phó với độ trễ mạng và đồng bộ hóa trạng thái trò chơi trên toàn mạng. Những chiếc xe di chuyển càng nhanh thì độ trễ mạng càng trở nên đáng chú ý. Người chơi có thể đâm vào tường, vì máy khách trò chơi của họ không cập nhật trạng thái trò chơi trên máy chủ do sự cố mạng. Đó không phải là vấn đề khi người chơi di chuyển với tốc độ đi bộ ;-)
Một máy chủ MMO có tải nhiều hơn. Một trò chơi đua xe nhiều người chơi có thể chạy tốt với 10 người được kết nối, nhưng sẽ bị sập và cháy nếu máy chủ không phản hồi dưới tải nặng từ hàng trăm người dùng.
Vật lý xe của Second Life chỉ được thực hiện kém. (Đây có còn sống không?)
Garry's Mod có khá nhiều vật lý. Tôi không nghĩ nó được tính là MMO như vậy - mặc dù nó sẽ hỗ trợ 32 người chơi trên mỗi máy chủ - và đó là vật lý thực tế nhất mà tôi từng thấy (không chỉ là phương tiện).
Tôi đoán rằng đã không có một MMO nào được thiết kế dành cho vật lý.
Họ đã cố gắng thực hiện điều này trong một thất bại lớn của một trò chơi gọi là bản tin tất cả các điểm. Vâng, khái niệm này là tuyệt vời việc thực hiện không quá nhiều. Những chiếc xe ngẫu nhiên sẽ xuất hiện từ hư không. Bạn sẽ lái xe và đâm vào một bức tường sau đó biến thành một chiếc xe hơi. Tôi có thể thấy nó được thực hiện bằng cách nào đó trong năm năm tới mặc dù nhiều cpu ít gpu hơn.
Trước tiên hãy xem tham khảo của bạn.
Bản thân GTA có một vài vấn đề với nhiều người chơi, nhưng điều này được mong đợi. Một ví dụ là khi độ trễ biến chiếc xe của bạn đuổi theo thành cơn ác mộng. Đôi khi người chơi giết nhau vì độ trễ.
Nhưng độ trễ không phải là vấn đề duy nhất, bạn không thể chạy MMO chỉ với máy khách, bạn cần máy chủ và các máy chủ này phải quản lý hầu hết nếu không phải tất cả các vật lý để tránh gian lận.
Vì vậy, hãy tưởng tượng phải chạy với hàng ngàn người chơi. Hãy tưởng tượng sự căng thẳng trên CPU trong các hoạt động chuyên sâu vật lý. Bạn có thể bù một phần căng thẳng cho GPU chuyên dụng . Bullet Vật lý có một triển khai chạy trên CPU.
Nhưng để tránh quá tải trong máy chủ, bạn sẽ cần thực hiện một cơ chế để xử lý các định nghĩa vùng động tùy thuộc vào mật độ người chơi. Nó quan trọng hơn nhiều trong trường hợp đó so với các MMO khác.
Nó là có thể làm được. Vấn đề ở đây là cần phải mở rộng quy mô trò chơi để xử lý nhiều người chơi hơn và chạy phiên bản chính của trò chơi được phân phối trên các máy chủ.
Nếu bạn quản lý để tối ưu hóa vật lý của mình, chuyển các đối tượng nhanh chóng và hiệu quả qua các máy chủ và tìm cách tránh đám đông lớn (ví dụ), thì bạn có thể làm điều đó với các hạn chế tương tự như tham chiếu của bạn và một vài đối tượng khác do tính chất MMO của trò chơi.
Hãy nhớ rằng bạn không phải gửi tất cả các cập nhật trạng thái trò chơi cho tất cả người chơi mọi lúc, chỉ cần thay đổi ngay lập tức liên quan đến người chơi, phần còn lại có thể được gửi ở mức thấp hơn.