Lag – Wikipedia

Trong trò chơi trực tuyến, lag là một độ trễ đáng chú ý giữa hành động của người chơi và phản ứng của máy chủ hỗ trợ trò chơi.

Dung sai cho độ trễ phụ thuộc vào loại trò chơi. Ví dụ, trò chơi chiến lược hoặc trò chơi theo lượt với tốc độ thấp có thể có ngưỡng cao hoặc thậm chí không bị ảnh hưởng bởi độ trễ cao, trong khi trò chơi co giật như trò chơi bắn súng góc nhìn thứ nhất với tốc độ cao hơn đáng kể có thể yêu cầu đáng kể độ trễ thấp hơn để có thể cung cấp trò chơi thỏa mãn. Tuy nhiên, các đặc điểm cụ thể của vấn đề trò chơi. Ví dụ, cờ vua nhanh là một trò chơi theo lượt, hành động nhanh và có thể không chịu được độ trễ cao. Ngoài ra, một số trò chơi co giật có thể được thiết kế sao cho chỉ những sự kiện không ảnh hưởng đến kết quả của trò chơi mới gây ra độ trễ, cho phép phản ứng nhanh cục bộ hầu hết thời gian.

Ping đề cập đến độ trễ mạng giữa máy khách của người chơi và máy chủ trò chơi được đo bằng tiện ích ping hoặc tương đương. Ping được báo cáo định lượng dưới dạng thời gian trung bình tính bằng mili giây (ms). Ping của một người càng thấp, độ trễ càng thấp và người chơi sẽ trải nghiệm độ trễ thấp hơn. ping cao ping thấp là các thuật ngữ thường được sử dụng trong trò chơi trực tuyến, trong đó ping cao đề cập đến ping gây ra độ trễ nghiêm trọng; trong khi bất kỳ mức độ ping nào cũng có thể gây ra độ trễ, độ trễ nghiêm trọng thường được gây ra bởi ping trên 100 ms. [1] Cách sử dụng này là một thông tục văn hóa chơi game và không được tìm thấy hoặc sử dụng phổ biến trong các mạng máy tính chuyên nghiệp. Trong các trò chơi có thời gian là chính, chẳng hạn như game bắn súng góc nhìn thứ nhất và trò chơi chiến lược thời gian thực, ping thấp luôn được mong muốn, vì ping thấp có nghĩa là chơi game mượt mà hơn bằng cách cho phép cập nhật dữ liệu trò chơi nhanh hơn giữa máy khách và máy chủ trò chơi.

Độ trễ cao có thể gây ra độ trễ. Các máy chủ trò chơi có thể ngắt kết nối máy khách nếu độ trễ quá cao và có thể gây bất lợi cho lối chơi của người chơi khác. Tương tự, phần mềm máy khách thường sẽ bắt buộc ngắt kết nối nếu độ trễ quá cao. Ping cao cũng có thể khiến máy chủ gặp sự cố do mất ổn định.

Trong một số trò chơi bắn súng góc nhìn thứ nhất, ping cao có thể khiến người chơi vô tình đạt được những lợi thế không công bằng, chẳng hạn như biến mất khỏi một địa điểm và xuất hiện lại ngay lập tức ở một địa điểm khác, mô phỏng hiệu ứng dịch chuyển tức thời, khiến người chơi khác khó có thể đánh giá vị trí nhân vật của họ và sau đó khiến người chơi khó nhắm mục tiêu hơn nhiều. Để chống lại điều này, nhiều máy chủ trò chơi tự động đá người chơi với tốc độ ping cao hơn mức trung bình. Ngược lại, ping cao có thể khiến người chơi rất khó chơi trò chơi do các hiệu ứng tiêu cực xảy ra, khiến người chơi khó theo dõi người chơi khác và thậm chí di chuyển nhân vật của họ.

Thay vì sử dụng yêu cầu tiếng vang ICMP truyền thống và trả lời các gói mạng để xác định thời gian ping, các lập trình viên trò chơi video thường xây dựng phát hiện độ trễ của riêng họ vào các gói trò chơi hiện có (thường dựa trên giao thức UDP).

