Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Can you help me choosing the right tools for this project? It's a 3d browser based multiplayer online fighting game. A few 3d functions are necessary for positioning, but no heavy rendering will happen. It needs very low ping rates, though, as it will be very dynamic. HTML5 + three.js + some networking lib seems like a fair choice, but I'm concerned about performance and cross-browserism. It's for learning purposes but I can use it for professional showoff. Thoughts?

share|improve this question
add comment

2 Answers

Ping rates aren't dependent on the library you use at all. They're going to be dependent on your network. I know you probably just meant that you want low latency, but it helps to get the terms right. :)

You really have only a few options. WebSocket gives the best integration and performance, but is not supported on all browsers yet, and the spec still isn't finalized iirc. Flash can be used everywhere and offers slightly more flexibility in choice of protocol and browser compatibility but the JavaScript-Flash bridge can be a serious performance bottleneck on most browsers in my experience.

If you don't need IE support right now, I would lean towards WebSocket. It does what you need for an MMO just fine. http://www.websocket.org/

If you need IE support, there are wrapper libraries that emulate WebSocket using Flash. https://github.com/gimite/web-socket-js

You can also use the HTML5Labs IE prototype for WebSockets if you don't need any "regular" users on IE to run your game today. http://html5labs.interoperabilitybridges.com/prototypes/websockets/websockets/info

share|improve this answer
add comment

For the networking library, I would look at Socket.IO. It uses WebSockets (when possible) but, as seanmiddleditch mentioned, falls back on Flash (or something) for IE. Your server will use Node.js if you choose to use Socket.IO, which is a great choice in my opinion. For hosting, you can refer to the Stack Overflow question "Where can I host a Node.js app?"

As for graphics on the client, three.js looks awesome and it's on my todo list to play with, so I agree with that choice.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.