Mặc dù tôi đã đưa ra nhận xét đầu tiên đặt câu hỏi về việc làm giảm trải nghiệm của một bộ phận khán giả của bạn mà không đạt được lợi ích rõ ràng, tôi vẫn thấy đó là một câu hỏi thú vị từ quan điểm kỹ thuật.
Tôi chỉ có ý tưởng này: Những kẻ gian lận làm gì là tìm các giá trị thay đổi và đóng băng chúng. Việc tìm kiếm sau đó sẽ chỉ xảy ra giữa những cái chết hoặc những sự kiện làm thay đổi sức khỏe của người chơi. Hơn nữa, kẻ lừa đảo có thể tinh chỉnh tìm kiếm bằng cách lọc ra những gì đã thay đổi khi anh ta "không chết".
Điều gì xảy ra nếu bộ đếm "sức khỏe" thay đổi toàn bộ thời gian? Biến nó thành một con trỏ và phân bổ lại nó cho mọi khung hình hoặc mọi khung hình N nếu hiệu năng đạt được quá lớn. Hoặc XOR nó với một giá trị ngẫu nhiên thay đổi mọi khung hình (XORing một lần nữa so với cùng một giá trị để giải mã trước khi mã hóa với một giá trị ngẫu nhiên mới).
Nếu bạn có dữ liệu trong trò chơi khác cũng thay đổi toàn bộ thời gian (bao gồm cả vị trí x và y của nhân vật người chơi hoặc bộ đếm thời gian), điều đó có thể khiến bạn khó tìm ra dữ liệu thay đổi nào là sức khỏe. Và đóng băng toàn bộ trạng thái trò chơi là không có cho kẻ lừa đảo.
Đối với sai lầm hơn nữa, bạn thực sự có thể lưu trữ sức khỏe trong một biến chỉ viết đơn giản có nghĩa là một nồi mật ong.
Chỉnh sửa :
Tuy nhiên, người gian lận có thể cố gắng tìm ra biến nào đang thay đổi toàn bộ thời gian là biến để đóng băng thông qua thử và lỗi. Một giải pháp khả thi sẽ là ghép các biến với nhau.
Một ví dụ:
Thay vì lưu trữ sức khỏe (h) và vị trí (x), bạn lưu trữ chúng theo hai biến a và b, từ đó bạn có thể truy xuất các giá trị sau:
a = x+h; b = x-h
x = (a+b)/2; h = (a-b)/2
Bằng cách này, nếu kẻ lừa đảo chỉ đóng băng một trong số họ và sau đó di chuyển nhân vật, vị trí bị ảnh hưởng và tùy thuộc vào người nào bị đóng băng, h sẽ bị âm (chết ngay lập tức). Bạn có thể chuyển đổi giữa các công thức trên và:
a = x-h; b = x+h
x = (a+b)/2; h = (b-a)/2
Trong các khung liên tiếp và bạn đảm bảo rằng trong tối đa 2 khung hình sau khi một trong hai biến đã bị đóng băng, sức khỏe sẽ chuyển sang 0 thời điểm x thay đổi. Hãy nhớ rằng bạn chỉ lưu trữ a và b. Kết hợp điều này với XOR liên tục như đã đề cập ở trên. Kết quả là một tập hợp các biến đang thay đổi mọi khung hình thành các giá trị dường như ngẫu nhiên và đóng băng bất kỳ một hoặc một tập hợp con nào trong số chúng chỉ tạo ra các tác dụng phụ không mong muốn trong trò chơi, cái chết ngay lập tức là một trong số chúng.