Một số yếu tố có thể ảnh hưởng đến ping bao gồm: giao thức truyền thông được sử dụng, thông lượng Internet (tốc độ kết nối), chất lượng của nhà cung cấp dịch vụ Internet của người dùng và cấu hình của tường lửa. Ping cũng bị ảnh hưởng bởi vị trí địa lý. Chẳng hạn, nếu ai đó ở Ấn Độ, chơi trên một máy chủ ở Hoa Kỳ, khoảng cách giữa hai người sẽ lớn hơn so với người chơi ở Hoa Kỳ và do đó mất nhiều thời gian hơn để truyền dữ liệu. Tuy nhiên, số lượng chuyển mạch gói và phần cứng mạng ở giữa hai máy tính thường có ý nghĩa hơn. Ví dụ, thẻ giao diện mạng không dây phải điều chỉnh tín hiệu số thành tín hiệu vô tuyến, thường tốn kém hơn thời gian cần tín hiệu điện để truyền qua một dải cáp thông thường. Như vậy, ping thấp hơn có thể dẫn đến tốc độ tải xuống và tải lên internet nhanh hơn.

Kiến trúc trò chơi đơn giản hóa

Trong khi trò chơi một người chơi duy trì trạng thái trò chơi chính trên máy cục bộ, một trò chơi trực tuyến yêu cầu duy trì nó trên một máy chủ trung tâm để tránh sự không nhất quán giữa các máy khách riêng lẻ. Do đó, khách hàng không có quyền kiểm soát trực tiếp trạng thái trò chơi trung tâm và chỉ có thể gửi yêu cầu thay đổi đến máy chủ và chỉ có thể cập nhật trạng thái trò chơi cục bộ bằng cách nhận cập nhật từ máy chủ. Điều này cần phải giao tiếp gây ra sự chậm trễ giữa máy khách và máy chủ, và là nguyên nhân cơ bản đằng sau độ trễ. Mặc dù có thể có nhiều lý do cơ bản về lý do tại sao người chơi gặp sự cố lag, chúng có thể được tóm tắt là không đủ phần cứng trong máy khách hoặc máy chủ hoặc kết nối kém giữa máy khách và máy chủ. [2] [19659002] Các vấn đề liên quan đến phần cứng gây ra độ trễ do cấu trúc cơ bản của kiến ​​trúc trò chơi. Nói chung, các trò chơi bao gồm một chuỗi các trạng thái lặp hoặc "khung". Trong mỗi khung hình, trò chơi chấp nhận đầu vào của người dùng và thực hiện các tính toán cần thiết (AI, đồ họa, v.v.). Khi tất cả quá trình xử lý kết thúc, trò chơi sẽ cập nhật trạng thái trò chơi và tạo ra một đầu ra, chẳng hạn như một hình ảnh mới trên màn hình và / hoặc một gói được gửi đến máy chủ. Tần suất mà các khung được tạo ra thường được gọi là tốc độ khung hình. Vì trạng thái trò chơi trung tâm nằm trên máy chủ, thông tin cập nhật phải được gửi từ máy khách đến máy chủ để có hiệu lực. Ngoài ra, khách hàng phải nhận được thông tin cần thiết từ máy chủ để cập nhật đầy đủ trạng thái. Việc tạo các gói để gửi đến máy chủ và xử lý các gói đã nhận chỉ có thể được thực hiện thường xuyên khi máy khách có thể cập nhật trạng thái cục bộ của nó. Mặc dù về mặt lý thuyết các gói có thể được tạo và gửi nhanh hơn mức này, nhưng nó sẽ chỉ dẫn đến việc gửi dữ liệu dư thừa nếu trạng thái trò chơi không thể được cập nhật giữa mỗi gói. Do đó, tốc độ khung hình thấp sẽ khiến trò chơi ít phản hồi hơn với các bản cập nhật và có thể buộc nó bỏ qua dữ liệu lỗi thời.

Ngược lại, điều tương tự cũng đúng với máy chủ. Tốc độ khung hình (hoặc tốc độ đánh dấu) của máy chủ xác định tần suất nó có thể xử lý dữ liệu từ máy khách và gửi cập nhật. Loại vấn đề này rất khó dự đoán và bù đắp. Ngoài việc thực thi các yêu cầu phần cứng tối thiểu và cố gắng tối ưu hóa trò chơi để có hiệu suất tốt hơn, không có cách nào khả thi để giải quyết.

