Game Realtime kiến trúc nào cho đúng?



  • xin chào mọi người mình đang làm một project nhỏ với socketio, đấy là game bóng bàn. mình không biết kiến trúc nào cho đúng. mình có nghĩ ra một vài kiịch bản như sau:
    kịch bản 1:
    2 client liên tục nhận vị trí của 2 cây vợt tự tính toán vị trí của qủa bóng, server chỉ chịu trách nhiệm thông báo vị trí của 2 cây vợt cho 2 client.
    ưu điểm: server hầu như k phải làm gì
    nhược điểm: có thể phát sinh vấn đề tính toán sai lệch gữa 2 client dẫn đến lỗi

    kịch bản 2:
    -client gửi 2 vị trí của cả 2 vợt, bóng, sân, lên server
    -server tính toán và trả lại frame tiếp theo cho client

    ưu điểm: đảm bảo sự đồng bộ của 2 client, không phụ thuộc các yếu tố khách quan bên client
    nhược điểm: server tính toán nhiều, sợ không đảm bảo tốc độ và thời gian thực vì cũng phải 20 đến 50 frame một giây.

    mn cho mình hỏi là một game online thường có kiến trúc như thế nào để tối ưu ạ, ngoài 2 cách trên có cáchs nào tốt hơn không. hank all



  • Thực tế cái này thì tủy vào nhu cầu thôi ,ở đây bạn có thể thấy nó là 2 mô hình khác nhau:
    cách 1 : chia sẽ thông tin ngang hàng thằng server chỉ là nối 2 thằng lại :| . Có trời mới biết bọn nó có emit linh tinh hỏng logic ko.
    Cách 2: client -server . Logic luôn được check rõ ràng ổn định hơn và tất nhiên là chậm hơn rồi. Muốn quản lý logic game tốt thì sử dụng cái thứ 2




Log in to reply