Unity's networking is DYSFUNCTIONAL.
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    Unity Community Index // Multiplayer Networking
View previous topic :: View next topic  
Author Message
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Sat Dec 19, 2009 12:38 am    Post subject: Reply with quote
I would love anything you can share on Lidgren!
Sample code would be very cool Wink

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Sat Dec 19, 2009 4:55 am    Post subject: Reply with quote
Allright - my latest Mars Explorer build is online, but it isn't perfect as I haven't yet been able to reliably determine the time each positional update RPC spends in transit from one client to another (so my interpolation logic is currently assuming that players have no latency when the game is in RPC networking mode). For those who are interested, here is Mars Explorer 2.13. The "Host Game >> " button will connect you to a dedicated server by default - you can host a game directly from your client by disabling the "Utilize dedicated Servers for hosting games" option in the Server Settings at the bottom of the lobby window. When in a game, the "Active Players" panel will show you a bunch of diagnostic info on each player in the game. When you are the game's Host, you can adjust the game's networking settings in the Server Settings panel. The settings should be self explanatory for networking experts, but I will be glad to answer any questions. Of particular interest is the complete inability of Unity to serialize the player's NetworkViews in UDP (unreliable) or RDC (reliable) networking modes when the game is connected to a dedicated server. Interestingly enough, the packet serialization works intermittently and the RPC timestamps aren't completely messed up when Mars Explorer game clients are connected to a dedicated server running my dev computer and not my dedicated server. I would be glad to share the source of my dedicated server implementation if anyone (especially Unity) would like to investigate it.

I am baffled by all the bugs that I find at every turn, and by Unity's complete lack of support. Does Unity systematically ignore anyone who attempts to build anything using their networking? They have been such a great company in every other aspect that I keep expecting them to at least officially respond - but where are they?

-Aubrey

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
FreelandCJV



Joined: 12 Nov 2009
Posts: 219
Location: Spring Hill, TN

PostPosted: Sat Dec 19, 2009 8:24 pm    Post subject: Reply with quote
That is amazing! I love it! Keep going! Keep improving it! I absolutely can't wait until the next version comes out!!!
_________________
I'm 14 years old and counting.
Back to top
View user's profile Send private message Send e-mail
zumwalt



Joined: 18 Apr 2007
Posts: 1641

PostPosted: Sat Dec 19, 2009 10:37 pm    Post subject: Reply with quote
wow dude i love the map in the corner and what you did with the water and bouyancy! outstanding!
_________________
Hosted Server Solutions and Cloud Computing http://www.1and1.com/?k_id=21336950
Back to top
View user's profile Send private message
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Sat Dec 19, 2009 10:55 pm    Post subject: Reply with quote
Thanks! Smile

2.13 is an alpha build that is packed with minor bugs and isn't anywhere near release quality yet, but I am on track for a final release on Christmas day that will include much more than you see now.

The "Sea" is based on Unity's Island water, with a bunch of tricks that I may get a chance to include in the Sea object of the Whirld 3 release. It currently includes "tropic" and "lava" modes, is easily customizable to any desired look, and it is packed in the game and not individual worlds - so I will be able to keep improving it as technology marches on. The sea physics are really simple - I just assign a bunch of points on each vehicle, then check if each point is submerged and add some forces to it accordingly.