Có lẽ loại độ trễ phổ biến nhất là do các vấn đề về hiệu suất mạng. Mất mát, tham nhũng hoặc jitter (một gói lỗi thời có hiệu lực là mất) đều có thể gây ra sự cố, nhưng những vấn đề này tương đối hiếm trong một mạng có đủ băng thông và không có hoặc ít tắc nghẽn. Thay vào đó, độ trễ liên quan đến việc truyền dữ liệu giữa máy khách và máy chủ đóng một vai trò quan trọng. Độ trễ thay đổi tùy thuộc vào một số yếu tố, chẳng hạn như khoảng cách vật lý giữa các hệ thống đầu cuối, vì khoảng cách dài hơn có nghĩa là độ dài truyền bổ sung và định tuyến cần thiết và do đó độ trễ cao hơn. Định tuyến qua Internet có thể cực kỳ gián tiếp, dẫn đến độ dài đường truyền (và độ trễ do đó) cao hơn nhiều so với tuyến trực tiếp, mặc dù dịch vụ trò chơi đám mây OnLive đã phát triển một giải pháp cho vấn đề này bằng cách thiết lập mối quan hệ tiên phong với nhiều Nhà cung cấp dịch vụ Internet mạng cấp 1 và chọn tuyến tối ưu giữa máy chủ và người dùng. [3] Ngoài ra, không đủ băng thông và tắc nghẽn, ngay cả khi không đủ nghiêm trọng để gây ra tổn thất, có thể gây ra sự chậm trễ thêm bất kể khoảng cách. Cũng như các vấn đề về phần cứng, các gói đến chậm hoặc không hoàn toàn sẽ khiến cả máy khách và máy chủ không thể cập nhật trạng thái trò chơi kịp thời.

Các hệ thống trò chơi trực tuyến sử dụng mạng không dây có thể bị trễ đáng kể, tùy thuộc vào kiến ​​trúc của mạng không dây và nhiễu điện từ cục bộ ảnh hưởng đến mạng đó. Nhiễu điện từ (ví dụ: từ lò vi sóng) có thể làm mất các gói truyền đi, đòi hỏi phải truyền lại mà phát sinh độ trễ. Mặc dù truyền sóng vô tuyến qua không khí nhanh hơn ánh sáng qua cáp quang, các hệ thống không dây thường được chia sẻ giữa nhiều người dùng và có thể bị trễ do phát sinh do tắc nghẽn mạng hoặc do các giao thức mạng giới thiệu độ trễ.

Hiệu ứng [ chỉnh sửa ]

Hiệu ứng đáng chú ý của độ trễ không chỉ phụ thuộc vào nguyên nhân chính xác, mà còn về bất kỳ và tất cả các kỹ thuật bù độ trễ mà trò chơi có thể thực hiện (được mô tả phía dưới). Vì tất cả các khách hàng đều gặp phải một số chậm trễ, việc thực hiện các phương pháp này để giảm thiểu ảnh hưởng đến người chơi là điều quan trọng để chơi trò chơi mượt mà. Lag gây ra nhiều vấn đề cho các vấn đề như hiển thị chính xác trạng thái trò chơi và phát hiện lần truy cập. [4] Trong nhiều trò chơi, lag thường bị nhăn mặt vì nó phá vỡ lối chơi thông thường. Mức độ nghiêm trọng của độ trễ phụ thuộc vào loại trò chơi và khả năng chịu đựng độ trễ vốn có của nó. Một số trò chơi có tốc độ chậm hơn có thể chịu được sự chậm trễ đáng kể mà không cần phải bù chút nào, trong khi những trò chơi khác có tốc độ nhanh hơn thì nhạy hơn đáng kể và yêu cầu sử dụng rộng rãi để có thể chơi được (như thể loại game bắn súng góc nhìn thứ nhất). Do các vấn đề khác nhau có thể gây ra, đôi khi người chơi có kết nối Internet không đủ nhanh đôi khi không được phép hoặc không khuyến khích chơi với những người chơi hoặc máy chủ khác có máy chủ ở xa hoặc có độ trễ cao với nhau. Các trường hợp cực kỳ trễ có thể dẫn đến sự không đồng bộ hóa rộng rãi của trạng thái trò chơi.

