Khi NPC đã chết xuất hiện lại mà server dùng lại cùng ID đối tượng, client đã bỏ lỡ thông báo rời đi trong khoảng đó sẽ nhầm NPC mới là NPC cũ.
Vì sao NPC chết rồi xuất hiện lại với cùng ID đối tượng → Dẫn đến Client đã bỏ lỡ thông báo rời đi coi đây là “đối tượng đã biết” nên bỏ qua thông báo xuất hiện, hoặc giữ nguyên trạng thái đã chết → Trên màn hình NPC không có trên màn hình của một bên, hoặc hiện ở trạng thái đã gục, cũng có khi hiện thành hình dạng của NPC khác
Phụ trách chính Phát triển server (Đội phát triển game) · Phối hợp Phát triển client (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Server: gắn số thế hệ (generation) vào ID đối tượng để phân biệt lần dùng lại. Client: khi nhận thông báo xuất hiện với ID đã biết thì xóa đối tượng cũ và tạo mới.
Trên đồ thị
Thỉnh thoảng vọt lên bất chợt · Số thông báo xuất hiện với ID đã biết
Chỗ cần xem
Ghi trên server thời điểm tạo và xóa theo từng ID đối tượng (kèm số thế hệ nếu có), đếm số lần client nhận thông báo xuất hiện với ID đã biết và số lần xóa rồi tạo lại bị xử lý thành “không thay đổi” khi cập nhật tầm nhìn
Đúng nếu
ID của NPC không hiển thị hoặc hiện ở trạng thái đã gục trùng với NPC vừa chết ngay trước đó, và trong khoảng đó client ấy không nhận được thông báo rời đi, hoặc server không gửi cả thông báo rời đi lẫn thông báo xuất hiện
Loại trừ nếu
ID có số thế hệ và số này cũng được dùng khi so sánh → không phải nguyên nhân này. ID không bị dùng lại mà vẫn không thấy → xem phía mất thông báo xuất hiện
Cách kiểm tra
Cần log và chỉ số của server, client game
Tìm hiểu thêm
Lỗi này cũng xảy ra ở phía server. Nếu chỉ so sánh danh sách đối tượng trong tầm nhìn bằng ID, NPC đã chết rồi được spawn lại với cùng ID giữa hai lần cập nhật tầm nhìn sẽ bị coi là “không thay đổi”, và server không gửi cả thông báo rời đi lẫn thông báo xuất hiện. Nếu thời điểm cập nhật tầm nhìn lệch nhau giữa từng người, chỉ client rơi đúng vào khoảnh khắc đó mới gặp lỗi.
Nguồn
Entity struct (Entities 1.3)Unity Entity gồm Index và số thế hệ (Version), để phân biệt Index được dùng lại còn hợp lệ hay không