pspeed
|
|
« 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
|
|
« 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
|
|
« 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
|
|
« 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. Now that I've found the problem, now I need to actually solve it.
|
|
|
Logged
|
|
|
|
BigredRm
Donators
Sr. Member
Posts: 379
<-o Word up goes to that modern man o->
|
|
« 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
|
|
« 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
|
|
« 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!
|
|
« Reply #7 on: December 12, 2012, 09:35:59 AM » |
|
Lol
|
|
|
Logged
|
|
|
|
Michael
Donators
Hero Member
Posts: 2166
|
|
« Reply #8 on: December 12, 2012, 02:11:15 PM » |
|
ROFL
|
|
« Last Edit: December 12, 2012, 02:14:44 PM by Unnaturallife »
|
Logged
|
|
|
|
Moonkey
|
|
« Reply #9 on: December 12, 2012, 02:24:20 PM » |
|
Paul's computer should have exploded into a black-hole. No fireworks show?
|
|
|
Logged
|
Mythruna: Don't you dare read any posts I made before 2014.
|
|
|
Sean
Donators
Hero Member
Posts: 598
|
|
« 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
|
|
« 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!
|
|
« 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
|
|
« 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
|
|
« 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
|
|
|
|
|