Lag do tốc độ cập nhật không đủ giữa máy khách và máy chủ có thể gây ra một số vấn đề, nhưng những điều này thường bị giới hạn ở chính máy khách. Những người chơi khác có thể nhận thấy chuyển động giật và các vấn đề tương tự với người chơi liên quan đến khách hàng bị ảnh hưởng, nhưng vấn đề thực sự nằm ở chính khách hàng. Nếu khách hàng không thể cập nhật trạng thái trò chơi với tốc độ đủ nhanh, người chơi có thể được hiển thị các bản dựng lỗi thời của trò chơi, điều này gây ra nhiều vấn đề khác nhau với phát hiện va chạm và va chạm. [5] Nếu tốc độ cập nhật thấp là do tốc độ khung hình thấp (trái ngược với cài đặt trên máy khách, như một số trò chơi cho phép), những vấn đề này thường bị lu mờ bởi nhiều vấn đề liên quan đến chính quá trình xử lý phía máy khách. Cả màn hình và điều khiển sẽ chậm chạp và không phản hồi. Mặc dù điều này có thể làm tăng độ trễ nhận thức, điều quan trọng cần lưu ý là nó thuộc loại khác với độ trễ liên quan đến mạng. So sánh, cùng một vấn đề trên máy chủ có thể gây ra vấn đề đáng kể cho tất cả các khách hàng liên quan. Nếu máy chủ không thể hoặc không sẵn sàng chấp nhận các gói từ khách hàng đủ nhanh và xử lý chúng kịp thời, các hành động của khách hàng có thể không bao giờ được đăng ký. Sau đó, khi máy chủ gửi các bản cập nhật cho khách hàng, họ có thể gặp phải tình trạng đóng băng (trò chơi không phản hồi) và / hoặc rollback, tùy thuộc vào loại bù trễ nào, nếu có, trò chơi sử dụng.

Độ trễ do độ trễ của mạng trái ngược với vấn đề thường ít hơn. Mặc dù phổ biến hơn, các hiệu ứng thực tế thường nhỏ hơn và có thể bù cho các loại độ trễ này. Không có bất kỳ hình thức bù trễ nào, khách hàng sẽ nhận thấy rằng trò chơi chỉ phản hồi trong một thời gian ngắn sau khi một hành động được thực hiện. Điều này đặc biệt có vấn đề ở những game bắn súng góc nhìn thứ nhất, nơi kẻ thù có khả năng di chuyển khi người chơi cố gắng bắn chúng và lề cho lỗi thường rất nhỏ.

Giải pháp và bù độ trễ [ chỉnh sửa ]

Có nhiều phương pháp khác nhau để giảm hoặc ngụy trang cho sự chậm trễ, mặc dù nhiều cách trong số này có nhược điểm và có thể không áp dụng được trong mọi trường hợp. Nếu bản thân trò chơi không thể đồng bộ hóa, khách hàng có thể chọn chơi trên các máy chủ ở vị trí gần nhau để giảm độ trễ hoặc máy chủ có thể chỉ cần chọn bỏ máy khách có độ trễ cao để tránh phải đối phó với các vấn đề kết quả. Tuy nhiên, đây là những giải pháp khó tối ưu. Thay vào đó, các trò chơi thường sẽ được thiết kế để bù đắp độ trễ. [6]

Nhiều vấn đề có thể được giải quyết đơn giản bằng cách cho phép khách hàng theo dõi trạng thái của chính họ và gửi trạng thái tuyệt đối đến máy chủ hoặc trực tiếp cho các khách hàng khác. [7] Ví dụ, khách hàng có thể nói chính xác vị trí của nhân vật người chơi hoặc nhân vật đã bắn. Giải pháp này hoạt động và sẽ loại bỏ hầu hết các vấn đề liên quan đến độ trễ. Thật không may, nó cũng dựa vào giả định rằng khách hàng là trung thực. Không có gì ngăn người chơi sửa đổi dữ liệu họ gửi, trực tiếp tại máy khách hoặc gián tiếp thông qua proxy, để đảm bảo họ sẽ luôn đạt được mục tiêu. Trong các trò chơi trực tuyến, nguy cơ gian lận có thể khiến giải pháp này không khả thi và khách hàng sẽ bị giới hạn trong việc gửi các trạng thái tương đối (nghĩa là vectơ nào nó di chuyển hoặc bắn vào).

Phía máy khách [ chỉnh sửa ]

