Nếu mọi người muốn bot, tôi không nghĩ bạn thực sự có thể ngăn chặn họ.
Tất nhiên bạn có thể thực hiện nhiều biện pháp khiến việc đóng chai ít nhiều gây đau đớn. Nhưng bạn chỉ có thể làm rất nhiều trước khi codebase của bạn biến thành một mớ hỗn độn khổng lồ để duy trì, dễ bị lỗi và gây khó chịu cho người dùng hợp pháp. Trong khi đó, những người đóng chai sẽ luôn tìm cách đánh bại các biện pháp đối phó của bạn:
- Có nhiều người trong số họ hơn bạn
- Họ có nhiều thời gian rảnh hơn trong tay (bạn phải phân chia thời gian giữa phát triển thực tế và chứng minh bot, họ có thể hack mã bot của họ suốt cả ngày)
- Khi bạn tạo ra sự kỳ quặc, các biện pháp bảo vệ đầy thách thức, các tác giả bot sẽ được khuyến khích hơn nữa bởi vì thật vui khi phá vỡ sự bảo vệ bot của bạn
- Nếu có một thị trường đen của những người thu lợi nhuận từ bot, bạn càng khó viết bot thì càng có nhiều bot hoạt động có giá trị, vì vậy bạn khuyến khích đóng chai
Về cơ bản, bạn sẽ bị mắc kẹt trong một cuộc chạy đua vũ trang với những người đóng chai, và dựa trên logic dọc theo các điểm trên, cũng như kinh nghiệm của tôi với những trò chơi như vậy, bạn sẽ không thể theo kịp.
Một số nhà phát triển trò chơi sử dụng các biện pháp chống gian lận cực kỳ tích cực: Chẳng hạn, Steam sẽ quét bộ nhớ và hệ thống tệp để tìm kiếm hack, và những kẻ phạm tội có thể bị trừng phạt bằng cách mất tài khoản trị giá hàng trăm đô la. Tuy nhiên, vẫn còn các bot và các bản hack khác cho các trò chơi Steam, và một số trong số chúng thậm chí còn hoạt động được một nửa thời gian. Không giống như họ, bạn có một API mở rộng cho người dùng và không kiểm soát máy tính của người dùng. Đó là một trận chiến khó khăn ngay từ đầu.
Vấn đề bạn đang cố gắng giải quyết về cơ bản là một bài kiểm tra Turing: Ngoại trừ đó là một bài kiểm tra Turing rất dễ dàng, bởi vì bạn không thể gian lận bằng cách yêu cầu các vấn đề AI khó như ngôn ngữ. Cho dù bạn tạo ra bao nhiêu phương pháp phỏng đoán, việc một botter thêm một chút ngẫu nhiên vào hành động của bot sẽ khiến nó bắt chước gần như chính xác con người. Thậm chí sẽ không khó để có chiếc đồng hồ bot bạn chơi một chút và học cách tính thời gian hành động chính xác như bạn. Sau đó, khi bạn cấm bot, các bài viết botter một rant khổng lồ trên diễn đàn về cách ông chỉ là một máy nghe nhạc chuyên dụng (và có lẽ ông là thực sự là một dương tính giả) và khán giả cốt lõi của Hardcore người chơi sẽ tăng lên trong vòng tay chống lại bạn.
Làm cho trò chơi quá vui
Lý do chính khiến ai đó sử dụng bot là vì có một phần của trò chơi mà họ muốn bỏ qua. Nếu họ thích trò chơi và thấy nó thú vị, họ sẽ không cho bot chơi, họ sẽ tự chơi.
Nhưng nếu trò chơi nhàm chán như vậy, tại sao lại chơi nó? Có lẽ, một số phần của trò chơi là nhàm chán và bắt buộc để có được những phần thú vị. Ví dụ, trong các game MMO, mọi người đều thích tăng cấp, nhưng không ai muốn giết 42.324 con chuột độc hại khủng khiếp để lấy XP. Vì vậy, họ để bot nghiền và thả vào để chơi phần thú vị.
Đây không phải là một lời chỉ trích về bạn hoặc trò chơi của bạn, nhưng rõ ràng ít nhất một số người chơi thấy một số phần của trò chơi của bạn tẻ nhạt. Bạn nên xem liệu bạn có thể giảm bớt những phần tẻ nhạt này hay không và xem xét thêm những quyết định khó khăn, có ý nghĩa hơn: Bots không giỏi về chiến lược sâu sắc hay tư duy bên cạnh so với trí thông minh của con người, và bên cạnh đó con người thích đưa ra những quyết định khó khăn trong trò chơi.
Từ mô tả của bạn, tôi có ấn tượng rằng đây là một trò chơi trình duyệt tương tự Travian, nơi có một hàng đợi xây dựng với một thứ tự xây dựng tốt nhất và một số nhiệm vụ "bảo trì" (như duy trì các cuộc tấn công canh tác) phải được thực hiện. Bạn nói rằng không có xung đột, nhưng trong bất kỳ bộ phim MMO nào và chính trị nhỏ nhặt là không thể tránh khỏi (IMO đó là điểm thu hút chính) vì vậy tôi chắc chắn người chơi của bạn sẽ tìm mọi cách để đánh đầu. Với các loại trò chơi này, rất nhiều sự nhàm chán đến từ các nhiệm vụ "bảo trì" này - điều người chơi thực sự muốn làm là liên minh và chơi trò chơi ngoại giao với các gia tộc đối thủ, bảo trì sau đó trở thành một loại thuế mà bạn phải thức tỉnh đến một báo động vào giờ lẻ để được phép vào phần ngoại giao vui vẻ đó. Vì vậy, cắt ra tedium:
Cách tiếp cận này có thể không luôn luôn làm việc, không may. Không phải tất cả người chơi có cùng khả năng chịu đựng tedium hoặc cùng một khái niệm vui vẻ. Bạn có thể có một cơ chế nổi bật mà 99% người chơi của bạn thích, nhưng 1% thấy nhàm chán. Điều gì sẽ xảy ra nếu 1% sau đó bắt đầu viết bot, phá hỏng niềm vui cho 99%? Nhưng cuối cùng, đó là vấn đề bằng cấp. Bạn không bao giờ có thể loại bỏ đóng chai hoàn toàn, nhưng bạn có thể giảm thiểu thiệt hại.
Đóng chai Undercut
Rất nhiều tác động thực sự tiêu cực của bot đến từ các tác giả bot thương mại hóa công việc của họ. Nếu đây là trường hợp của bạn, bạn chỉ có thể cạnh tranh với các bot. Nhiều trò chơi trực tuyến dựa trên thời gian thực đã có các tính năng cao cấp cho phép bỏ qua thời gian và tự động hóa (chẳng hạn như hàng đợi xây dựng mở rộng). Số tiền này cho một bot chính thức bị nhà phát triển xử phạt. Nếu bạn có những thứ này và định giá chúng một cách thích hợp, người chơi sẽ mua phí bảo hiểm của bạn thay vì mua bot. Tin tốt là, bạn chịu trách nhiệm về API, vì vậy bạn luôn có lợi thế lớn trong việc phát triển tự động hóa chất lượng cho trò chơi của riêng mình, vì vậy lần này là một trận thua cho các nhà đóng chai.
Điều này sẽ không loại bỏ những người đóng chai nghiệp dư hoặc những người cảm thấy rằng phí bảo hiểm của bạn không xứng đáng với tiền, vì vậy một lần nữa hiệu quả của phương pháp này phụ thuộc vào tình huống.
Tự tìm chúng
Như tôi đã nói ở trên, những gì bạn đang làm về cơ bản là một bài kiểm tra Turing. Vì tương tác với con người nổi tiếng được coi là một thử thách Turing khó khăn, bạn có thể cố gắng tận dụng điều đó.
Kiểm tra thủ công các cầu thủ cấp cao nhất và xem nếu bạn tìm thấy bất cứ điều gì đáng ngờ. Bạn thậm chí có thể thoát khỏi việc thỉnh thoảng thăm dò chúng theo những cách chỉ giới hạn trong trí tưởng tượng của bạn, để xem liệu bạn có thể lừa bot làm điều gì đó mà nó sẽ không làm.
Mặc dù rất khó để viết một thuật toán sẽ phát hiện các bot đáng tin cậy, nhưng con người không quá khó để học cách phát hiện ra chúng. Tôi nghĩ rằng rất nhiều trò chơi trình duyệt sử dụng chiến lược này, và nó có thể khá hiệu quả. Nhược điểm là hoặc bạn cần phải làm rất nhiều công việc nhàm chán mọi lúc, hoặc bạn cần phải trả tiền cho các bậc thầy trò chơi để thực hiện tuần tra bot thường xuyên.