Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Assets DarkRift Networking 2: The next level of networking

Discussion in 'Works In Progress - Archive' started by Jamster, Jan 20, 2016.

  1. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Getting there, I'm back on Hazel trying to add the code for fragmented messages at the moment because I didn't get round to finishing that!

    I still have a few things to do on the basic examples and then documentation. Should be able to alpha midway through documentation I hope.

    It's been very slow progress over the last few weeks and it's going to be slow progress early January as well sadly.
     
  2. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    So It means that alpha will show up around December or January? :D
     
  3. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    January or February maybe ;)
     
  4. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Time for an update!

    Today I made a late rewrite of the internal storage DarkRift uses. It occurred to me last night that I'm using a fairly makeshift database to store internal settings and, considering it's going to require an overarching database for proxies etc. later anyway, I might as well use a proper database now and hopefully save myself headache later!

    Hence I'm including SQLite into the build so that DarkRift and any plugins can store localised settings and configurations that are separate for each server executable. This might cause some problems getting it running on Linux but I'll work that out :p

    Next up is to finish the Unity examples and then work on the documentation!

    Jamie
     
    DarkFlameX1 and michaelbeers like this.
  5. michaelbeers

    michaelbeers

    Joined:
    Aug 19, 2015
    Posts:
    18
    Good job, can't wait for an alpha/beta version of the plugin/server
     
    DarkFlameX1 and Jamster like this.
  6. DarkFlameX1

    DarkFlameX1

    Joined:
    Mar 14, 2015
    Posts:
    13
    wow great job! Can't wait till the release :)!
     
    Jamster likes this.
  7. Ludopathic

    Ludopathic

    Joined:
    Dec 21, 2016
    Posts:
    12
    Is there likely to be a release soon? I am currently fighting my way through tnet to implement authoritative server stuff with chat and channels and I'm having a seriously hard time.
     
  8. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I have no idea anymore, I still need to do documentation and finish the examples... I'm progressing but it's slow sadly and I'm not going to have much time over the next few weeks :(
     
  9. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    So, I've nearly finished the 3rd and most complex example scene! I'm not sure if I will be doing a Unity embedded server demo for first release because it'll take quite a bit of work, I'll make sure I touch on how to do it in the tutorials through.

    Speaking of which, I have begun work on the tutorial and it's planned to pretty much cover everything in DarkRift 2! The current format is to take you through building a simple game from start to finish and then move on to more advanced DarkRift concepts as additions to that project. It's a really fun little game so hopefully you'll enjoy re-making it ;)

    Also, as an added bonus, I just found this guy has made a whole series of tutorials for DarkRift 1 so that's given me some new motivation to finish :)
     
    DarkFlameX1 likes this.
  10. DarkFlameX1

    DarkFlameX1

    Joined:
    Mar 14, 2015
    Posts:
    13
    Awesome!!! Can't wait :)!
     
  11. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    @Jamster I am working with DarkRift 1, VRTK 3.0.1 and HTC Vive for converting this tutorial from Cloud Photon to DarkRift.



    I have some problem (time, my little doughter, etc...) but all the code will be open source and I will write a tutorial.
    Can't wait using UDP ;-)
     
    DarkFlameX1 and Jamster like this.
  12. Supergeek

    Supergeek

    Joined:
    Aug 13, 2010
    Posts:
    103
    Any chance of Hazel working on .NET Core?
     
  13. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Maybe at some point because I'd like DarkRift to work on .NET Core at some point but I don't know much about it at the moment.

    If you've used it have a go at porting it and make a pull request!
     
  14. Stinefelt

    Stinefelt

    Joined:
    Jan 20, 2017
    Posts:
    11
    Very nice work
     
    Jamster likes this.
  15. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,533
    ya I been waiting on this and forge remastered to see what sort of pricing/features both contain... holding off on doing multiplayer for my game but its getting to the point where i need to make a choice and stick with it soon

    As waiting on what the third party networking solutions is like compared to unet is taking to long. Is a bunch of others I've had on my radar like https://github.com/RevenantX/LiteNetLib and lidgren... ofc the end decider for me will be which of these solutions has the best support even in the form of more fleshed out examples... could be thinking maybe I should just go ahead with unet but from the server hosting side it does seem kinda bloated which is why this, along with some of other solutions I've been waiting on to see how they develop.

    One reason is I can't think of anything more stupid than a unity game server on linux with no direct console window where you can have custom commands and be able to input them from an ssh session, from what I've seen the closet you can get is reading the output log for the unity game.. really kinda absolutely S*** imo if that is what unet networking and unity linux support is at... but i've not looked into too much, just the general thing I've seen from most published unity games.

    So same reason I like a c# command console window for a server, though if the option to have embedded server within the unity instance is a supported option with guide on doing it that would also be good.

    Anyway glad you're finally at the stage of doing example scenes now, and if you can comment on how you think darkrift2 compares to other networking solutions, what performance will be like to have playercounts of like 200, when you think you'll have something out to test. Main platform is just pc/linux desktop, though webgl/android would be a future option I'd like to consider later.
     
    Jamster likes this.
  16. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Hi @Player7,

    I'm glad you're interested in DarkRift, I'd like to think that I have the best customer service but I suppose I can't be my own judge on that!

    DarkRift 2 will have a few simple examples for you to refer back to, a very comprehensive tutorial covering everything from basics to the most advanced topics and then will have another, much more complex example (closer to real game code). I may in the future add a Unity embedded server demo but there wont be one at the start since examples take a lot of time to produce and I'd much prefer to release sooner - it will be covered in the tutorial however.

    In terms of pricing it's likely to be a little more expensive than DarkRift 1, there will probably be an upgrade cost for current users but only to cover the difference in prices (note, any pricing info may change). I suspect I will move to only 1 or 2 tiers as well (rather than the current 3) which means I'm not sure if I will have a free version anymore mainly because I spend a lot of time answering simple questions for free users who never actually purchase the Pro or Extreme version :(

    Performance wise I am expecting a slight performance drop from DarkRift 1 because everything is better structured now making it a lot easier to maintain and add features but meaning there are more method calls and lines of code to navigate through! Hopefully the better structure will allow me to make impressive optimizations at a later stage however! I would expect 200 players to be fine given a decent server to run on though of course a major factor is in the code for the server plugins, if that's slow you'll get poor results...

    Testing should be soon(ish), I have more bugs to fix, the complex example scene to finish (bugs again...) and I'd like to finish the tutorial before releasing to testers. I will be having a closed alpha test phase for a select group of people (application form will be coming at some point) and then I will hold an open beta which anyone can be part of. DarkRift 1 will probably be removed from the store at the start of the beta phase and discontinued once the beta phase is finished :)

    Hope that answers people questions!

    Jamie
     
  17. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    Hi there, very new to network, still waiting for your DarkRift 2 and the comprehensive tutorials. A quick question, how about AI, can I run about 200 AIs with 100 dynamic objects for a 2 vs 2 player? Any ready-to-use on Physics, Raycast delay, client-prediction . I know there is a Lockstep plugin, which is not very well supported. So, I hope you could make your own Lockstep plugin, Raycast delay like Bolt has.
     
  18. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    @Jamster,
    please don't drop the freeware option!! It is very important to try and test in Unity. Please, please...simply don't answer if you don't have a license Pro or Extreme :)
     
  19. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    It would depend on what you want them to do, if it's turn based then certainly, if you want intelligent AIs then probably not! I expect your biggest problem would be optimizing bandwidth for that much data if the AIs are operating in real time. Physics and Raycast will be available through the Unity based server, client prediction is fairly application specific so it wont be built in. Lockstep could be added later, if there's enough interest :)

    Trust me, I'd love to do that! Sadly, Unity's asset store agreement legally binds me to providing the same support for all tiers so I can't charge for support. I did toy with providing it from my own website so I could do that and then provide the free version or examples on the asset store but there are similar license issues with bypassing Unity's purchasing like that (because they don't get their cut). I suspect eventually I will move to some self hosted payment system but not in the near future.

    The only solution I can think of is to provide a very limited version so that people have to upgrade if they want to do anything more than just evaluate DarkRift (e.g. limit of 5 players, some moderately major functionality cut out etc. maybe 30 day free trial?) but I'm not convinced that would get over the support issue and it also makes the build process for me a lot more complicated (though I've sorted some of that with build scripts now).

    What are people's thoughts on licensing?
     
  20. Stanchion

    Stanchion

    Joined:
    Sep 30, 2014
    Posts:
    269
    I believe he's talking about lag compensation hitbox rewind, not just server side raycasts
     
  21. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Oh yes sorry! Misread that!

    Not straight after release but things like this may be something I develop in the future if a lot of people want them, sounds like fun to try and do anyway!
     
  22. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    341
    @Stanchion , @Jamster Thanks for the replies. After searching around a bit, Unity based server looks like easier to do. But, you right, I will get trouble with data sending bandwidth. Another possible solution is Non-Unity based server, with all gamplay written by pure C#, sending by commands only. But, it's hard since I found no tutorials, books how to code such systems yet.
     
  23. DarkFlameX1

    DarkFlameX1

    Joined:
    Mar 14, 2015
    Posts:
    13
    Hello, I would just like to know, if we purchased DarkRift Pro for 25$ how would we transition to DarkRift 2? Like would we have to rebuy darkrift 2? Or pay a small upgrade fee? Or would it be free for those who paid? Thanks for the great support.:)
     
  24. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    As I mentioned a couple of posts up, there will probably be an upgrade cost to DarkRift 2 but likely only to cover any increase in cost from DarkRift 1.
     
  25. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    @Jamster Hi there, I saw darkrift a year ago and I am still actively looking forward to it. I had previously asked if it works with WebGL builds and you said no. So I just wanted to know is there any updates on that?
     
  26. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    It will do at some point but not at initial release :) It would need to be added to Hazel first and then it would be very easy for DarkRift to add :)
     
  27. Rakinare

    Rakinare

    Joined:
    Feb 1, 2017
    Posts:
    17
    Hey!
    I am currently building a game using DarkRift and I really really like it so far.
    However I am using the free version as I am still trying out alot of stuff since I am new to game coding.
    How much will DarkRift2 cost? I really love the introduction you gave to it and I would love to upgrade once it comes out but I can't afford dropping 100 bucks or more just like that :/
     
    Jamster likes this.
  28. The_Milesy

    The_Milesy

    Joined:
    Feb 9, 2017
    Posts:
    9
    Hi @Jamster,

    I have just started playing around with Darkrift and following the tutorial Yasil has made. So far so good. Just wondering if its worth holding off until Darkrift2 is up and running, or is the majority of knowledge and code going to transfer relatively easily?
     
  29. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Still not sure I'm afraid, there'll be an upgrade option from DarkRift 1 though if you've already got that.

    Most of the systems have a drop in replacement but some bits will require more work to upgrade. I think overall starting now is a good idea as it'll be a lot easier to upgrade than to add networking later.

    Jamie
     
  30. Rakinare

    Rakinare

    Joined:
    Feb 1, 2017
    Posts:
    17
    Will this upgrade option be free or cost another 50 bucks or more?
    I am right now using the free version since I am completely new to this and try to learn.
    This is kinda important for me to know cause this will influence my decision on either staying with DarkRift and upgrading later or switching to something else.

    Also do you have an ETA for DR2 already or is it still completely unknown?
     
  31. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I suspect the upgrade will cost a little bit but buying DarkRift 1 and the upgrade should be the same total cost as buying DarkRift 2. I suspect the price will be similar to DarkRift extreme is now so the upgrade from there may well be free.

    Still unknown really, it boils down to how much time I have to work on it amongst work.
     
  32. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    The tutorial is now up to 11 pages! (And I've hardly got started!)
     
    T2RKUS, Vytek and DarkFlameX1 like this.
  33. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    Hope beta is really soon(like in this week or something) :D
     
  34. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I think you have an optimistic view of how much free time I have ;)
     
  35. T2RKUS

    T2RKUS

    Joined:
    Jul 13, 2015
    Posts:
    4
    Would I be able to run darkrift 2 in the client game?
     
  36. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    If you mean have the player host the server then not currently, it's still going to be a license problem with a pay-per-seat implementation. If I'm able to do monthly payments that might mitigate it or even if I was able to open my own webstore in the future perhaps.
     
  37. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    :( But if you are writing tutorials you are close, right? Maybe now you can estimate? ;)
     
  38. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    I'd say I'm a third of the way through the tutorial and have spent maybe 2 weeks on it when I've had the time. I'll probably open up alpha signups when it's nearly done and release maybe a week after the tutorial's done? Documentation can then be finished and bugs fixed over the alpha for maybe 3-4 weeks until beta?

    The problem is I have such a varying workload I just don't know when or even if I'll have time to work on it...
     
  39. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    For pricing, how would people feel about 2 versions:

    1. Free - Unlimited users but contains a very limited subset of features e.g. no room system or profanity filter helpers, no anti-cheat system, perhaps no built in database storage from DarkRift or installation/upgrade system for plugins. Perhaps no Unity embedded server? Perhaps some more advanced API methods inaccessible?

    2. Pro version - has everything, future features likely to be pro only (AoI, proxies?, etc.)

    Price wise pro going for maybe $150-200?

    Too costly? How can I better encourage more advanced developers as well as newbies? How can I grow the community?

    I'm intrigued to hear thoughts :)
     
  40. Deusald

    Deusald

    Joined:
    Feb 11, 2014
    Posts:
    31
    I think this is fair what you are planning. Also the price is ok but I think $ 150-200 with the license should be one time purchase not per game or seat :)
     
    Jamster likes this.
  41. Vytek

    Vytek

    Joined:
    Apr 29, 2016
    Posts:
    51
    Good news for Free version ;-) You can start with free Edition and then buy Pro Version to use more advance API!

    Wow $150-200, I will hoping a lower price like $99 (I am in Italy like €89 (Euro)).
    I think that you can grow your community really in VR world. For example in VRTK community (https://github.com/thestonefox/VRTK) all using Photon, but no one know about DarkRift. Now with UDP/RUDP and very small overhead I think DarkRift2 is perfect for social VR. Yes Social VR is the real "Killer app", it is not my idea: http://www.huffingtonpost.com/entry/the-epic-battle-for-socialvr_us_5896109ae4b061551b3dff2e

    You can see for example:
    What do you think about? DarkRift1 will be destroyed :-( Why not opensourcing it?
     
    Jamster likes this.
  42. absolutedogy

    absolutedogy

    Joined:
    Feb 15, 2017
    Posts:
    1
    Getting super hype for this project to come out! wish there was a way to get better notifications about this
     
    Jamster likes this.
  43. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    It would probably be per seat. If you look at other solutions I think this is very much a middle ground though?
    Thanks for these! VR is definitely a good place to build a community since its a hot topic at the moment, I'll have a think through what can be done there!

    As I said above I thought the price was in the middle ground compared to others but you think it should be less?

    DarkRift 1 probably wont be open source because I don't want to have to manage another open source project, it's also pretty poor in terms of coding style so I'm not proud of it. If people want to use DarkRift 1 after it's unsupported (e.g. you release your game with it) I might offer source code to Pro/Extreme owners.
    What sort of thing do you have in mind? Just more posts or other avenues etc.? :)

    Thank you for all your responses so far!
     
  44. chrisx84

    chrisx84

    Joined:
    Nov 9, 2011
    Posts:
    85
    im still very interested in Dark Rift 2 as developing a plugin and game with it was fun but $150 is abit steep for me, im on a budget of zero dollars and sadly am on disability so the most i could afford is $50 a month on assets. Im willing to sub for $12.50 USD a month for a year which comes to $150 or even up to $20 a month for a year. Im planning on a MMORPG and DR1 (and soon DR2) seem to be the best server that has what i need.
     
  45. Conquestor2

    Conquestor2

    Joined:
    Aug 17, 2015
    Posts:
    5
    $200 is fine, but per seat... Meaning per developer using the API, or per server running it?

    Because if that's the case there could be a serious issue with the pricing. For example, in darkrift 1 I have a login server/a chat server/3 game servers.

    That's $1,000 for 1 game :0 Darkift's advantage is that it's extremely programmer friendly/bloat-free, and as the developer has to handle so much of the implementation, it's cheaper. If I'm going to be paying $1k+ for a single game (as I need more servers), I'd need to look at other options.

    *Edit* Actually, I thought about it, and why not have a $100-$150 single seat package, and a $500-$600~ unlimited use package?
    I don't think paying $600~ is unreasonable for an unlimited seat one time fee (assuming people can prototype on the free version, decide it works well for them, and upgrade). 10 low low payments of 59.99 :p
     
    Last edited: Feb 20, 2017
  46. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Per seat as in developer, i.e. if you have 5 people working on a game using DarkRift they'd each need a license, not per server! Standard Unity asset store rules :)

    People seem to be agreed that a better price is $100 so I'll take that into account.

    Multiple seat licenses are awkward for me because I have to upload multiple packages to the asset store and that takes a lot of time. I'm fairly happy with the 2 tier license (free and pro) and people seem happy with heavy restrictions on the free version (at least no one's complained about it!).

    Jamie
     
  47. The_Milesy

    The_Milesy

    Joined:
    Feb 9, 2017
    Posts:
    9
    Hi Jamie,

    I don't think anyone will have an issue with paying to use your tool. A very stripped down version for free is a nice idea.

    I do like the idea that it scales with the popularity of the game, like you did with the first version, but I understand that is difficult for you to manage / support. Just means you can dip your toe in and not commit if the game makes no money.

    Is it possible to have a free "Development" version? Similar to MSSQL structure. Where you get the fully featured product, but your not licensed to use it in any production environment? That way we can build our game around your product, but not commit to purchase it until we are ready to launch the game. As a hobbyist, I can't afford a $100 on a asset I may not use.

    Just my 2c.
     
    Jamster and chrisx84 like this.
  48. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    The main problem there is that probably <1% of games will ever get to production with an indie environment like Unity's and hence that would be a very small revenue stream for me unless I hike the price dramatically which would put people off... That's sort of what DarkRift 1 did and it hasn't been particularly successful for me and in many ways that will still be possible with DarkRift 2's free version.
     
    Vytek likes this.
  49. chrisx84

    chrisx84

    Joined:
    Nov 9, 2011
    Posts:
    85
    why not do it because you enjoy coding and helping others? I run 2 websites and plan to make a completely free MMO because i enjoy coding as a hobby.
     
  50. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Well personally I'd like to use DarkRift as a secondary revenue stream and I spend a considerable amount of time on it in the hope it might one day be this.

    I need to make the time I spend on DarkRift worthwhile in the same way that Unity charges for its engine to cover the cost of building and maintaining it or any other business charges for it's services. Yes, I enjoy coding it. Yes, I like helping others in the community but I still need to have an income though.