Vì khách hàng thường không được phép xác định trạng thái trò chơi chính, mà chỉ nhận nó từ máy chủ, nhiệm vụ chính của phía máy khách Bồi thường là làm cho thế giới ảo chính xác nhất có thể. Vì các bản cập nhật đi kèm với độ trễ và thậm chí có thể bị hủy, đôi khi khách hàng cần phải dự đoán dòng chảy của trò chơi. Vì trạng thái được cập nhật theo các bước riêng biệt, khách hàng phải có thể ước tính một chuyển động dựa trên các mẫu có sẵn. Hai phương pháp cơ bản có thể được sử dụng để thực hiện điều này; ngoại suy và nội suy. [7]

Phép ngoại suy là một nỗ lực để ước tính trạng thái trò chơi trong tương lai. Ngay khi nhận được một gói từ máy chủ, vị trí của một đối tượng được cập nhật lên vị trí mới. Đang chờ cập nhật tiếp theo, vị trí tiếp theo được ngoại suy dựa trên vị trí hiện tại và chuyển động tại thời điểm cập nhật. Về cơ bản, khách hàng sẽ cho rằng một đối tượng chuyển động sẽ tiếp tục theo cùng một hướng. Khi một gói mới được nhận, vị trí có thể được điều chỉnh một chút.

Nội suy hoạt động bằng cách chủ yếu đệm một trạng thái trò chơi và hiển thị trạng thái trò chơi cho người chơi với độ trễ nhẹ, liên tục. Khi một gói từ máy chủ đến, thay vì cập nhật vị trí của một đối tượng ngay lập tức, máy khách sẽ bắt đầu nội suy vị trí, bắt đầu từ vị trí đã biết cuối cùng. Trong một khoảng thời gian nội suy, đối tượng sẽ được kết xuất di chuyển trơn tru giữa hai vị trí. Lý tưởng nhất là khoảng thời gian này phải khớp chính xác với độ trễ giữa các gói, nhưng do mất và độ trễ biến đổi, điều này hiếm khi xảy ra.

Cả hai phương pháp đều có ưu điểm và nhược điểm.

  • Nội suy đảm bảo rằng các đối tượng sẽ chỉ di chuyển giữa các vị trí hợp lệ và sẽ tạo ra kết quả tốt với độ trễ liên tục và không mất. Nếu các gói bị rơi hoặc không theo thứ tự tràn bộ đệm nội suy, máy khách sẽ phải đóng băng đối tượng tại vị trí cho đến khi một gói mới đến hoặc thay vào đó là ngoại suy. Nhược điểm của phép nội suy là nó khiến thế giới được kết xuất với độ trễ bổ sung, làm tăng nhu cầu về một số hình thức bù trễ được thực hiện.
  • Vấn đề với các vị trí ngoại suy là khá rõ ràng: không thể dự đoán chính xác về tương lai . Nó sẽ kết xuất chuyển động chính xác chỉ khi chuyển động không đổi, nhưng điều này sẽ không luôn luôn như vậy. Người chơi có thể thay đổi cả tốc độ và hướng ngẫu nhiên. Điều này có thể dẫn đến một lượng "cong vênh" nhỏ khi các bản cập nhật mới đến và các vị trí ước tính được sửa chữa, và cũng gây ra sự cố khi phát hiện lần truy cập vì người chơi có thể được hiển thị ở những vị trí mà họ không thực sự ở.

cho phép chơi game mượt mà, khách hàng được phép thực hiện các thay đổi mềm đối với trạng thái trò chơi. Mặc dù máy chủ cuối cùng có thể theo dõi đạn dược, sức khỏe, vị trí, v.v., khách hàng có thể được phép dự đoán trạng thái trò chơi phía máy chủ mới dựa trên hành động của người chơi, như cho phép người chơi bắt đầu di chuyển trước khi máy chủ phản hồi lệnh. Những thay đổi này thường sẽ được chấp nhận trong điều kiện bình thường và làm cho sự chậm trễ hầu như minh bạch. Các vấn đề sẽ chỉ phát sinh trong trường hợp chậm trễ hoặc tổn thất cao, khi các dự đoán của khách hàng được máy chủ hoàn tác rất đáng chú ý. Đôi khi, trong trường hợp có sự khác biệt nhỏ, máy chủ thậm chí có thể cho phép thay đổi "không chính xác" đối với trạng thái dựa trên các cập nhật từ máy khách.

Phía máy chủ [ chỉnh sửa ]

