Các lỗi thường gặp khi phát triển trò chơi với Socket.io và Node.js


7

Tôi không phải là nhà phát triển trò chơi bằng thương mại nhưng đang làm việc trên một trò chơi bài (đó là thời gian thực, không phải theo lượt). Tôi đã tự hỏi những sai lầm phổ biến mà mọi người mắc phải khi mới phát triển loại này để tôi có thể tránh chúng!


3
Nói chung, những loại câu hỏi này không làm tốt như vậy. Từ faq :You should only ask practical, answerable questions based on actual problems that you face
Tetrad

11
Một lỗi phổ biến là cố gắng tránh sai lầm, đừng làm điều đó, thay vào đó hãy học hỏi từ những sai lầm của bạn, đó là nền tảng cho tài nguyên quý giá nhất của bạn, kinh nghiệm của bạn
Maik Semder

Tôi cũng nghĩ rằng đây là một vấn đề quá cụ thể - số người đã hoàn thành trò chơi sử dụng các công nghệ mới như Socket.io và Node.js có thể được đánh số từ 5 đến 20 và tôi nghi ngờ tất cả họ đều đang xem trang web này.
Kylotan

1
@Kylotan, những câu hỏi thích hợp đó thực sự tốt cho trang web. joelonsoftware.com/items/2010/04/19.html
Tetrad

1
Tôi không cho rằng đây là một kết quả tồi cho trang web này (ngoài sự mơ hồ và chủ quan đã được ghi nhận), nhưng hơn nữa là quá sớm để hỏi một vấn đề chung như vậy về một điều mà hầu như không ai ở đây sử dụng. Bài đăng của Joel ngụ ý các câu hỏi rất cụ thể liên quan đến các công nghệ chung, trong khi đây (hiện tại) là một vấn đề chung liên quan đến các công nghệ rất cụ thể. Tôi không bận tâm câu hỏi ở đây, nhưng OP sẽ tìm thấy sự giúp đỡ hữu ích hơn ở nơi khác vào thời điểm này.
Kylotan

Câu trả lời:


8

Có một Google Techtalk có Rob Hawkes , người tạo ra Rawkets , người nói về những vấn đề anh gặp phải khi tạo trò chơi của mình với Websockets và Node.js. Anh ấy cũng đưa ra một số giải pháp khá hay cho những vấn đề mà anh ấy phải đối mặt.


Đó là một chút cấp cao nhưng nhìn chung có vẻ tốt. Tôi chỉ lướt qua nó.
Davy8

8

Sai lầm lớn nhất, chỉ đơn giản là chơi các trò chơi ở phía khách hàng và cho phép họ truyền đạt thông tin của họ khi họ nhìn thấy. Yêu cầu khách hàng giao tiếp đầu vào của họ và hiển thị một mô hình được gửi từ máy chủ theo các khoảng thời gian riêng biệt. (Lưu trữ các mô hình này trong một mảng với dấu thời gian của máy chủ, sau đó nội suy giữa hai dấu thời gian đã biết để hiển thị tất cả các diễn viên mỗi khung hình)

Tôi đã tạo một khung cụ thể để tạo các trò chơi nhiều người chơi trong thời gian thực HTML5, dựa trên mô hình Máy khách / Máy chủ. Trong mô hình này, người chơi chỉ gửi đầu vào cho máy chủ (nhấn phím) - và trò chơi xảy ra trên máy chủ.

Máy chủ sẽ gửi các ảnh chụp nhanh thế giới theo thời gian cho tất cả các máy khách và các máy khách tự hiển thị thời gian quay ngược thời gian 75 ms kể từ thời điểm hiện tại, bằng cách tìm thấy hai bản cập nhật thế giới đã biết của chúng rơi vào giữa.

Kho lưu trữ (chứa 3 bản demo) https://github.com/encedayitwillmake/RealtimeMultiplayerNodeJs

Video thử nghiệm Box2D đang hoạt động: http://vimeo.com/24149718

Các slide từ JSConf 2011: http://www.sl slideshoware.net/MarioGonzalez15/realtime-html5-multiplayergameswithnodejs-7868336

Nó dựa trên các trang trắng công cụ Nguồn của Quakeworld và Valve: http://fabiensanglard.net/quakeSource/index.php http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking


Rất đẹp ! Gonna lộn xộn với nó một trong những ngày này.
I.devries
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.