Send News. Want a reply? Read this. More in the FAQ.   News Forum - All Forums - Mobile - PDA - RSS Headlines  RSS Headlines   Twitter  Twitter
Customize
User Settings
Styles:
LAN Parties
Upcoming one-time events:
San Diego, CA 08/21

Regularly scheduled events

Ryan "Ridah" Feltrin
Miscellaneous | Programmer, Xatrix Entertainment | Aug 11 1999, 07:01:27 (ET) | ridah@frag.com
Login: ridah Name: Ryan Feltrin
Plan:

Ryan Feltrin
ridah@frag.com

Technology & AI Programmer, Xatrix Entertainment


11-Aug-99
---------------

A bunch of people have been asking me about the new file download code that has
shown up in recent Kingpin builds. So here's a brief explanation of how it works.

The original download code implemented in QuakeWorld was meant for use with low
sized files, like low resolution pcx skins, and for that it did a good job.

However, todays files are much larger, especially with the high detailed skins
found in Kingpin. So I set aside a few hours to see if I couldn't speed things
up.

What I came up with was a communication stream between the client and server,
which basically eliminates the need for a low-latency connection, and as a bonus,
will scale much better for faster connections. If you've ever tried spreading Quake/Quake2
levels on a LAN for example, from within the game, you'll know that it doesn't quite
run at it's full potential.

So, what I did was break the file being sent, into "chunks" of 1024 bytes. This way
the client can keep a record of which "chunks" it has recieved, giving it the ability
to have multiple pending requests for data at once.

Anyway, that's the basic principle. Some obstacles here were finding the right balance
between sending too many requests, and not sending enough. This was handled by
adjusting the maximum number of pending requests with the current RATE setting, which
worked out pretty well, and didn't involve a lot of effort.

It was an interesting experiment, and one I'm happy to say was a reasonable success.
I still have one issue involving duplicate chunks being recieved, which doesn't cause
any harm other than wasting some bandwidth. I think it has to do with requests timing
out on the client before the server has had a chance to send it. Nothing major, but
something I'll no doubt make sure gets cleared up before our next game ships. :)
Miscellaneous...
Ryan Gordon 08/7
Jeff Heath 12/13
Don MacAskill 07/24
Ryan Feltrin 04/25
Ron Crisco 05/30
Scott Rice 04/23
Richard Smith 11/13
 

Also Today...
 

Yesterday...
 

Full list


Visit Webdog today!

 



Square Eight - Taking over the world and you don't even know it yet! Copyright © Square Eight 1998-2016. All Rights Reserved.
The BlueTracker is provided by Webdog.
We are not responsible for the content of the .plans displayed here.

 



footer

Blue's News logo