Wolfram

deepstream.io as multiplayer realtime server

Recommended Posts

I just wanted to share https://deepstream.io/ , a fast realtime server that we're working on which is a great fit for multiplayer gaming.

Please find a tutorial for a multiplayer spaceshooter build with deepstream and pixi.js on Pluralsight/Hackguides here:

http://tutorials.pluralsight.com/front-end-javascript/building-a-multiplayer-space-shooter-part-i

in-game-long.gif

Share this post


Link to post
Share on other sites

Hello @Wolfram,

Thank you for sharing with us this tutorial. I was looking into deepstream.io and thought about making game with this library. Then saw your tutorial. I just wonder know how performance is. I mean, is it right way to do make multiplayer games with this library? I don't want to invest too much time on game networking and don't want to write everything from scratch with socket.io or something like that. If it's possible to make multiplayer with deepstream.io, it will be easier to handle. 

Also do you have any plan to write second part of this tutorial? :)

Share this post


Link to post
Share on other sites

Thanks,

deepstream works well for casual multiplayer gaming - think Clash Royal etc. Generally speaking it

- has an average message processing latency under load of ~1ms (plus network latency)
- scales horizontally to facilitate significant throughput. We've run tests with a six node cluster forwarding 4.000.000.000 messages / hour (https://deepstream.io/info/performance/four-billion-messages-per-hour/)
- is very cheap to run.
- speeds up development as its high-level concepts manage most of the hard stuff like connection logic, state recovery etc out of the box

it WON'T be a good fit though for games that require ultra low latency and significant prediction (think Call of Duty etc.). For these games you'd be better of building a custom solution that

- uses UDP multicast to minimize message times
- uses predictive positioning to move your characters to the position they will likely be in the next frame and only reconcile it if it receives different input (resulting in these jumps you know from laggy connections)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.