Không giống như máy khách, máy chủ biết chính xác trạng thái trò chơi hiện tại và vì vậy việc dự đoán như vậy là không cần thiết. Thay vào đó, mục đích chính của bù độ trễ phía máy chủ là để cung cấp các hiệu ứng chính xác cho các hành động của máy khách. Điều này rất quan trọng bởi vì khi lệnh của người chơi đến, thời gian sẽ chuyển sang và thế giới sẽ không còn ở trạng thái mà người chơi đã thấy khi ban hành lệnh của họ. Một ví dụ rất rõ ràng về điều này là phát hiện trúng các vũ khí được bắn trong các game bắn súng góc nhìn thứ nhất, trong đó lề nhỏ và có khả năng gây ra vấn đề đáng kể nếu không được xử lý đúng cách.

Tua lại thời gian [ chỉnh sửa ]

Một cách khác để giải quyết vấn đề là lưu trữ các trạng thái trò chơi trong một khoảng thời gian nhất định, sau đó tua lại vị trí của người chơi khi xử lý lệnh. [19659043] Máy chủ sử dụng độ trễ của trình phát (bao gồm mọi độ trễ vốn có do nội suy; xem ở trên) để tua lại thời gian theo một mức thích hợp để xác định những gì khách hàng chụp tại thời điểm phát bắn. Điều này thường sẽ dẫn đến việc máy chủ nhìn thấy máy khách bắn vào vị trí cũ của mục tiêu và do đó đánh. Trong trường hợp xấu nhất, một người chơi sẽ bị bỏ lại phía sau đến mức máy chủ hết dữ liệu lịch sử và họ phải bắt đầu dẫn đầu mục tiêu của mình.

Đây là một giải pháp WYSIWYG cho phép người chơi nhắm trực tiếp vào những gì họ đang thấy. Nhưng cái giá là một sự tăng nặng của những ảnh hưởng của độ trễ khi người chơi bị bắn: không chỉ độ trễ của chính họ đóng một phần, mà cả kẻ tấn công của họ cũng vậy. Trong nhiều tình huống, điều này không đáng chú ý, nhưng những người chơi vừa mới bảo vệ sẽ nhận thấy rằng họ tiếp tục nhận được tin nhắn thiệt hại / tử vong từ máy chủ lâu hơn độ trễ của chính họ có thể biện minh. Điều này có thể dẫn đến ấn tượng (sai) thường xuyên hơn là chúng bị bắn xuyên qua và ấn tượng (không hoàn toàn không chính xác) của "hitboxes lag". [7]

Một vấn đề thiết kế phát sinh từ việc tua lại là liệu có nên dừng tua lại các lệnh bị trễ của người chơi đã chết ngay khi họ chết trên máy chủ hay tiếp tục chạy chúng cho đến khi họ "bắt kịp" đến lúc chết. Cắt giảm bồi thường ngay lập tức ngăn nạn nhân tấn công kẻ giết người của họ, đáp ứng mong đợi, nhưng vẫn giữ được lợi thế tự nhiên của những người chơi di chuyển quanh một góc, có được mục tiêu và giết họ trong thời gian ngắn hơn một chuyến đi vòng quanh khách hàng của nạn nhân đứng yên.

Việc tua lại có thể bị chỉ trích vì cho phép độ trễ cao của một người chơi ảnh hưởng tiêu cực đến trải nghiệm của người chơi có độ trễ thấp. Máy chủ có bù trễ đôi khi sẽ giảm thời lượng lịch sử người chơi được lưu trữ hoặc thực thi giới hạn ping để giảm vấn đề này.

Tin tưởng khách hàng [ chỉnh sửa ]

Khách hàng có thể nói với máy chủ những gì họ đang làm và để máy chủ tin tưởng vào dữ liệu mà họ nhận được. Phương pháp này được tránh nếu có thể do dễ bị lừa: đó là một vấn đề đơn giản để định tuyến dữ liệu mạng qua máy tính thứ hai chèn các tin nhắn bịa đặt hoặc sửa đổi các thông tin hiện có, một kỹ thuật không thể được phát hiện bằng các công cụ chống gian lận. [7]

Tuy nhiên, quy mô tuyệt đối của một số trò chơi khiến các giải pháp tính toán đắt tiền như tua lại là không thể. Ví dụ, trong Battlefield 3 hệ thống "phát hiện hit lai" được sử dụng khi khách hàng nói với máy chủ rằng họ đánh và máy chủ chỉ thực hiện một bài kiểm tra mơ hồ về tính hợp lý trước khi chấp nhận yêu cầu bồi thường. [8]

