Tôi mới sử dụng stackechange gamedev này nhưng đã sử dụng các trang web toán học và cs trước đây.
Vì vậy, tôi đang cạnh tranh để tạo ra AI cho một con rắn sẽ cạnh tranh với bốn con rắn khác trong vòng 5 phút trong đó các quy tắc rất giống với trò chơi rắn truyền thống của Nokia ngoại trừ có năm con rắn, bảng là 30x30 và có một số trở ngại nhỏ trên sân.
Giống như trò chơi Nokia, con rắn của bạn phát triển khi bạn đến trái cây và nếu bạn đâm vào chính mình, một con rắn khác hoặc bức tường bạn chết. Trò chơi chạy với độ trễ 30ms giữa các lần di chuyển và máy chủ sẽ gửi trạng thái trò chơi mới cứ sau 50ms mà mã phải phân tích và những gì không và xuất ra bước tiếp theo.
Người chiến thắng là con rắn có chiều dài dài nhất tại bất kỳ thời điểm nào trong trò chơi. Tie breakers được quyết định bởi giết chết.
Cho đến nay những gì tôi đã làm được thực hiện tìm kiếm đồ thị A * từ mỗi con rắn để xác định xem con rắn của tôi có gần quả táo nhất không và nếu có, nó sẽ tìm quả táo. Mặt khác, tôi đã thực hiện một thuật toán nhỏ gọn để xác định khu vực trống nhất của bảng, mà con rắn của tôi đi, để dự đoán quả táo tiếp theo.
Ngoài ra, tôi có một số kiểm tra khả năng sống sót nhỏ để đảm bảo con rắn của tôi không rơi vào bẫy mà nó không thể thoát ra và nếu nó bị mắc kẹt, tôi có một cái gì đó để nó có cơ hội thoát ra tốt hơn.
...
Dù sao, tôi đã kiểm tra con rắn của tôi trên một máy chủ thử nghiệm và nó hoạt động khá tốt. Nói chung, chiến lược của tôi là chỉ tìm táo khi nó chắc chắn và tìm không gian khi nó không làm cho nó phát triển nhanh hơn bất kỳ con rắn nào khác (một số loài rắn làm điều tương tự nhưng thường chỉ đi đến giữa hoặc một góc) đôi khi nó thắng những trò chơi thử nghiệm này nhưng thường không bị đánh bại bởi cùng một con rắn dường như có lợi thế về khả năng sống sót (con rắn của tôi phát triển nhanh hơn nhưng sau đó chết bằng cách nào đó và con rắn khác này chỉ chậm chạp và chiến thắng một cách kiên định.
Vì vậy, tôi đã tự hỏi về bất kỳ ý tưởng bất cứ ai phải cố gắng và cải thiện con rắn của tôi. Hoặc có thể ý tưởng ở một cách tiếp cận mới để thực hiện. Các chức năng và lớp học của tôi rất tốt nên những thay đổi có vẻ quyết liệt không nên quá tệ. Tôi khuyến khích tất cả các ý tưởng.
Có suy nghĩ gì không?