Author |
Code Update 6/7/2004... |
Faustus Marshal Palestar
Joined: May 29, 2001 Posts: 2748 From: Austin, Texas
| Posted: 2004-06-07 16:09  
Unicode conversion of the engine, DarkSpace, and GameCQ is completed, but untested. I will be updating beta in a couple of days with the new version, after I finish the resourcer changes.
Resourcer version control is 85% completed, still need to add functionality to rollback asset changes, history code, and needed interface changes for the resourcer.
So far, all the code I've tested with the new unicode strings, has worked with no problems or crashes... so I think it's going to be pretty seemless once it goes beta.
Lastly, and best of all... I think I've determined a way to fix the lag issues once and for all time. Up to now, I've been using 1 TCP stream to communicate all data between the client and server, which leads to one important problem. When receiving events (verbs) for a Noun, order is important. However, order is NOT important between 2 different nouns, but due to the TCP stream, a verb for one ship, might get held up for many seconds while trying to make sure all previous data has been received.
The solution, is to roll my own UDP based stream solution, but with the ability to send data through multiple channels, each channel independent of all other channels (i.e. an error receiving data on channel 1, doesn't hold up data being received on channel 2). I expect this task to take no more than 1 or 2 weeks to implement and test.
-Richard
_________________
|
Crash003 Fleet Admiral
Joined: July 12, 2002 Posts: 72 From: Chichester, UK
| Posted: 2004-06-07 16:11  
YAY!!!! no more lag!!!
_________________
|
Rocki Grand Admiral
Joined: August 13, 2002 Posts: 1029
| Posted: 2004-06-07 16:13  
And there was much rejoicing.
Huzzah!
-Rock
_________________
|
Valerius{DK} Grand Admiral
Joined: August 03, 2001 Posts: 595 From: Island of Zealand
| Posted: 2004-06-07 16:22  
Quote:
|
On 2004-06-07 16:09, Faustus wrote:
Unicode conversion of the engine, DarkSpace, and GameCQ is completed, but untested. I will be updating beta in a couple of days with the new version, after I finish the resourcer changes.
Resourcer version control is 85% completed, still need to add functionality to rollback asset changes, history code, and needed interface changes for the resourcer.
So far, all the code I've tested with the new unicode strings, has worked with no problems or crashes... so I think it's going to be pretty seemless once it goes beta.
Lastly, and best of all... I think I've determined a way to fix the lag issues once and for all time. Up to now, I've been using 1 TCP stream to communicate all data between the client and server, which leads to one important problem. When receiving events (verbs) for a Noun, order is important. However, order is NOT important between 2 different nouns, but due to the TCP stream, a verb for one ship, might get held up for many seconds while trying to make sure all previous data has been received.
The solution, is to roll my own UDP based stream solution, but with the ability to send data through multiple channels, each channel independent of all other channels (i.e. an error receiving data on channel 1, doesn't hold up data being received on channel
|
|
WOOOHOOOO!!!!!!
Quote:
|
2). I expect this task to take no more than 1 or 2 weeks to implement and test.
-Richard
|
|
Ohh no, 2 weeks?? To quote a well known figure in this game that i actually talked with when writing this (Grim)... we're screwed!! (j/k)
Val
edit: Spelling
_________________
Been dealing out lag in your neighbourhood since 2001
- Captain of Assault Cruiser 'ICS Bona Gratia'
- Captain of Assault Dreadnought 'ICS Saintus Antonius'
[ This Message was edited by: Valerius{DK} on 2004-06-07 16:23 ]
_________________ Been dealing out lag in your neighbourhood since 2001
|
JackSwift Cadet Sundered Weimeriners
Joined: October 30, 2002 Posts: 1806 From: Where the Sun dont Shine (Seattle-ish)
| Posted: 2004-06-07 16:31  
Heh... the slew of Two Weeks™ jokes are already coming...
_________________ (too lazy to rehost that old sig)
\"Errare Human Est.\"
|
Antdizzle
Joined: February 07, 2003 Posts: 860
| Posted: 2004-06-07 16:38  
two weeks™ ! oo noooooo (two weeks™ is a trade mark of palestar that can span from anywhere, but not limited to two weeks to infiniti) (somethin like that)
_________________
[ This Message was edited by: Sarge on 2004-06-07 17:47 ]
_________________
|
Faustus Marshal Palestar
Joined: May 29, 2001 Posts: 2748 From: Austin, Texas
| Posted: 2004-06-07 16:51  
Seriously, how long can it take to write my own socket code using UDP, it seriously make only take a day or two... I'm giving myself 2 weeks, just to be safe
-Richard
_________________
|
Axianda The Royal Fleet Admiral Terra Squadron
Joined: November 20, 2001 Posts: 4273 From: Axianda
| Posted: 2004-06-07 17:23  
Great that rescourcer is what the Dev team realy needs
Quote:
|
On 2004-06-07 16:09, Faustus wrote:
Lastly, and best of all... I think I've determined a way to fix the lag issues once and for all time. Up to now, I've been using 1 TCP stream to communicate all data between the client and server, which leads to one important problem. When receiving events (verbs) for a Noun, order is important. However, order is NOT important between 2 different nouns, but due to the TCP stream, a verb for one ship, might get held up for many seconds while trying to make sure all previous data has been received.
The solution, is to roll my own UDP based stream solution, but with the ability to send data through multiple channels, each channel independent of all other channels (i.e. an error receiving data on channel 1, doesn't hold up data being received on channel 2). I expect this task to take no more than 1 or 2 weeks to implement and test.
-Richard
|
|
and this little piece above is probably the BEST update ever given before the 1481 release
_________________
- Axi
|
Enterprise Chief Marshal Raven Warriors
Joined: May 19, 2002 Posts: 2576 From: Hawthorne, Nevada
| Posted: 2004-06-07 17:26  
For some reason all that mumbo jumbo actually made sense when you said "No more lag."
1-2 weeks starting (presses stopwatch)..now.
-Ent
**EDIT** - Hideous typos could not be allowed - changed.
_________________
"Humor in life is like the rhythm to a song ; Without it, it dies."
"In anything you do, there is no such thing as 'I cant'." - Warren Plasterer
[ This Message was edited by: Enterprise! on 2004-06-07 17:47 ]
_________________
|
Meko Grand Admiral
Joined: March 03, 2004 Posts: 1956 From: Vancouver
| Posted: 2004-06-07 17:37  
and the birth of a new DS era is in the brewing
_________________
|
I Strangled a Princess! Cadet
Joined: December 06, 2003 Posts: 20
| Posted: 2004-06-07 17:44  
We need to break this Two Weeks™ curse once and for all!
_________________
|
kailii Vice Admiral
Joined: March 06, 2004 Posts: 9
| Posted: 2004-06-07 18:31  
So the answer to the final question (no, not 42) as to why all the MMOs out there use UDP instead of TCP for all basic stuff is going to light up quite some torches.
F, just don't think about bringing any kind of economy - as in trading - to DS as a planned move somewhere in the future. Because this stuff would have to be implemented via TCP again, or you'll never get ahead of the possible exploits.
Hope i managed to confuse you a bit.
Small bits of info about UDP/TCP for no-computer-experts:
Information about the state of your ship, chat, damage or invaded planets are transmitted to your computer in small pieces of data, called packets.
The internet is not perfect, so your puter might miss one of these packets from time to time.
Within TCP, everything is safe: Every packet is numbered, so when your puter receives packet #567, it calls back to the DS server telling him you got that packet and are ready to receive #568.
Or you did not receive #567. In that case, your puter would request that packet again.
In UDP, there is no such safety. The DS server would just send out packet #567, then #568 and so on without waiting for any confirmation from your computer.
The problem: When losing a TCP packet, you won't get ANY updates until the missing packet is retransmitted, which might take several seconds.
Sounds familiar?
Using UDP, you might loose an update in ship positions or a chat line, but you are able to play the game although it feels like a minor hickkup at times.
Most MMOs today use a mixture of UDP and TCP:
UDP for the regular updates like player positions. One packet lost and ships appear to be "zooming in" way too fast or anything, but the game is playable.
TCP for chat messages or trading: These HAVE to come through, even when they are late a few seconds.
F, if you're still reading these lines... it takes a good mixture to get the bowl brewing. And you can't get rid of TCP numbering under Windows.
But arghl.... whom the hell i am telling this. You already know.
Time to quit. For now.
kailii
_________________
|
Ceridan Cadet
Joined: May 24, 2003 Posts: 608 From: Canada
| Posted: 2004-06-07 18:39  
Quote:
|
On 2004-06-07 17:44, TheBaron wrote:
We need to break this Two Weeks™ curse once and for all!
|
|
Yes what he said
_________________ -1st Rear Admiral Ceridan
stuck in Univercity limbo
|
Grimith Grand Admiral Templar Knights
Joined: August 09, 2003 Posts: 836 From: Your local future farm.
| Posted: 2004-06-07 19:51  
~Just watch... the timer will be 13:23:59:59 (D:H:M:S) when Faustus finishes his work.
_________________
|
TAZ Cadet
Joined: July 04, 2002 Posts: 143 From: U.S.A.
| Posted: 2004-06-07 22:32  
Thanks for the update F will be looking forward to seing the new code in action!!
_________________
|