NetDog MMO networking for unity

Looking for MMO tools for Unity3d?

Folks -

We have been speaking with the folks at Unity for a few months about opportunities to offer our MMO networking tools with Unity3D, and are excited to introduce NetDog to the developer community.

NetDog is a highly scalable, high performance networking engine for MMOs that can support up to 4000 players on a single server, and millions on load balanced, multi-servers. NetDog’s tools are easy to use and quickly turn single player games into massive multiplayer online-supported worlds. For more information, see our website www.netdognetworks.com or contact me at paul@netdognetworks.com.

Looking forward to working with the Unity community,

cheers,
Paul

Good to see you around these parts Paul! :slight_smile:

Folks, I’ve chatted with Paul a few times, notably at Austin GDC last month and more recently over coffee in San Francisco. They’ve got a great package that’s worth your time to consider so spend a few minutes and check them out. Besides, Paul is a great guy who you can chat up about their offering to help you decide if it’s the right solution for you.

Wow, looks very interesting. 4 000 players on a single server is pretty amazing.

If I ever create a MMO, you can be sure that your product will be at the top of my list. :smile:

Oh and if I may give you a friendly advice. I think, you should rethink your website’s design. IMO, it doesn’t look professional and does not do justice to the product you are offering.

Anyway, I wish you very good luck with your product.

Hi Paul,

I looked through your website and online docs and NetDog looks good. Interfacing with your solution seems like it will be straight forward. I do have a couple of questions.

  1. Have any released titles used the NetDog solution yet?

  2. Is pricing or licensing listed online somewhere? I could not find any reference to it.

I’m happy to email you too but I thought answers here might help others here in the Unity community.

Thank you,
Ricko

Thanks Ricko for posting this on the forum indeed, since I think we are all still looking for MMO a-like solutions for multiplayer in Unity, we’re all eager for information about netdog/fox etc.

Same questions here

Folks -

Thanks for the interest and feedback. Apologies that I have not gotten back to you faster, I did an Ironman triathlon last weekend and have been recovering through the early part of the week. Luckily I will not be doing that again any time soon, so my response time in the future will be much, much faster. Below, please find my answers to your questions:

Pricing:
Our Indie developer solution is $30,000 for a title license. We have priced it for small independent studios, and offer a revenue sharing option to adjust prices so we can work with developers of all sizes. Just contact me and reference the Unity discussion and we can work out a deal that works best for your needs.

Current NetDog clients
NetDog has been on the market about a year now, so our initial customers have not yet released their titles, however, we can put you in touch with them if you would like to ask questions.

Regarding our website, thanks for the feedback, we are working to update it now, and hope to improve the crispness and look, but any additional feedback would be greatly appreciated,

I hope this helps, and please feel free to contact me/post other questions,

thanks,
Paul

That seems a bit pricey. Even the Smartfox server, which has in production products in their showcase, is only about $4K USD for the Pro version:
http://smartfoxserver.com/shop/catalogue.php

And it has a pretty nice feature list:
http://smartfoxserver.com/products/

I love to see competition, so why is your product better than Smartfox Server?

Proton -

From the lowest-level, NetDog and SmartFox are built for different applications, and very different games.

SmartFox is a networking engine for casual games like Club Penguin, intended to support basic on-screen movement and chat, with minimal real-time action.

NetDog is built to support infinitely large user communities in a real-time action/FPS-style environment.

Key differences between the two products at the highest level:

  • Languages - Smartfox is Flash; NetDog is C
  • Messaging - Smartfox is TCP; NetDog is UDP (with reliable UDP option)
  • Topology - SmartFox is client-server; NetDog’s flexible topologies allow for customized message routing and processing
  • Zoning/Seamless worlds - SmartFox is room-based; NetDog supports seamless worlds

The net result of these and other architectural differences is that NetDog is faster and more scalable than SmartFox. All this being said, I don’t think NetDog is the right option for all Unity developers, as SmartFox’s quick deployability of casual games in a run-time environment is the right choice for many, while NetDog is the best option for those that are building highly scalable, fast response massively multiplayer games and virtual worlds.

Feel free to contact me with additional questions,
Paul

Paul,

Thank you for the responses and excellent detailed answers. I’m exploring multiple solutions and NetDog is on my short list to test in the next few months. I’ll contact you directly when I reach that stage of development.

Thanks,
Ricko

Just a quick correction on that one - smartfox server is java based with a flash API for clients. Currently in beta are various other client APIs from Unity API (.NET) to Java and Ajax based ones (I’m coding the Unity/.NET API so thats why I respond).