Mặt khác, tin tưởng vào kết quả của khách hàng có những ưu điểm và nhược điểm giống như tua lại.

[ chỉnh sửa ]

Một giải pháp độ trễ ít phổ biến hơn là không làm gì trên máy chủ và để mỗi máy khách ngoại suy (xem ở trên) để che giấu độ trễ của nó. [9] Điều này tạo ra kết quả không chính xác trừ khi người chơi từ xa duy trì vận tốc không đổi, tạo lợi thế cho những người né tránh qua lại hoặc đơn giản là bắt đầu / dừng di chuyển.

Phép ngoại suy mở rộng cũng dẫn đến việc người chơi từ xa trở nên hữu hình (mặc dù không dễ bị tổn thương) khi họ không nên: ví dụ: nếu người chơi từ xa chạy đến một góc rồi dừng đột ngột ở rìa, các khách hàng khác sẽ khiến họ chạy nước rút về phía trước, vào mở, trong thời gian trễ của riêng họ. Mặt khác của vấn đề này, khách hàng phải cung cấp cho những người chơi từ xa mới bắt đầu di chuyển thêm một tốc độ để đẩy họ vào một vị trí được dự đoán chính xác về mặt lý thuyết.

Thiết kế [ chỉnh sửa ]

Có thể giảm nhận thức về độ trễ thông qua thiết kế trò chơi. Các kỹ thuật bao gồm phát hoạt hình phía máy khách như thể hành động xảy ra ngay lập tức, giảm / xóa bộ hẹn giờ tích hợp trên máy chủ và sử dụng chuyển đổi camera để che giấu cong vênh. [10]

Chơi game trên đám mây [ chỉnh sửa ]

Chơi game trên đám mây là một loại trò chơi trực tuyến trong đó toàn bộ trò chơi được lưu trữ trên máy chủ trò chơi trong trung tâm dữ liệu và người dùng chỉ chạy một máy khách mỏng cục bộ để chuyển tiếp bộ điều khiển trò chơi ngược dòng lên máy chủ trò chơi. Sau đó, máy chủ trò chơi sẽ hiển thị khung tiếp theo của video trò chơi được nén bằng cách nén video có độ trễ thấp và được gửi xuống dưới và giải nén bởi máy khách mỏng. Để có thể chấp nhận trải nghiệm chơi trò chơi trên đám mây, độ trễ của tất cả các yếu tố của hệ thống chơi trò chơi trên đám mây (máy khách mỏng, Internet và / hoặc LAN kết nối với máy chủ trò chơi, thực thi trò chơi trên máy chủ trò chơi, video và âm thanh nén và giải nén và hiển thị video trên thiết bị hiển thị) phải đủ thấp để nhận thức của người dùng là trò chơi đang chạy cục bộ. [3][11] Do yêu cầu độ trễ chặt chẽ như vậy, nên xem xét khoảng cách về tốc độ ánh sáng qua quang học Theo báo cáo của OnLive, công ty duy nhất cho đến nay vẫn vận hành một dịch vụ chơi game trên đám mây. [12] cũng có nhiều tranh cãi về độ trễ liên quan với chơi game trên nền tảng đám mây. Trong các trò chơi nhiều người chơi sử dụng kiến ​​trúc mạng máy khách / máy chủ, máy tính của người chơi sẽ hiển thị đồ họa của trò chơi cục bộ và chỉ thông tin về các hành động trong trò chơi của người chơi được gửi đến máy chủ. Ví dụ, khi người chơi nhấn nút, nhân vật trên màn hình sẽ ngay lập tức thực hiện hành động tương ứng. Tuy nhiên, hậu quả của hành động như kẻ thù bị giết chỉ được nhìn thấy sau một thời gian trì hoãn ngắn do thời gian thực hiện hành động để đến máy chủ. Điều này chỉ được chấp nhận miễn là phản hồi về đầu vào của người chơi đủ nhanh.

