Tôi đang làm một MOBA nhỏ đơn giản chỉ để cho vui. Tôi đang làm mọi thứ một người chơi sau đó tôi nhận ra "ôi tôi có lẽ nên thêm nhiều người chơi, huh."
Tôi chưa bao giờ làm bất cứ điều gì với mạng trước đây, vì vậy học cách tích hợp Lidgren vào trò chơi của tôi thật thú vị và tuyệt vời. Vấn đề là, tôi gần như biết cách tôi làm mọi thứ là sai, bởi vì nó không đủ mạnh để sử dụng các trò chơi chính thống, theo như tôi biết, nhưng có gì sai với nó?
Về cơ bản, những gì tôi đang làm là bất cứ khi nào người chơi thực hiện một hành động, nó sẽ gửi một thông điệp tới máy chủ nói rằng "này, tôi vừa mới làm điều này." Cả máy chủ và máy khách đều chạy cùng một mô phỏng. Sau đó, máy chủ sẽ gửi một tin nhắn cho tất cả các khách hàng khác nói với họ rằng anh chàng đó đã làm điều đó.
Đối với hầu hết các phần, ngoại trừ trong một vài trường hợp, khi người chơi làm một việc, khách hàng sẽ cho rằng nó thật tuyệt và tự mình tiếp tục với nó. Vì vậy, khi bạn nhấp chuột phải vào một nơi nào đó để di chuyển đến đó, khách hàng của người chơi đó sẽ bắt đầu di chuyển anh chàng của anh ta đến đó, và sau đó gửi tin nhắn đến máy chủ cho họ biết về điều đó.
Nên về cơ bản:
- Người chơi 1 sử dụng một câu thần chú để khiến anh ta di chuyển nhanh hơn 100% trong sáu giây
- Máy khách cục bộ của Người chơi 1 thêm buff đó vào đối tượng Đơn vị của mình
- Ứng dụng khách của Người chơi 1 gửi tin nhắn đến máy chủ với nội dung "hey tôi vừa mới sử dụng câu thần chú này"
- Máy chủ đảm bảo rằng anh ta thực sự đã có đủ mana để sử dụng câu thần chú đó và nếu vậy, hãy thêm buff đó vào bản sao của máy chủ của đối tượng Đơn vị đó
- Máy chủ gửi tin nhắn cho tất cả các khách hàng khác nói rằng "anh chàng này chỉ bỏ bùa này"
- Mọi khách hàng khác nhận được thông báo và "ah okay cool" và thêm buff đó vào đối tượng Đơn vị cục bộ của họ cho người chơi đó
Tôi đã lướt qua các công cụ để xem các trò chơi lớn làm nhiều người chơi như thế nào và thật khó hiểu cho những người mới bắt đầu tìm hiểu về công cụ này, nhưng có vẻ như Công cụ nguồn gửi một gói chứa tất cả các thay đổi cho mọi thứ trong thế giới nào tích tắc? Một lần nữa, hoàn toàn mới đối với công cụ này, nhưng bạn có thể thực sự đẩy nhiều dữ liệu đó thường xuyên không?
Xin lỗi nếu điều này hơi rắc rối, nhưng về cơ bản, tôi đã tự hỏi tại sao hệ thống đơn giản hơn của tôi không phải là cách phù hợp, bởi vì nếu đó là, các trò chơi khác sẽ sử dụng nó, phải không?