Cant comment on the other parts as I dont know NetDog.

We’ve been working on a Smarfox application which could handle realtime connections easily, and lots of them. (The Pro version supports binary like data transfer, but still reliable).

IMHO Netdog is too pricey to consider, but nice to see alternatives!

Looks interesting. Could I ask you to outline the differences between unitys built-in RakNet and this solution? Sort-of like you did with smartfox.

Would be an interesting read, RakNet is used on the PS3 by Sony in real world application, he charges $50k for unlimited worldwide distribution and is supported on just about all platforms as far as I know, and is only $8k per platform for unlimited games on that single platform which is very reasonable. Rather sweet if you ask me, but hey, I am bias, been working on RakNet for over a year now.

Thanks to everyone for their interest and questions.

Regarding Raknet, the key difference is NetDog was built from the ground-up to support Massively Multiplayer Online games, where, as far as we can tell, Raknet’s current implementation is not designed for MMO scalability.

In our testing, NetDog has supported the time-stamped events for ~4000 connections/users in one room on one server. These were all bots, but distributed amongst eight different geographic locations, across the US with one group in China. As far as we have seen, Raknet is significantly more limited regarding number of connections/users.

NetDog architecture is optimized for large scale networks, including:

  • proprietary algorithms for managing connections and messaging that can support tens of thousands of socket connections simultaneously, executing >100,000 messages/sec on one core
  • one of the smallest packet overheads in the industry at 44b leading to smaller overall packet size
  • customizable performance optimizing tools including delta compression and culling reduce additional network traffic

In addition, NetDog handles many more low-level networking transparently to the developer than Raknet - connections are set up with a function call, features such as encryption and reliable message delivery are managed with a flag within a connection function, and NetDog’s interface integrates easily with games, allowing for high degrees of customization.

Beyond these two major differences, NetDog and Raknet have similar features (encryption support, object replication, voice) and we support all platforms (and iPhone). Raknet has been on the market longer, so has released more titles, but we have some good customers in development who will hopefully soon release successful games that will demonstrate NetDog’s capabilities.

I hope this helps, please feel free to contact me with additional questions, or contact me by mail if you would like to evaluate for yourself.

cheers,
Paul

Interesting, maybe I will ask to see how this works sometime. Only thing that bugs me, is that a UDP packet being smaller than a TCP/IP packet is 20b by itself, meaning that you are saying that you only send 24b of actual information of your own. (12b=tcp header, 8b=udp header, both required for UDP packet send), now lets take a character, which is 1 byte in size, meaning that you use a maximum of 24 characters per packet.

If you are referring to TCP/IP that is all based on the point to point MTU’s which is definitely >44b, please elaborate more on this communication method you are using. Are you strictly using an unreliable connection for your methods? What is your average packet loss with your method?

Zumwalt -

Thanks for the great questions, and it would be great to show you NetDog whenever you are interested.

Unfortunately, I can’t publicly share our exact packet make-up, but could discuss offline.

For your other questions:

  • The overheads quoted were for NetDog’s unreliable transmission, which is our default message type, and should be sufficient for most game packets
  • Average packet loss really depends on the environment in which the client is operating, and can vary from 0-100%, but usually is on the more reliable end of the spectrum
  • NetDog does have a reliable UDP option which is 100% reliable, but doubles the overhead and increases total packets by retransmitting failed packets
  • rUDP is developer customizable, and is set using flags on a connection or channel basis, allowing you to performance tune - setting message types as reliable or unreliable depending on your game needs

Can NetDog work with browser-based Unity compositions?
Is it “ready to use” wrappers or server sources for Unity?

I’m not Paul but I can help out in part…

Yes.

I don’t believe they have that quite yet, perhaps Paul can chime in with better detail?

I am very excited to see MMO utilitys for Unity. Myself and my small team are very intrested in a mmo since we are all hardcore player of mmo’s.

The price of 30,000 seems a bit high. Hopefully for a small indie group you woulde be will to a backend deal.

Tom, I’m not sure that it can. As far as I can tell, using UDPClient fails in the OS X Webplayer.
We’re currently working on a backend solution and have had to implement a TCP workaround, which is not optimal.

Also there’s a pretty serious bug with System.Net.Dns, which admittedly is a Mono bug, but still needs to be fixed. Related post: http://forum.unity3d.com/viewtopic.php?t=13483

Best regards
Shaun