Mythruna
March 28, 2024, 06:03:46 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Welcome to the new forums. See "Announcements" for a note for new users.
 
   Home   Help Search Login Register  
Pages: [1] 2 3
  Print  
Author Topic: Networking, steps forward and backwards...  (Read 22001 times)
pspeed
Administrator
Hero Member
*****
Posts: 5612



View Profile
« on: December 10, 2012, 02:31:23 PM »

The networking of the physics engine has been taking me longer than I wanted.  There are a lot of details that have to be perfect or the whole thing comes crashing down.

I already posted before about my trials and tribulations with zone management.  So far that design has held up very well.

I've been through similar ups and downs with the networking layer.  I alternate between feelings of excitement about how much I'm able to encode in a single tiny message and feelings of dread that there is some critical thing I've forgotten.  For the most part, I've been plodding ahead.

Last night I got almost the full loop-back working.  Every piece was/is in place except the actual sending the messages over the wire.  The mobile objects are zone-managed, their state per-player is packaged up, network state messages are generated, they are looped back to the client code, and the client unpacks them and the data is still accurate.  I've done everything except actually apply it to the visuals.

Despite the progress I was making this weekend, there was some nagging doubt in my mind since last week that there was a critical element I was forgetting.  By the weekend, this was a looming shadow casting a pall over all of the progress I was making.  I went to bed last night feeling accomplished but somehow wholly unsatisfied. 

Upon waking up this morning it finally occurred to me what the issue was.  And it's kind of a serious one.  The sad thing is that I had small comments and notes floating around that were sort of poking at the problem but it didn't all click until this morning when I swung my legs out of bed.

The issue is surmountable.  In fact, solving it will make some other things easier and the network protocol ends up even tighter after this.  I think most of my tricking infrastructure even gets to live and become simplified.  The client code becomes a little more complicated but it's all in the interest of keep the network protocol as tight as possible.

The other benefit is that I get nice meta-information about connection throughput.  Not only will I know exact ping times but also the exact number of messages dropped or late.  So there is that.

I was trying to get this wrapped up in time for integration with real Mythruna over the Christmas holidays.  We'll have to see if that can still happen, now.
Logged
belgariad87
Donators
Hero Member
***
Posts: 507


RPG player for life


View Profile
« Reply #1 on: December 10, 2012, 02:55:55 PM »

The networking of the physics engine has been taking me longer than I wanted.  There are a lot of details that have to be perfect or the whole thing comes crashing down.

I already posted before about my trials and tribulations with zone management.  So far that design has held up very well.

I've been through similar ups and downs with the networking layer.  I alternate between feelings of excitement about how much I'm able to encode in a single tiny message and feelings of dread that there is some critical thing I've forgotten.  For the most part, I've been plodding ahead.

Last night I got almost the full loop-back working.  Every piece was/is in place except the actual sending the messages over the wire.  The mobile objects are zone-managed, their state per-player is packaged up, network state messages are generated, they are looped back to the client code, and the client unpacks them and the data is still accurate.  I've done everything except actually apply it to the visuals.

Despite the progress I was making this weekend, there was some nagging doubt in my mind since last week that there was a critical element I was forgetting.  By the weekend, this was a looming shadow casting a pall over all of the progress I was making.  I went to bed last night feeling accomplished but somehow wholly unsatisfied. 

Upon waking up this morning it finally occurred to me what the issue was.  And it's kind of a serious one.  The sad thing is that I had small comments and notes floating around that were sort of poking at the problem but it didn't all click until this morning when I swung my legs out of bed.

The issue is surmountable.  In fact, solving it will make some other things easier and the network protocol ends up even tighter after this.  I think most of my tricking infrastructure even gets to live and become simplified.  The client code becomes a little more complicated but it's all in the interest of keep the network protocol as tight as possible.

The other benefit is that I get nice meta-information about connection throughput.  Not only will I know exact ping times but also the exact number of messages dropped or late.  So there is that.

I was trying to get this wrapped up in time for integration with real Mythruna over the Christmas holidays.  We'll have to see if that can still happen, now.

it will be the best present i will be getting
Logged

Specs for future reference:
Windows 7 64bit ; Intel Quad Core ; 8GB RAM ; AMD Radeon HD 6800 ; TB HD
Sean
Donators
Hero Member
***
Posts: 598



View Profile
« Reply #2 on: December 10, 2012, 03:25:41 PM »

I'm glad you found the problem. I've always found 'sleeping on it' to be the best course of action.
Logged

"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
pspeed
Administrator
Hero Member
*****
Posts: 5612



View Profile
« Reply #3 on: December 10, 2012, 03:27:39 PM »

I'm glad you found the problem. I've always found 'sleeping on it' to be the best course of action.

Yeah, I'd been sleeping on the problem for a week or more.  Doesn't always work on my schedule. Smiley

Now that I've found the problem, now I need to actually solve it. Smiley
Logged
BigredRm
Donators
Sr. Member
***
Posts: 379


<-o Word up goes to that modern man o->


View Profile
« Reply #4 on: December 11, 2012, 05:07:36 PM »

The networking of the physics engine has been taking me longer than I wanted.  There are a lot of details that have to be perfect or the whole thing comes crashing down.

