Search Unity

[Released] Bolt, The new generation of networking solution for unity!

Discussion in 'Assets and Asset Store' started by fholm, May 30, 2014.

  1. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  2. crandellbr

    crandellbr

    Joined:
    Apr 3, 2013
    Posts:
    133
    I know most developers are probably using Mecanim by now, but does Bolt support legacy animations in any way? Or would it be intuitive to set up with Bolt's paradigms? If legacy isn't feasible, can I use Mecanim's own Play and CrossFade functions - basically using it like legacy - and still have it sync?

    Also, is it easy to reuse code between multiplayer and single-player, instead of having to switch to the default Instantiate() and so on? I didn't get very far with it, but I vaguely recall Photon needing special (but simple) functionality for that - setting up a dummy room I think.
     
  3. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    It would be *decently* simple to use the legacy system yes, you would have to manually setup the state properties and then apply them to your animation logic by hand, but it's not terribly complex.

    We are working on adding support for mecanim Play and CrossFade.

    [/QUOTE]
    Also, is it easy to reuse code between multiplayer and single-player, instead of having to switch to the default Instantiate() and so on? I didn't get very far with it, but I vaguely recall Photon needing special (but simple) functionality for that - setting up a dummy room I think.[/QUOTE]Bolt does support the "proper" way to do a SP+MP game, where you can start a local server with just 1 player (yourself) and keep all your logic identical between your SP and MP game. This is how most "AAA" games do it also.
     
  4. crandellbr

    crandellbr

    Joined:
    Apr 3, 2013
    Posts:
    133
    That's a relief to hear, on both counts. Thank you.

    And I discovered Bolt just in time for the release of the master server! Lots of amazing features I'm reading about - keep up the good work! uLink wasn't working right out of the box, and I wasn't looking forward to dealing with that.
     
    Last edited: Jan 11, 2024
  5. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    John-G likes this.
  6. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    3 hours left on sale on asset store
     
  7. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  8. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Sale is over.
     
  9. Aeolun

    Aeolun

    Joined:
    Feb 14, 2014
    Posts:
    4
    Oh nice, apparently bought it in the last few minutes. Glad I didn't spend more time reading documentation and comments.

    I'm very enthusiastic about the generated static typing. Also, master server, though I've noticed the API for that is not in the website API doc (could find it on the wiki though). It might be a good idea to add that.

    Ok, time to build a multiplayer game :) thanks!

    Edit: Totally unrelated, but does this mean Unity does random sales on things sold on the Unity Store? I got here through Facebook, but apparently the ad was set up by Unity?
     
  10. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    You can apply for being included in one of these daily deals, and you get to pick the % discount, etc. but when it happens is up to Unity (I applied for this sale several months ago), sometimes you get a notification... sometimes you dont ;p
     
  11. siblingrivalry

    siblingrivalry

    Joined:
    Nov 25, 2014
    Posts:
    384
    damn it! i was on the store last night and didnt see this on the Sale.

    any idea when its on Sale again?
     
  12. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Since we (accidentally) made both a sale on our own site and a sale on the asset store almost back-to-back, Bolt will not be on sale again for several months.
     
  13. siblingrivalry

    siblingrivalry

    Joined:
    Nov 25, 2014
    Posts:
    384
    thanks. I will have to wait patiently then :)
     
  14. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    For those of you that just missed the asset store deal, throw us an email to support@boltengine.com and we'll figure something out that works for you.
     
  15. Stiffx

    Stiffx

    Joined:
    Oct 27, 2014
    Posts:
    455
    hmm this is a very interesting solution, I'll keep an eye on it.
    Just a question, did you find/add the NAT solution yet?
     
  16. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Yes, we just released the master server / NAT puncher a week ago, it's called Zeus, and comes together with Bolt. Full source included ofc.
     
    Stiffx likes this.
  17. dth

    dth

    Joined:
    Oct 16, 2013
    Posts:
    13
    you already made tests with fast paced mobile games? ... i need something hibrid p2p and auth, bolt can handle it?
     
  18. Brocan

    Brocan

    Joined:
    Mar 22, 2012
    Posts:
    45
    Hello @fholm , i'm trying to register in the bolt forum, but when i fill the form and press submit, i get this message:

    "The solution of task you submitted was incorrect. Please read the instruction and try again."

    What's happening?

    Thanks in advance!
     
    Last edited: Jan 28, 2015
  19. MikeCoderMore

    MikeCoderMore

    Joined:
    Sep 22, 2013
    Posts:
    61
    Hi sounds like a grate asset just wondering if it supports windows phone yet?
     
  20. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    @fholm

    After bitching about my network library because I use Protocol Buffers (which you stated as highly inefficient and 3-4 times larger that your serialization among other nosense, lol) in this reddit thread where I announced its release just to sink me down with lies, now I found that you have ditched your old serialization in favour of, guess what, Protocol Buffers.

    I'm glad you have recognized your mistake but a formal rectification for those who believed you would have been nice. Once you have played pretty dirty on me, please at least do not copy me. I want to believe that you can be better than that.
     
  21. cakeslice

    cakeslice

    Joined:
    Oct 18, 2014
    Posts:
    197
    shots fired
     
  22. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    88
    @Kirienko
    fholm ditched protocol buffers in bolt in favor of his own serialization last I checked? Where are you seeing protobuffs being used?

    edit: also just read your thread. "Bitching" is WAY WAY off base here.
     
    Last edited: Jan 29, 2015
  23. toreau

    toreau

    Joined:
    Feb 8, 2014
    Posts:
    204
    Where do you see that?
     
  24. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    Check this: look for protobuf-net.dll in the file list of the package (You can see the file list directly in the asset store page). This is the assembly of Protocol Buffers.
     
  25. toreau

    toreau

    Joined:
    Feb 8, 2014
    Posts:
    204
    That's correct, but it's only used for Bolt's compiler, which has nothing to do with the networking part.
     
  26. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    If you can not or don't want to see the relation between those two parts, be my guest.
     
  27. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,536
    Error:
    Code (csharp):
    1. Cannot open assembly 'C:\Program Files\Unity 5.0.0b21\Editor\Data\MonoBleedingEdge\lib\mono\2.0\gmcs.exe': No such file or directory.
    During Installation, Compile Assembly.
     
  28. toreau

    toreau

    Joined:
    Feb 8, 2014
    Posts:
    204
    The main point here is that protobuf is not used for any of the networking, right? If you agree on that, I suggest that you should stop bitching, to use your own words.
     
  29. toreau

    toreau

    Joined:
    Feb 8, 2014
    Posts:
    204
    http://forum.boltengine.com/viewtopic.php?f=9&t=584&start=10#p4193

    PS! I see that you are running the bleeding edge of the beta. Please don't; use the latest version that is tested properly-ish, which is beta 18 at the moment.
     
  30. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,536
    I was using 18 originally and had the same result, moved to 21 to see if there was a difference. Same error. I can't even find the gmcs.exe in the mono folders.
     
  31. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,536
  32. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    You are wrong about that, but like I said: be my guest. Anyway, I do not have intention of arguing with you nor I have anything against you: what I want is to see what fholm (mysteriously disappeared at the time) has to say about this.
     
  33. toreau

    toreau

    Joined:
    Feb 8, 2014
    Posts:
    204
    Wrong about what? Can you prove to me that protobuf is used for networking communications?
     
  34. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    I am not here to prove you anything. The facts speak for themselves: the assembly is there and Protocol Buffers are being used.

    I am still waiting for @fholm to take responsibility about his words and acts and give some explanation but He hasn't still appeared while you continue here arguing and denying what is evident.

    Maybe He has some backup accounts to deal with this kind of things, maybe, I don't know.
     
  35. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    88
    I don't have a stake in your gripe with fholm. So I can only ask if this is about using protobuffs or is it about using protobuffs for networking?
     
  36. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    For networking.
     
  37. DigitalGlass

    DigitalGlass

    Joined:
    May 12, 2009
    Posts:
    88
    and if it turns out that protobuffs are not being used for networking, then no harm no foul? I only ask this because you're coming in with pitch forks for something that appears to be a misunderstanding of his intentions. Bolt did used to use protobuffs for networking way back in it's early beta, but was opted out because of inefficiencies. Hence, his post on your reddit thread.

    Anyhow, I don't have a stake in this, so if you made up your mind then so be it.
     
  38. Simie

    Simie

    Joined:
    Oct 26, 2012
    Posts:
    456
    I just had a look at the github repo to see what protobuf was being used for. bolt.csproj has no reference to protobuf-net.dll, whereas bolt.compiler.csproj does. As far as I can tell, protocol buffers are only used for storing the project structure, not in the generated bolt.user.dll or the bolt runtime itself.

    EDIT: Also, when bolt is included in a project protobuf.dll is in an Editor/ folder, so would not be included in a non-editor build anyway.
     
    hopeful and toreau like this.
  39. Kirienko

    Kirienko

    Joined:
    Apr 5, 2013
    Posts:
    37
    If that's the case, my mistake. Sorry for the inconvenience.
     
  40. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    This would be correct.
     
  41. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Hey!

    If you download the latest version from Bolt from our site: http://www.boltengine.com/download/ currently 0.4.2.4, it should work with Unity5 b18, you can use your asset store invoice number to access the downloads section.
     
  42. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,315
    Hey Fholm currently I am re evaluating bolt instead of photon,
    I have a network spawner that spawn on master client XXX enemies at different position (pooling), each time a unit is spawned its buffered on all other client that will join, does Bolt use Scene Object instanciating too? an object buffered that we instantiate and dont get deleted when host disconnect?
    or an other example if i cut a tree, an other player join, the tree should be same state on every client? is there a way to do buffered state? or we have to serialise states?

    I remember you where talking about cloud integration in the past, any ETA?
    does bolt now can handle Channels? lobby server?
    In the game I am working we have a large amount of networked enemies (40~) and with photon cloud its not a very good fit as bandwitch is pretty limited. Is there something with bolt that can help ?( i know there is no BW limit and your data compression feature seems neat)


    EDIT: i have just discover Area of interest
    so if i put that on player and enemies for example, my player will only receive event from the units that are in its "interest area" ? if its true Im totally dropping photon, its like a occlusion culling but for network data in short?

    Edit: checked in docs if id = 0: its a scene object, but if all scene object have same ID, how can i reference them?
     
    Last edited: Jan 31, 2015
  43. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  44. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  45. imgodot

    imgodot

    Joined:
    Nov 29, 2013
    Posts:
    212
    Complete Bolt noob here:
    I was able to do the basic moving cube tutorial, but I'm having trouble getting even a simple authoritative server test working.
    Does anyone have a simple authoritative project they would be willing to share?

    I looked at the 3rd person tutorial and though I was doing the same basic spawning with AssignControl(), etc. but my code does not work correctly.

    I thought my problem would have a very obvious solution (because I know, with almost absolute certainty, that I am missing something obvious), but I posted on the Bolt forums but got nothing but crickets.

    Thanks,
    -- Paul
     
  46. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    imgodot: Join the Bolt jabbr chat and I'll help you live, or I can give you my Skype details to assist you so you get everything up and running.
     
  47. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
  48. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Hey Fholm, I've been trying to do some performance analysis on Bolt to see if we can use it for our project (a simulation that has multiplayer requirements). I just got done with the "Basics Tutorial" series (aka: 101, 102...105).

    My problem is that whenever we go up to 40 entities moving in a circle 2 of the entities stop sending states to the server from the client. If I go up to 100 entities moving in a circle all the entities stop sending states up to the server so their frames essentially stop.

    Is this an issue with Mechanim being serialized across the network, an issue with Bolt overall not being able to support more than 38 entities moving at once, or is (most likely) an issue with it being the basic series tutorial? I was hoping you might be able to provide a simple example (even just a video) showcasing the power of Bolt in terms of entity information being properly sent to clients connected in a given area (upwards of a couple hundred to a thousand?).

    Keep in mind I was running this locally on the same machine and not over my network persay. (testing :D!)


    Thanks Bud o7


    ps: For comparison using default Unity Network code I can move around 5000 objects on a scene (cubes) without much lag, and near flawlessly with 1000. I understand serializing Mechanim animations could be a little heavy, but I was hoping for a little more than 38 ^-^!
     
  49. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Hey!

    There should be no issue with ~40 objects, in 'The Forest' we have something like 10 000 trees being replicated, each being their own entity.
     
  50. TheBraxton

    TheBraxton

    Joined:
    Mar 6, 2014
    Posts:
    98
    Those trees aren't constantly sending Animation packets between client and server are they? I wonder if it has to do with how i'm spawning them :eek:?