Tôi đang viết một trò chơi bằng javascript và để ngăn chặn gian lận, tôi đang chơi trò chơi trên máy chủ (đó là trò chơi trên bàn như một người kiểm tra phức tạp hơn). Kể từ khi trò chơi là khá phức tạp, tôi cần phải lưu trữ các gamestate để xác nhận hành động của khách hàng.node.js lưu trữ gamestate, làm cách nào?
Có thể lưu trữ trò chơi trong bộ nhớ không? Đó là thông minh? Tôi nên làm thế? Nếu vậy, làm thế nào? Tôi không biết nó sẽ hoạt động ra sao.
Tôi cũng có thể lưu trữ bằng redis. Và thứ đó khá quen thuộc với tôi và không cần giải thích. Nhưng nếu tôi lưu trữ trong redis, vấn đề là trên mỗi di chuyển duy nhất, trò chơi sẽ cần phải nhận được dữ liệu từ redis và giải thích và phân tích dữ liệu đó để tạo lại các gamestate từ đầu. Nhưng kể từ khi di chuyển xảy ra rất thường xuyên này có vẻ rất ngu ngốc với tôi.
Tôi nên làm gì?
Điều này thực sự không liên quan gì đến JavaScript. Về cơ bản, bạn chỉ cần một máy chủ có thể xử lý tất cả các máy khách được kết nối khác nhau và vì một chương trình thực hiện trong bộ nhớ, nó sẽ nhanh chóng! Chỉ lưu trạng thái trò chơi vào cơ sở dữ liệu nếu bạn cần "lưu" trò chơi. Đại diện cho trạng thái trò chơi của bạn trong mã! –
@Marcus cảm ơn, tôi xin lời khuyên về việc triển khai vì nó không rõ ràng đối với tôi. Làm cách nào để thể hiện trạng thái trò chơi bằng mã? – expressnoob
@expressnoob biến và lớp học. Đây là những công cụ, sử dụng chúng để đại diện cho các đối tượng trong trò chơi của bạn, chẳng hạn như 'Game',' Player', 'Piece' vv. Thiết kế là tùy thuộc vào bạn và cụ thể cho trò chơi của bạn. –