I already posted before about my trials and tribulations with zone management.  So far that design has held up very well.

I've been through similar ups and downs with the networking layer.  I alternate between feelings of excitement about how much I'm able to encode in a single tiny message and feelings of dread that there is some critical thing I've forgotten.  For the most part, I've been plodding ahead.

Last night I got almost the full loop-back working.  Every piece was/is in place except the actual sending the messages over the wire.  The mobile objects are zone-managed, their state per-player is packaged up, network state messages are generated, they are looped back to the client code, and the client unpacks them and the data is still accurate.  I've done everything except actually apply it to the visuals.

Despite the progress I was making this weekend, there was some nagging doubt in my mind since last week that there was a critical element I was forgetting.  By the weekend, this was a looming shadow casting a pall over all of the progress I was making.  I went to bed last night feeling accomplished but somehow wholly unsatisfied. 

Upon waking up this morning it finally occurred to me what the issue was.  And it's kind of a serious one.  The sad thing is that I had small comments and notes floating around that were sort of poking at the problem but it didn't all click until this morning when I swung my legs out of bed.

The issue is surmountable.  In fact, solving it will make some other things easier and the network protocol ends up even tighter after this.  I think most of my tricking infrastructure even gets to live and become simplified.  The client code becomes a little more complicated but it's all in the interest of keep the network protocol as tight as possible.

The other benefit is that I get nice meta-information about connection throughput.  Not only will I know exact ping times but also the exact number of messages dropped or late.  So there is that.

I was trying to get this wrapped up in time for integration with real Mythruna over the Christmas holidays.  We'll have to see if that can still happen, now.
+1
Logged

Visit Iron Island @ 1708,702
pspeed
Administrator
Hero Member
*****
Posts: 5612



View Profile
« Reply #5 on: December 12, 2012, 04:32:48 AM »

And tonight I learned what happens when two objects occupy the exact same space at the exact same time... in a physics engine.  Hint: Very Bad Things.

Fixing things in the physics engine is NOT EQUAL to making progress on networking... but is still necessary.
Logged
Iggyjeckel
Donators
Hero Member
***
Posts: 510


View Profile
« Reply #6 on: December 12, 2012, 06:48:35 AM »

Distortion of reality, cows living undergound, giraffe swimming in the ocean, fish..flying with the penguins.

And people, oh we sad pathetic creatures...shun human interaction, speak with our fingers and talk to our reflection



Thanks paul for destroying the poor fabric of time and space
Logged
BenKenobiWan
Friendly Moderator
Donators
Hero Member
***
Posts: 674


Jesus loves you!


View Profile
« Reply #7 on: December 12, 2012, 09:35:59 AM »

Lol
Logged
Michael
Donators
Hero Member
***
Posts: 2166



View Profile
« Reply #8 on: December 12, 2012, 02:11:15 PM »

ROFL
« Last Edit: December 12, 2012, 02:14:44 PM by Unnaturallife » Logged
Moonkey
Hero Member
*****
Posts: 1587

This is probably a picture.


View Profile
« Reply #9 on: December 12, 2012, 02:24:20 PM »

Paul's computer should have exploded into a black-hole. No fireworks show? Sad
Logged

Mythruna: Don't you dare read any posts I made before 2014.
Sean
Donators
Hero Member
***
Posts: 598



View Profile
« Reply #10 on: December 12, 2012, 05:39:10 PM »

Not until an error in the engine causes the division of zero.
Logged

"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
Moonkey
Hero Member
*****
Posts: 1587

This is probably a picture.


View Profile
« Reply #11 on: December 12, 2012, 06:44:33 PM »

Not until an error in the engine causes the division of zero.
0/0 = 0. *check*

Edit: No black-hole.
Logged

Mythruna: Don't you dare read any posts I made before 2014.
BenKenobiWan
Friendly Moderator
Donators
Hero Member
***
Posts: 674


Jesus loves you!


View Profile
« Reply #12 on: December 12, 2012, 06:47:20 PM »

Not until an error in the engine causes the division of zero.
0/0 = 0. *check*

Edit: No black-hole.
Technically infinity.
Logged
Sean
Donators
Hero Member
***
Posts: 598



View Profile
« Reply #13 on: December 12, 2012, 07:26:44 PM »

Not until an error in the engine causes the division of zero.
0/0 = 0. *check*

Edit: No black-hole.
Technically infinity.
^Which includes negative numbers and decimals. :3
Logged

"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
Teknonick
Sr. Member
****
Posts: 438


View Profile
« Reply #14 on: December 13, 2012, 03:10:53 PM »

Not until an error in the engine causes the division of zero.
0/0 = 0. *check*

Edit: No black-hole.
Technically infinity.
^Which includes negative numbers and decimals. :3
The answer to every question that CANNOT be answered is: BLACK HOLE!!!

Anyway, I want to see a video of what happens xD Is it like in other games, or is it something NEW that people will be like "I WANT TO BUY THIS GAME, JUST CUS OF THAT-O-BUG!!!" type-o-the-thing?
Also, release a Physics Engine release, with a discloser saying: VERY UNSTABLE, your computer may explode into a Blackhole with the slight chance of you being sucked into it if your CPU is equal to 0/0, or less... or more... or some other direction of calculation!
Logged
Pages: [1] 2 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!