Bạn đang đi đúng hướng.
Điểm chính của mô hình mạng máy khách-máy chủ là máy chủ là điểm kiến thức trung tâm mà khách hàng kết nối. Một máy chủ trò chơi thường chứa
- một đại diện thế giới trong bộ nhớ ,
- một danh sách các cầu thủ được kết nối ,
- một vòng lặp trò chơi (ví dụ như trình xử lý điều khiển người chơi, động cơ vật lý & AI).
Bạn cũng sẽ cần một kênh liên lạc giữa máy chủ và máy khách của mình để khách hàng có thể truyền các hành động của người chơi và máy chủ có thể truyền trạng thái trò chơi.
Các cấu hình máy khách-máy chủ nâng cao hơn có thể liên quan đến
- nén delta (chỉ gửi những gì đã thay đổi giữa các trạng thái trò chơi, không phải toàn bộ trạng thái trò chơi) vì lý do hiệu suất,
- dự đoán đầu vào phía khách hàng để giảm độ trễ đầu vào cảm nhận (ví dụ : điều khiển CS: GO ),
- một cơ sở dữ liệu trên đĩa (ví dụ như World of Warcraft 's lưu trữ hàng tồn kho),
- giảm tải công việc cho các máy khách (ví dụ AI của kẻ thù Maple Story ),
- hoặc chuyển giao kết nối giữa các máy chủ (ví dụ: liên kết thế giới của OpenSimulator ).
Bắt đầu đơn giản. Tốt nhất chỉ nên thêm độ phức tạp khi cần thiết . Lỗ thỏ này sâu.
Bạn đã đề cập đến Node.js : Tôi đã viết một vài máy chủ cho các trò chơi nhỏ trong đó và điều đó thật tuyệt. Nhưng bạn có thể viết một máy chủ và máy khách trong bất cứ điều gì bạn thích. Eve Online phần lớn ở Erlang , Minecraft trong Java, gần như mọi thứ của Valve đều ở C ++, et cetera.