2012-12-15 16 views
6

Bu soruyu sormadan önce biraz araştırma yaptım ama durumum için somut bir cevap bulamadım. WebSockets ve oyun geliştirme konusunda hala yeniyim, bu yüzden bazı parçaları çok iyi açıklayamayabilirim ve eğer durum buysa lütfen bunu daha iyi açıklamaya çalışalım.Çok oyunculu HTML5 oyunları gelişimi için WebSockets'ı kullanma. Ne seçilir, Node.js veya Ratchet veya başka?

Şu anda çeşitli HTML5 çok oyunculu oyunları sağlayacak olan CakePHP'yi kullanarak bir Web uygulaması geliştiriyorum. Bazı durumlarda bu oyunların bir veri tabanına veri göndermesi gerekir. Sorun şu ki, oyun sunucusu tarafı mantığını uygulamak için Node.js'yi kullanmak istiyorum, ancak veri tabanına veri aktarabilecek miyim emin değilim. En iyi yaklaşımın, veriyi veritabanında saklayacak bir PHP eylemine Node.js'den gönderiyor olabileceğini düşünüyorum, ancak bunun mümkün olup olmadığını da bilmiyorum.

Bu DNode ile ilgili bir şey buldum, ancak bu sorunun benim cevabım olup olmadığından emin değilim ve bunun yanı sıra beta sürümde olduğu görülüyor, kaçınmak istiyorum.

Alternatif olarak, oyun sunucusu tarafı mantığını uygulamak için Ratchet'u kullanmayı düşündüm. En azından uygulama ile iletişim kurmayı başarabileceğimi biliyorum, ancak oyun geliştirme konusunda herhangi bir referans bulamadığım için iyi bir fikir olup olmadığından emin değilim. Başka çerçeveler hakkında bilmiyorum

, ben bu ikisinden daha iyi seçenekler var eğer öyleyse, söyle lütfen :)

bana görüşler verin. Teşekkür ederim!

cevap

6

Bir yıl önce bir çevrimiçi çok oyunculu oyun geliştirmeye çalışırken benzer bir sorunla karşılaştım.

http://www.nodebeginner.org/

: Sana node.js yeniyseniz

ben ilk önce bu kısa ve iyi temel öğretici okumak tavsiye Websockets için sunucu ve Socket.io için node.js kullanarak sona erdi

Her gün node.js'yi kullanıyorum ve gerçekten çok kullanışlı ve üretken buluyorum. Eğer temelleri düğüm ve prizleri ile çok oyunculu html5 oyunları geliştirme bu güzel öğretici okumak okuma Tamamladıktan sonra: size yardımcı olabilecek sonunda bir açık kaynak oyuna bir bağlantı vardır http://smus.com/multiplayer-html5-games-with-node/

.

Ve burada socket.io docs kontrol edebilirsiniz: http://socket.io/

o kadar başlamanıza yardımcı olur umarım. En zor kısmı bu.

+0

, ben node.js nasıl çalıştığını şimdi daha iyi anlıyorum Çok teşekkür ederim. Anladığım kadarıyla, Node ile bir veritabanına da bağlanabilirim ve bu şekilde, ondan veri istemek için PHP uygulamam ile iletişim kurmam gerekmeyecek, doğru mu? – Anakin

+0

Doğru. Node.js – ElHacker

+0

'dan bir veritabanına doğrudan bağlantı kurabilirsiniz. Node.js yalnızca VPS sunucularında çalışır mı? Paylaşılan bir barındırma yüklenmeyecek. – yourkishore

0

socket.io yerine Node.js + Lightstreamer'ı düşündünüz mü? Simone Fabiano kısa süre önce an apple-to-apple data broadcasting comparison with socket.io (sunucu tarafında oluşturulmuş ve iki binin üzerinde Amazon EC2 makinesini çalıştıran mesajlar) oluşturdu ve CPU kullanımı, veri gecikmesi ile socket.io ile düz web yuvalarından daha iyi ölçeklendirilebileceğini kanıtladı. ve genel performansın iyileştirilmesi için diğer bazı yararlı özelliklerle birlikte bant genişliği tüketimi.

Spesifik olarak, Lightstreamer herhangi bir çok oyunculu oyun için büyük avantajlarla kullanılabilir: ayrıca bu makaleye bakın (Optimizing Multiplayer 3D Game Synchronization Over the Web). Lightstreamer'ın gerçek zamanlı senkronizasyon için entegre edildiği, çok oyunculu bir 3D dünyasının çevrimiçi bir demosundan geçebilirsiniz. Demo, gerçek bant genişliği tüketimini kontrol ederken, senaryonun her parametresini değiştirmenize ve veri dağıtımının herhangi bir lezzeti simüle etmenize izin verir.

Hem test kitinin hem de demonun tam kaynak kodu GitHub'da ücretsiz olarak kullanılabilir.

[tam açıklama: Ben Lightstreamer için çalışmak]

İlgili konular