Khi sử dụng trò chơi trên đám mây, đầu vào của người chơi có thể dẫn đến độ trễ ngắn cho đến khi họ có thể nhìn thấy phản hồi. Đầu vào trước tiên phải được truyền đến máy chủ từ xa, sau đó máy chủ phải bắt đầu hiển thị đồ họa của hành động đang được thực hiện và truyền phát video trở lại trình phát qua mạng, mất thêm thời gian. Do đó, người chơi gặp phải sự chậm trễ đáng chú ý giữa việc nhấn nút và nhìn thấy điều gì đó xảy ra trên màn hình. Tùy thuộc vào kỹ năng và kinh nghiệm của người chơi, điều này có thể gây ra sự mất phương hướng và nhầm lẫn tương tự như Phản hồi thính giác bị trì hoãn và cản trở điều hướng và nhắm vào thế giới trò chơi. Khi nhanh chóng nhập một di chuyển kết hợp dài, ký tự trên màn hình sẽ không được đồng bộ hóa với các lần nhấn nút. Điều này thường gây ra sự nhầm lẫn nghiêm trọng ở người chơi dẫn đến sự thất bại của việc di chuyển kết hợp.

Độ trễ đầu vào thêm cũng có thể gây khó khăn khi chơi một số game chơi đơn. Ví dụ: nếu kẻ địch có một cú đánh vào người chơi và người chơi dự kiến ​​sẽ chặn, thì khi màn hình của người chơi cho thấy kẻ thù đã bắt đầu tấn công, kẻ thù đã tấn công và giết chết người chơi trên máy chủ.

Xem thêm [ chỉnh sửa ]

Tài liệu tham khảo [ chỉnh sửa ]

  1. ^ "Làm thế nào để thoát khỏi Lag | GeForce" . www.geforce.com . Truy cập 2018-09-13 .
  2. ^ Cronin, Eric; Filstrup, Burton; Anthony, Kurc. "Hệ thống máy chủ trò chơi nhiều người phân tán" (PDF) . Đại học Michigan . Truy xuất 16 tháng 7 2014 .
  3. ^ a b "Quá trình phát minh: Dịch vụ trò chơi video trực tuyến". Trường Kỹ thuật & Khoa học Ứng dụng FU Foundation (Đại học Columbia) . Truy xuất 2010-01-23 .
  4. ^ Smith, Joshua. "Kiến trúc trò chơi phân tán để khắc phục độ trễ hệ thống" (PDF) . Bằng sáng chế Hoa Kỳ . Truy cập 16 tháng 7 2014 .
  5. ^ Claypool, Mark; Claypool, Kajal. "Độ trễ có thể giết: Độ chính xác và thời hạn trong các trò chơi trực tuyến" . Truy cập 16 tháng 7 2014 .
  6. ^ Roelofs, Gregory. "Bồi thường cho độ trễ mạng trong trò chơi nhiều người chơi" (PDF) . Bằng sáng chế Hoa Kỳ . Truy xuất 16 tháng 7 2014 .
  7. ^ a b ] d e Bernier, Yahn (2001). "Phương pháp bù độ trễ trong thiết kế và tối ưu hóa giao thức trong trò chơi / máy chủ". Tổng công ty van . Truy cập 17 tháng 9 2011 .
  8. ^ Kertz, Alan (11 tháng 12 năm 2011). "Re: Chúng tôi cần ai đó tạo hướng dẫn cho thanh trượt Cài đặt nội suy mạng mới" . Truy cập 4 tháng 11 2013 . Mô hình hit của BF3 sử dụng mô hình máy chủ khách kết hợp, Phát hiện kết hợp lai. Khách hàng nói với máy chủ "Này, tôi bắn anh ta!" và máy chủ sẽ kiểm tra vị trí của hai mục tiêu và xác định xem người chơi có thể bắn trúng mục tiêu đó một cách hợp lý hay không và sau đó áp dụng sát thương.
  9. ^ Gibson, John (5 tháng 12 năm 2010). "Re: HoS sẽ trình bày những nhược điểm về mã mạng của UE3 chứ?". Tương tác ba dây . Truy cập 18 tháng 9 2011 .
  10. ^ Aldridge, David (2011). "Tôi bắn bạn trước: Kết nối trò chơi của HALO: REACH". Hội nghị phát triển trò chơi 2011 . GDC Vault.
  11. ^ "Video D8: OnLive được demo trên iPad, PC, Mac, Console, iPhone". Tạp chí Phố Wall. 2010-08-09 . Truy xuất 2010-08-19 .
  12. ^ "Thử nghiệm Beta ở tốc độ ánh sáng". Trực tiếp. 2010-01-21 . Truy xuất 2010-01-23 .