2010-07-23 40 views
14

Tôi có thể sẽ sử dụng javascript để phát triển trò chơi trên bàn/thẻ trực tuyến. Cách tiếp cận của tôi sẽ là có một khách hàng có thể làm việc ở chế độ độc lập, vì vậy nó phải thực thi các quy tắc. Điều đó có nghĩa là, ví dụ, nếu người chơi không thể chơi bài, người đó thậm chí không thể chơi được. Điều này là để nâng cao trải nghiệm người dùng.Có một khuôn khổ cho trò chơi trên bảng nhiều người chơi trong JavaScript không?

Ý tưởng ở đây là thêm các móc để gửi và nhận các sự kiện đến và đi từ máy chủ và chia sẻ mã triển khai các quy tắc trò chơi giữa máy chủ và ứng dụng khách. Tôi không thấy điểm viết hai lần.

Vì vậy, nếu tôi chơi ở chế độ "máy chủ", máy khách sẽ cập nhật máy chủ với các hành động của tôi (xác minh chúng) và máy chủ sẽ gửi cho tôi thông tin cập nhật về phần còn lại của người chơi.

Có khung nào để tận dụng công việc này không? Đối với phía máy chủ, các tùy chọn của tôi có vẻ là Node.js (không ổn định, nhưng mọi thứ sẽ là JS và gọn gàng), Erlang + erlang_js và có thể một số trong những khung công cụ lạ đó "biên dịch thành javascript", mà tôi 'không thực sự thích.

+1

tôi đang ở trong một tình huống tương tự bản thân mình. Làm cách nào để giữ một hệ thống như DRY này? Các khách hàng sẽ có thể tiến hành các trò chơi độc lập, nhưng máy chủ cần phải xác nhận tất cả mọi thứ cuối cùng. Nếu các quy tắc thay đổi, sẽ tốt hơn nếu không phải thay đổi cả mã máy khách lẫn mã máy chủ. – brainjam

+1

Bạn đã xem xét GWT chưa? Mã Java biên dịch sang Javascript và có thể được sử dụng để viết Client và Server side. –

+0

@ g.d, GWT đã vượt qua tâm trí của tôi (và có thể thích hợp cho OP), nhưng tôi đã cam kết với Python/jQuery là mặt sau/mặt trước của tôi. – brainjam

Trả lời

3

Âm thanh như Ape phù hợp với yêu cầu của bạn khá chặt chẽ. Nó hỗ trợ các mô-đun javascript để bạn có thể chạy cùng một mã trên máy chủ khi bạn sử dụng cho khách hàng và gửi tin nhắn giữa những người dùng khác nhau được hỗ trợ tốt (hãy xem các bản demo MMORPG và trò chuyện).

+0

Rất đẹp! Tôi không biết về Ape. Tôi không biết liệu tôi có sử dụng nó hay không nhưng tôi nghĩ điều này dẫn tôi đi đúng hướng, cảm ơn rất nhiều! – Papipo

+0

Thật không may APE (gọn gàng) chỉ dành cho công cụ đẩy cho khách hàng. – Papipo

1

Tôi đã sử dụng RingoJs http://ringojs.org để chính xác điều này - khách hàng & chia sẻ mã máy chủ - trong một thời gian.

Đối với văn bản webgame nối mạng dễ dàng hơn tôi đang phát triển một lớp mỏng trên đầu trang của rằng: http://gamejs.org

Các vấn đề liên quan