Search Unity

  1. If you have experience with import & exporting custom (.unitypackage) packages, please help complete a survey (open until May 15, 2024).
    Dismiss Notice
  2. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice

NetDog MMO networking for unity

Discussion in 'Multiplayer' started by paulm, Oct 16, 2008.

  1. paulm

    paulm

    Joined:
    Oct 13, 2008
    Posts:
    5
    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
     
  2. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Good to see you around these parts Paul! :)

    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.
     
  3. Scrat

    Scrat

    Joined:
    Apr 20, 2008
    Posts:
    316
    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. :D

    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.
     
  4. Ricko

    Ricko

    Joined:
    Dec 9, 2007
    Posts:
    169
    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
     
  5. MikeHergaarden

    MikeHergaarden

    Joined:
    Mar 9, 2008
    Posts:
    1,027
    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
     
  6. paulm

    paulm

    Joined:
    Oct 13, 2008
    Posts:
    5
    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
     
  7. ProtonOne

    ProtonOne

    Joined:
    Mar 8, 2008
    Posts:
    406
  8. paulm

    paulm

    Joined:
    Oct 13, 2008
    Posts:
    5
    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
     
  9. Ricko

    Ricko

    Joined:
    Dec 9, 2007
    Posts:
    169
    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
     
  10. Thomas-Lund

    Thomas-Lund

    Joined:
    Jan 18, 2008
    Posts:
    465
    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.
     
  11. dacloo

    dacloo

    Joined:
    Jun 30, 2005
    Posts:
    469
    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!
     
  12. AngryAnt

    AngryAnt

    Keyboard Operator

    Joined:
    Oct 25, 2005
    Posts:
    3,045
    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.
     
  13. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    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.
     
  14. paulm

    paulm

    Joined:
    Oct 13, 2008
    Posts:
    5
    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
     
  15. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    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?
     
  16. paulm

    paulm

    Joined:
    Oct 13, 2008
    Posts:
    5
    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
     
  17. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Can NetDog work with browser-based Unity compositions?
    Is it "ready to use" wrappers or server sources for Unity?
     
  18. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    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?
     
  19. Galvatron

    Galvatron

    Joined:
    Mar 6, 2009
    Posts:
    11
    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.
     
  20. shaun

    shaun

    Joined:
    Mar 23, 2007
    Posts:
    728
    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
     
  21. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Please log a bug (or bugs) and indicate anything NetDog specific if there is some.

    I'm not sure why this is being posted here but so it goes! :)
     
  22. Thomas-Lund

    Thomas-Lund

    Joined:
    Jan 18, 2008
    Posts:
    465
    That bug is not NetDog specific and is also present for the SmartFoxServer API. Can only use ip numbers

    Its fixed in some of the hundreds of mono fixes released since the version Unity runs BTW (if I remember right)
     
  23. shaun

    shaun

    Joined:
    Mar 23, 2007
    Posts:
    728
    I've been trying to figure out if they were already bug reported, but I guess it won't hurt to file again.

    Best regards
    Shaun
     
  24. donlien

    donlien

    Joined:
    Apr 13, 2009
    Posts:
    229
  25. luiner

    luiner

    Joined:
    Apr 16, 2009
    Posts:
    60
    I had always problems with creating good jokes, but whomever I tell about 30k for server they start laughing :]
    Maybe I will start writing servers and selling them for half... oO
     
  26. sperry

    sperry

    Joined:
    Apr 24, 2009
    Posts:
    13
    Is there some unity3d with netdog tutorial or sample available?
     
  27. zelk

    zelk

    Joined:
    Mar 13, 2009
    Posts:
    246
    bump on that tutorial. paul?