My latest networking code sends a "ping" rpc between clients every 5 seconds or so, divides the round trip time by two (it doesn't know what the time is on the other client - but it can at least compare the time it receives the return RPC ping with the time it sent the request RPC ping), and then feeds the resulting time to my interpolation code as an estimated player lag. If anyone has a better idea for determining the actual lag of each positional update RPC, I would love to hear it!

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
FreelandCJV



Joined: 12 Nov 2009
Posts: 219
Location: Spring Hill, TN

PostPosted: Sun Dec 20, 2009 12:17 am    Post subject: Reply with quote
Again it is amazing! You should add a better AI script. But by better you should add AI that can do all the things the player can do like with the buggy, how it has the glider, you should have the AI able to use that. And have the AI be able to switch their vehicle. Or at least have the vehicle be randomized.
_________________
I'm 14 years old and counting.
Back to top
View user's profile Send private message Send e-mail
zumwalt



Joined: 18 Apr 2007
Posts: 1641

PostPosted: Sun Dec 20, 2009 7:55 am    Post subject: Reply with quote
Dude the sea piece rocks, although I haven't seen anyone yet get a real feel for the tires on any surface in Unity, always get that sliding on ice effect in every game ever made with Unity, no real "grip" feel.
_________________
Hosted Server Solutions and Cloud Computing http://www.1and1.com/?k_id=21336950
Back to top
View user's profile Send private message
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Sun Dec 20, 2009 8:53 pm    Post subject: Reply with quote
I know exactly what you mean Zumwalt - my high speed offroad tire physics are decent, but at low speeds, the buggy has a tendency to drift sideways much more than it should. I will work on that in future releases. I have been experimenting, and I think the problem can be addressed by fine tuning the distinction between my "static" and "dynamic" tire friction modes, and significantly increasing the friction available in the static mode.

I have AI enhancements planned Freeland, but you have to remember - Mars Explorer is all about having fun with your friends. There are 30 or so players on the release version right now, and they are much more fun to play with than any bot ever could be Wink

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
FreelandCJV



Joined: 12 Nov 2009
Posts: 219
Location: Spring Hill, TN

PostPosted: Sun Dec 20, 2009 10:33 pm    Post subject: Reply with quote
I'm only saying it would be more challenging if the bots were different. Ya know, mix 'em up a little. But I love the multiplayer thing and I understand the fun with friends and that's one of the only things I did yesterday. But my friends and I really wanted to have a "Human vs. CPU Match" kinda thing. Ya know?

Other than that, It's amazing!!!

_________________
I'm 14 years old and counting.
Back to top
View user's profile Send private message Send e-mail
dbryson



Joined: 09 Nov 2009
Posts: 13

PostPosted: Wed Dec 23, 2009 5:31 am    Post subject: Reply with quote
I would like to see a response from Unity on the issues in this thread.
Back to top
View user's profile Send private message
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Tue Jan 05, 2010 7:42 pm    Post subject: Reply with quote
All Right!

HiggyB has promised to send a Unity networking developer in the direction of this thread any day now, and we may have the opportunity to get all the issues discussed here isolated and resolved.

I have been hard at work on Mars Explorer, and the latest version hosts it's dedicated servers on Amazon's Elastic Compute Cloud and includes the capability for server hosts to specify whether player positions are transmitted via unreliable bitStreams, reliable bitStreams, or RPCs.

When in RPC mode, everything works but the lag is just about unbearable.
When in BitStream mode, the lag is still higher than I would like - but everything works pretty nicely 'till the non serialization bug surfaces after a random amount of time and destroys the game for everyone.

Unity: I have clear demonstrations of several issues in Unity's networking, and thousands of players who are suffering from them in my game and would love to help get them resolved. I can't wait to share my networking code with you, and anything else I can provide to help isolate these issues. You owe it to yourselves to either stop advertising that Unity provides full featured integrated networking, or to spend a little time to fix it's bugs and make it usable.

-Aubrey

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
Mangopork



Joined: 16 Aug 2009
Posts: 90

PostPosted: Wed Jan 06, 2010 12:10 am    Post subject: Reply with quote
That is a very, very good post, Aubrey.

Thank you.....
Back to top
View user's profile Send private message Visit poster's website
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Tue Jan 12, 2010 9:10 am    Post subject: Reply with quote
Unfortunately - another week has gone by and Unity's unresponsive tendencies have continued to be demonstrated.

I have now despaired of trusting Unity to support any aspect of their engine, and have officially given up on Unity's builtin networking library.

If you are thinking of building something real with Unity's networking, think again. It will almost work in many different ways - but the more popular your game will become, the more spectacularly it will fail - and the less support (or even acknowledgment) you will receive from the company who advertised the system as fully functional and who you trusted.

I don't want to sound bitter - it's just that Unity has been such a wonderful company in all other areas I have observed that I am honestly baffled by their behavior in regards to these issues.


Thanks to all of you who have encouraged and aided me.

I have been experimenting a bit with Photon - but although it does look pretty slick, it's design principles weren't quite what I had expected. (After being accustomed to the likes of OnSerializeNetworkView and BitStream.Serialize, NPeer.opRaiseEvent just sounds so foreign Smile ).

Lidgren looks like it may be a perfect solution for me, and I have just begun writing a dedicated server in c# using MonoDevelop that will be deployed on Amazon's cloud, and which will launch and maintain multiple Lidgren server threads to host each game in Mars Explorer. I even plan to have a "lobby" server thread, which will provide a global chat and master server functionality for players who haven't joined an active game.

I am looking forward to rewriting Mars Explorer to utilize lidgren, and will keep everyone posted on my progress!

Happy Coding,

-Aubrey

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
Quietus



Joined: 28 Mar 2008
Posts: 1324
Location: The sunken city of R'lyeh

PostPosted: Tue Jan 12, 2010 10:05 am    Post subject: Reply with quote
robur wrote:
Unfortunately - another week has gone by and Unity's unresponsive tendencies have continued to be demonstrated.

I have now despaired of trusting Unity to support any aspect of their engine, and have officially given up on Unity's builtin networking library.



Just so you know you're not alone in the dark, Robur...

I corresponded with Higgy on this issue last month around the 22nd. He stated that he was aware of the various threads and concerns, that he had asked for the dev team to join the discussion. In his words, "asked them to step in post-haste."

That was obviously a little bit before you made your post, declaring you had a similar conversation and a similar claim of 'help is on the way.'

At this point, I'm starting to wonder what 'post-haste' translates to in Danish. Rolling Eyes
Back to top
View user's profile Send private message
andeeee
Forum Moderator


Joined: 19 Jul 2005
Posts: 6207
Location: Blackpool, United Kingdom

PostPosted: Tue Jan 12, 2010 12:56 pm    Post subject: Reply with quote
Just to let you know, I've requested a visit from a UT tech person to this thread and I'm now authorised to press it until it happens. You should get a response soon.
_________________
None of you understand... I'm not logged-in here with you - YOU'RE LOGGED-IN HERE WITH ME!
Back to top
View user's profile Send private message
Post new topic   Reply to topic    Unity Community Index // Multiplayer Networking All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 4 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum