If you don't have better ideas for improving your packet size at least push your JSON through msgpack. Using strings as keys (properties) is ultra bad for your bandwidth too. In general JSON is only suitable for turn based games.
This is really cool.<p>One suggestion. Allow the mouse to control the spaceship movement in both x and y directions. It’s intuitive to try to point the mouse to the place you want your ship to go, however the mouse only controls the Y axis.
I would suggest tank controls to reduce server CPU (with event based protocol) and make the game a bit more playable, try my controls: <a href="http://aeonalpha.com" rel="nofollow">http://aeonalpha.com</a>
Pretty cool and actually, something I always wanted. Reminds me of the good old Netwars days:<p><a href="https://www.youtube.com/watch?v=eMp1RrCy4w4" rel="nofollow">https://www.youtube.com/watch?v=eMp1RrCy4w4</a><p>There are just a few things Netwars had that I am missing here:<p>1. Sound (is it just me?)
2. The controls are kinda weird. If I remember correctly Netwars used Ctrl and Shift to throttle. Mouse (or Joystick) for turning (upper part of the side of the screen to roll), Space to fire the gun and Return to fire missiles.
3. A radar for orientation.<p>But for a prototype awesome already :-D
The netcode seems to be working great for me. Controls are not what I expect based on the space-shooters I've played, but I eventually got the hang of them. Ship to ship collisions would be nice.
Needs a radar/minimap or something, I pretty quickly found myself lost in space with no idea where other players were, or how to get back to the starting point to find new players.
I think this is cool just from the "sharing code" perspective; yes, it needs some more work, but that's the way games are. I can't give any suggestions there, since I haven't touched game code in decades (well out of date for today's MP stuff). But I like what I see so far from this demo!
Nice work! I would suggest adding a controls screen that fades out. Took me a while to realize I had to combine aiming with the mouse and WASD keys for movement to get everything going.
oh man, I made a 2D one back in the day with node.jd and socket.io, to test a physics engine I was writing, but never really finished it to release it. looking at your project now, I wish I did finished mine. really cool job. keep it up