Search Unity

[NO CCU LIMIT] Forge Networking now OPEN SOURCE

Discussion in 'Assets and Asset Store' started by Brent_Farris, Dec 22, 2014.

  1. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    You can host your game on the amazon cloud services if you want to and that should be able to handle the connectivity fairly well. So far nobody has any issues with a delay on real time games hosted on the cloud but the locations vary as well as the hardware behind the servers that you want to host from. I'll have to come back an edit this if I can dig up any other information that I may have missed but from what I have used/seen from people is that it there isn't any noticeable difference. You are also able to run a test of your game with our current tools to delay the server responses locally to see how it may affect your games. We do plan on extending our debugging toolkit further so that would be where you can test the limit of you game during those conditions as well.

    Thanks again for being interested in our solution and I hope I was able to answer your question. If you need to ask anything else feel free to send any detailed questions to support@beardedmangames.com and I will address any concerns you may have in further detail. :)
     
  2. Mikael-Madrid

    Mikael-Madrid

    Joined:
    Nov 2, 2012
    Posts:
    26
    Thanks for the reply!.
    Well seeing how good the support is and how the community as responded to Forge,I'm already sold, I'll be grabbing a copy sometime soon :).

    PS:people who has this need to vote on the asset store!,It'd get a lot more visibility,right now it only has 6 reviews and it should have tons more! :p

    EDIT:I'm guessing partially it is because people bought from website instead of asset store?,that actually explains it,since it's what im planning to do.
     
    Last edited: Aug 3, 2015
  3. Mikael-Madrid

    Mikael-Madrid

    Joined:
    Nov 2, 2012
    Posts:
    26
    Does Forge support WIIU,PS4 and X1?.
     
  4. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hello there! :D

    Yes, you will want to use the Authoritative RPC method: http://forgepowered.com/ForgeNetworkingAPI/html/bbfa75ac-6d1c-5392-fd53-0a3d01b50382.htm

    We will check this out to make sure it is not a bug. Until then you are able to use the WriteCustom which has a couple more bytes overhead but will allow you to send any custom binary you wish.
     
  5. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hey! Thanks for the support! :) We add people to our Slack chat channel based on our database so you will be getting a Slack invite via email a little bit afterwords :)

    Hehe, we actually have a pretty big audience on Asset Store as well, I think they thank us and tell us their glowing reviews personally which is very nice as well, but we are requesting that people leave us reviews when they can :)

    Haha, that is a part of it too :) we take a much larger cut on our own site when compared to Unity's 30% so this does help us continue development :)
     
  6. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    We use standard communication protocols, however I know that WiiU and PS4 use a restricted networking system so we will need to test on these platforms before we can say for sure. For X1, since they just released an update that allows communication with desktop (Windows 10) it is more likely to work on this system (if not easier than the others). We will still need to test on this platform as well. If they allow for standard networking that Unity allows, then the answer would be yes :)
     
  7. Mikael-Madrid

    Mikael-Madrid

    Joined:
    Nov 2, 2012
    Posts:
    26
    Thanks for the reply!,I believe Forge uses a similar system so TNET and I know for experience that TNET supports all Consoles so I guess This does too,I just wanted to make sure!
     
  8. DavidMilot

    DavidMilot

    Joined:
    Oct 21, 2013
    Posts:
    12
    Hi Farris, I too am doing the same thing, using the same two functions as phil.harvey but this code is being used to shoot bullets. I would should maybe 30 in a few seconds and after that my client side will become unplayable from the lag. Most of the time the bullets will stop shooting from my spaceship and I can barely move it's so bad. This is only after a few seconds of shooting. If I don't shoot anything, I can move around just fine. Is my problem related to 'buffered RPC calls'? Something you said you'll have to fix/implement ASAP? Thanks for your help. You're doing a great job on the forums :)
     
  9. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hello there! :D

    So yes, we are working on a buffered queue destroy system now so that things that are buffered will be able to be cleared out. :)

    Out of curiosity, would every bullet be required to be instantiated rather than just tracking the starting of the clients request to shoot and the stopping of the clients request to shoot, then simulating the rest accordingly?

    Thank you! :D We try our best. We also have a chat channel if you wish to be a part of it (if not already). All I would need to know is your account username on our website. You can send it to me in a pm if you wish :)
     
  10. Shaka

    Shaka

    Joined:
    Apr 24, 2010
    Posts:
    51
    Thanks for the reply :)
    There was no bug, I'd just missed the is "raw" flag you pass to the constructor. It works perfectly now. :)
     
    Cranick likes this.
  11. AwesomeX

    AwesomeX

    Joined:
    Sep 10, 2013
    Posts:
    117
    This looks like quite a powerful networking solution.

    I'm planning to move from Bolt, but I don't know a ton about Forge. Not to mention my wallet's a bit empty at the moment.
    Are there any game examples that are using Forge? And will there be a sale on this any time soon? Or is there a way to get Forge at a cheaper price? :confused:
     
  12. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    It is indeed, the community is just booming in this aspect so most game examples using forge would be relatively new and at the owners discretion to share that information if they so choose to do so.

    This was a recently released asset that is only a month and a half old now and we do not plan on going on sale. The cheapest this will be is the current price as we do have plans to keep it rising over the course of development as this becomes more and more comprehensive.

    I think if we were to go on sale it would be at least another year or two from now, but even then that is uncertain. We believe our product is at a friendly price range for a wide variety of developers and everyone currently using it also agrees.

    We do have plans in the future to have a trial version but that is a bit farther down in our current roadmap to do as we are still working on key features.

    I hope this answers your question and that if you have any more questions regarding our system please feel free to ask here or if you want in depth answers you can email us at support@beardedmangames.com.
     
  13. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    Update:

    We will be uploading the angry bots demo to our website tonight! For those wanting to try out the example project, please look forward to an update on your developer profile! :)

    Just wanted to let you all know.
     
  14. Mikael-Madrid

    Mikael-Madrid

    Joined:
    Nov 2, 2012
    Posts:
    26
    Just wanted to say I'm a proud owner of Forge(And Master Server!),Will start running through the tuts later!.
    How can i get access to the chat?
    Thanks in advance.
     
  15. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hi there! :) I don't see any pending chat invites, I did send out a couple more this morning, not sure if you got an invite from that. If not, do you mind sending me a private message with the username or email that you used on the site. I'll check to make sure that we sent your invite :)
     
  16. Mikael-Madrid

    Mikael-Madrid

    Joined:
    Nov 2, 2012
    Posts:
    26
    I did,thank you.
     
  17. Shaka

    Shaka

    Joined:
    Apr 24, 2010
    Posts:
    51
    Hello again!

    I was wondering what the overhead of using SimpleNetworkedMonoBehavior is. For example: In my game the player can build a house, placing walls, doors etc, so there'll be a lot of objects, some which need to have their states synced (if a door is opened or close for example). Could I use SimpleNetworkedMonoBehaviour for this (using RPC or NetSynced variables) or should I instead go for a solution where I instantiate the objects without networking and sync them using RPCs using some rpc handler?
    The latter solution will mean less pressure on the network, but I'd still need a way to id each object and have a ton of rpcs for syncing them.
    Any recommendations on how to tackle this?

    Regards/Per
     
    Last edited: Aug 5, 2015
  18. DavidMilot

    DavidMilot

    Joined:
    Oct 21, 2013
    Posts:
    12
    That's good to hear about the buffered queue system being worked on. I really wont' be able to get this game done without. As for your bullet question, I would have to say yes, they have to be instantiated because they might have their own AI (homing missiles for example). Since I'm using the Networking.InstantiateResources() function, that is authoritative programming is it not? I have at least 2 years in Unity experience with my second game soon to be released while working on this new top down multiplayer shooter at the moment as well. I'm really good with Unity but pretty new with networking. My user name is <messaged you with my name> on the forge developer website. Furthermore, I can't log into the forums with my <messaded you with my name> and password. So, not sure what's wrong with that even though confirmed my account and I'm looking forward to getting on the chat channel. Looking forward to that Angry bot demo as well!
     
  19. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    @farrisarts Sent you a PM on the forge developers forum a few days ago about getting access to that fancy slack channel! :rolleyes:
     
  20. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Version 11 Released

    Release V11:
    • Created a reset for SimpleNetworkedMonoBehavior when disconnecting from network
    • Clients disconnecting and reconnecting with the Networking.Disconnect(); method will now be able to reconnect correctly
    • Experimental version of NAT Hole Punching ready for larger scale testing
    • Removed old NAT Hole Punching test server id
    • Added Master Server helper method to set static ip for NAT hole punching
    • Added custom read events being properly handled on the server as well
    • Bug fixes for custom read event on supporting receivers of All, AllBuffered, and AllProximity
    • Refactored some code for cleanup on Write Custom to be more readable
    • Updated example scene to include a custom read event handled by the server only
    As always, we look forward to your feedback! :) Please feel free to join the chat channel if you haven't already, also feel free to leave us a review on the Asset Store if you haven't already :D. Thank you all for your continued support and now it is time to get to work on version 12!

    Angry Bots Demo Released!
    Yeup, go ahead and jump on over to your profile page on the site and download it! If you have not already, you will need to register your Unity Asset Store Invoice (if you did not purchase through the site) in order to gain access. Here is a tutorial on how to do that: http://developers.forgepowered.com/...nityAssetStore/How-to-Register-Invoice-Number
     
    Last edited: Aug 5, 2015
  21. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hi there! It says that you have already been invited, I wonder if you did not get the email. If not that is okay, I think all you will need to do is go to http://www.slack.com/. On the site, click on "Sign In" on the top right, next where it says "teamdomain".slack.com -> input "ForgeNetworking" and click continue. Lastly, use the email that you used to sign up on the Forge Developer portal and you should be good to go :D

    Please let me know if this works out :)
     
  22. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hi there! So SimpleNetworkedMonoBehavior itself doesn't have much overhead at all as it is not constantly synced across the network, this is a good class to use if you want to send pure RPC calls over the network. You can use an RPC call to change the state of things pretty easily if you wish not to use the NetSync variable. Either of these methods would work, the NetSync only replicates across the network when there are changes, so it is optimized, however RPC calls are direct and are not affected by grouping of data like the NetSync.

    If you are using a timed based update you can also work with the WriteCustom, however that may be more advanced then what you are wanting to do. I would suggest RPC calls for changing states quick and easy and the NetworkedMonoBehavior's NetSync variables for anything that is constantly changing. :) Please let me know if you need further information.

    Are you on the slack chat? I'm sure some of our users there will have some alternative ideas on this as well.
     
    Shaka likes this.
  23. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Hi there. So we are inviting to the slack channel based on our current registered user base. Basically the forums, wiki and chat channel are blocked from any users who do not own Forge. I know that you own it however there is one more step that you will need to do in order for the system to recognize you as an owner and that is to register your invoice number from the asset store. You should have gotten this in an email. Here is the tutorial on how to register your invoice on the site after you have gotten this number: http://developers.forgepowered.com/...nityAssetStore/How-to-Register-Invoice-Number

    Please let me know if you need further information on this. Once you have registered your invoice the forums and wiki will automatically open up for your username/password. You will then receive a slack chat channel invite soon after that as well via email :).

    Yes, we are currently working on the buffering clear queuing system and should be done fairly soon :). Also, our instantiate and all other network traffic is authoritative as everything must go through the server and nothing is sent from one peer to another :).

    Awesome, we would love to check out some of your games if you would like to share them :D. Having a good background in Unity is helpful in this system as well since we take advantage of a lot of good core behavior of Unity :).

    It has been released! :D Once you have registered your asset store invoice number you will be able to download it from the profile page of the site! :D
     
  24. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Version 11.1 Released

    Hello all! We have just released version 11.1 which has some minor bug fixes as well as some helper variables that allow you to control the behaviors of position and rotation of client side prediction. :)
    • Fixed NetworkingManager.Instance null inverted check in Networking class
    • BMSBytes can now be serialized across the network with object mapper, which means it will work for RPC calls, WriteCustom and anywhere else that serializes arguments
    • Ditto the last line except with a byte array
    • Added rudimentary position offset for serverIsAuthority and client side prediction to control "rubber banding"
    • Added rudimentary rotation offset for serverIsAuthority and client side prediction to control "angle snapping"
     
  25. Shaka

    Shaka

    Joined:
    Apr 24, 2010
    Posts:
    51
    Hi again! :)
    I just registered my invoice# but I can't seem to login anymore. When I request a password reset I do get an e-mail, but I can't login with the temporary password. Please halp :) I pm:ed you my info.

    Btw. I did discover something while trying out buffered RPCs. When a client connects to a server that has buffered the same RPC-call multiple times it only receives the last call. Is this a bug or am I missing something?
     
    Last edited: Aug 8, 2015
  26. fisherman_b

    fisherman_b

    Joined:
    Dec 18, 2014
    Posts:
    36
    Hi there,

    I just registered on the developer web site, checked my login and purchased the bearded networking :D via Paypal.
    How can I access the chat?

    Thanks
     
  27. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    Awesome, thanks for your support! You should receive the invite within 2-3 hours from now. I'll check your status to make sure everything is going smoothly and welcome aboard! :)
     
  28. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    That doesn't sound good. I'll check your account, can you please send an email to support@beardedmangames.com with your invoice # and I will reset it for you manually.

    I believe that was intended for something that is doing the same thing. It will update to the latest state of that RPC and ignore the previous if it is the same function. Let me check this and get back to you on it in the same email that you send us. :)
     
  29. BigAppear

    BigAppear

    Joined:
    May 15, 2015
    Posts:
    7
    Hello ! I'm about to purchase Forge Network. But before doing, I'd like to know if you know how to implement Forge to make a simple "uFPS" character on network ?
    I used Photon before with uFPS / Photon solution, but I'd like to switch to your solution if it is easier to implement.

    Thanks !
     
  30. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    Currently we have somebody in the chat doing the same thing by converting his uFPS/Photon/Bolt solution to Forge. As of right now he seems to be doing fine and is just need clarification on function calls and what they are the equivalent in Forge.

    I can't say the difficulty it would take but integrating w/ any type of base code system should be relatively easy as long as you understand the underlying system. We need to update our tutorials on our website to reflect the latest version that we currently have but it should still prove to be a useful guide on integrating existing coding structures.

    This would be my recommendation to look at so you would better understand our solution if you do decide to go with it.

    For checking who is the owner of an object:
    http://developers.forgepowered.com/Tutorials/MasterClassBeginner/Control-Access-With-IsOwner

    Integrating with existing code (a little outdated but still relevant):
    http://developers.forgepowered.com/Tutorials/MasterClassIntermediate/Integrating-With-Existing-Code

    How to cache data within your game:
    http://developers.forgepowered.com/Tutorials/MasterClassIntermediate/Using-The-Cache-System

    How to have a working authoritative server for certain mechanics of your game:
    http://developers.forgepowered.com/...iate/Working-With-Authoritative-Server-Option

    Hopefully this answers your question and feel free to send us an email to support@beardedmangames.com if you want to go in further detail.
     
  31. Shaka

    Shaka

    Joined:
    Apr 24, 2010
    Posts:
    51
    E-mailed. Thanks :)
     
  32. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    So when you use your username "shakazed" and the temporary password that was sent to you, you are unable to login? Once logged in you can set your password in the profile page.

    Please let me know if this helps. We have verified that your username should be working with your temporary password that was sent to you via email. Please let me know if this issue persists
     
  33. blueskined

    blueskined

    Joined:
    Aug 9, 2015
    Posts:
    5
    Hi, I just purchased Forge, both assets. A quick question:
    I want to setup a authoritative server, the idea is when 2 players are ready to play, the master server will create a room on the server side(on the cloud for example) as authoritative server, the 2 players only join in the room that the server created, the room on the cloud is actually sim everything, the 2 clients are only playing animation. Is there anything I can reference with for this kind of setup?

    I think the most important part for me is how the master server can create a bunch of authoritative servers(rooms) on the server cloud, and how to inform the 2 players to join in.

    Another thought is, how these players can find specific room? by name? by id? after 100 rooms are created on the server end, how this is organised? by different ports? how many ports I am gonna need in that case?

    Thank you very much.
     
    Last edited: Aug 9, 2015
  34. Shaka

    Shaka

    Joined:
    Apr 24, 2010
    Posts:
    51
    Being stupid as I am I'd tried logging in using my email instead of username. Thanks for the help man, everything works now :)

    Regards/Per
     
  35. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    You will have to write up something to start up a server (fairly simple and straight forward). The maximum port # on a machine is 65535. Although you cannot use all of them as they would be covered by other basic services (40, 80, etc) along those ports so you would have to choose which ports that are available to make a host on. You would have your host start up the server that would then send the clients to in which they would be playing the game there, then after the game is finished you can send them back to the host/matchmaking or however you so choose to handle that behavior.

    The master server can show a list of available servers if you so choose as well. The servers will have names/ids as well as your own ways of identifying them.

    Are you also on the Slack.com chat? We have some developers that are doing the same thing as well as being able to provide real-time support if you need it. If you need another invite please let me know and I will send it again. :)
     
  36. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Version 11.5 Released

    Hello all! We have just released version 11.5 which includes a big buffered RPC update. Buffered RPC instantiates will now be removed from the buffer if a corresponding network destroy is called. Also when a network destroy is called, it will remove all buffered RPC calls that are linked to the networked object that is being destroyed as it will no longer be available.
    • Removed the network object from the buffer of an object that is Network.Destroy();
    • Server now correctly resets the buffer of objects that have been passed through to others from a destroy
    • Removed excess code that can cause issues to high velocity games with instantiate and destroying while other users connecting
    • Cleanup on NetworkingStream properly pass the NetworkID and SimpleNetworkedMonoBehavior that it called from, now correctly assigns itself
    • Fixes to the buffering of Instantiates and Destroys, will now properly remove all buffers of the object that was destroyed from an instantiate
    • Added a Powered By Forge Scene
     
  37. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    ?!
     
  38. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    Just a logo that if people want to promote us in their game for any reason (Not that they have to) it is there in it's own separate scene to use. :)
     
    ZJP likes this.
  39. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Thanks for the clarification.
     
  40. Cranick

    Cranick

    Joined:
    Nov 20, 2011
    Posts:
    310
    No problem :D
     
  41. Keith90

    Keith90

    Joined:
    Sep 27, 2013
    Posts:
    116
    I did it.

    I now own Forge.

    Now that I've taken the first step, I hope I'm able to understand the documentation to figure out what I'm doing. Woo! :D

    Edit: I got an email about joining Forge Networking on Slack. What is that?
     
    Last edited: Aug 13, 2015
    Brent_Farris and Cranick like this.
  42. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Thank you so much for the support! :D

    This is our chat channel where you can get lots of help from developers who are also using forge :D (including us)
     
  43. Keith90

    Keith90

    Joined:
    Sep 27, 2013
    Posts:
    116
    It's not letting me sign up. The "Next" button keeps greying out. It's weird. lol
     
  44. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    D: Still not working? We had someone else with this issue. Did you go through the link in your email?
     
  45. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Version 11.6 Released

    Hello all again! We know we just released like yesterday, but we wanted to let you all know that some major bugs have been ironed out and we are now releasing with those updates. The development on Bare Metal has also helped us find some things that we fixed! :D Enjoy~
    • Removed excessive logos from build
    • Fixed critical non-buffered delete bug for future joining players
    • Fixed inverted logic error for delete which was found in Bare Metal development
    If you haven't rated us on the Asset Store yet, feel free tell the onlookers about our update patterns ;)
     
  46. sparkcube

    sparkcube

    Joined:
    Jul 19, 2015
    Posts:
    3
    Amazing support, almost every problem solved in day, I love you! The forgenetwork make on line play easy with almost no programming needed!
     
  47. AlexJBoyd

    AlexJBoyd

    Joined:
    Dec 6, 2012
    Posts:
    8
    Has anyone had any problems with shaders/reflection probes not showing correctly? Currently using Unity 5.1 and anytime we load
     
  48. AlexJBoyd

    AlexJBoyd

    Joined:
    Dec 6, 2012
    Posts:
    8
    Nevermind.... I am just not that smart. Forgot to add the Quick Start Menu, so somehow the scene still knows how to load, just not properly. Oh well...
     
  49. Keith90

    Keith90

    Joined:
    Sep 27, 2013
    Posts:
    116
    I managed to fix my issue.

    How do I get access to the angry bots example?

    Edit: Will there be any walkthrough videos coming out of how to start up a game, what to do to connect to network, how to sync players/objects/variables, object ownership, functions, how to properly script online stuff, etc. Just all the basics to learn how to get a basic online game going. I'd love to see a video like that since I'm a little lost where to go after the starting from scratch video.
     
    Last edited: Aug 13, 2015
  50. Brent_Farris

    Brent_Farris

    Joined:
    Jul 13, 2012
    Posts:
    881
    Awesome! :D

    Once you register on the website you can go to your developer profile, note that you will have to had either purchased through the website OR registered your Asset Store invoice before the download will be available. :) Let me know if you need further help on this