Thread View: alt.games.quake3
12 messages
12 total messages
Started by tre... Trevor Covert
Sat, 30 Jan 1999 00:00
Carmack Updates Plan File
Author: tre... Trevor Covert
Date: Sat, 30 Jan 1999 00:00
Date: Sat, 30 Jan 1999 00:00
76 lines
4594 bytes
4594 bytes
1/29/98 ------- The issue of the 8192 unit map dimension limit had been nagging at me for a long time now. The reason for the limit is that coordinates are communicated over the network in 16 bit shorts divided as a sign bit, twelve unit bits, and three fractional bits. There was also another side to the representation problem, but it was rarely visible: if you timescale down, you can actually tell the fractional bit granularity in position and velocity. The rest of the system (rendering and gameplay) has never had any issues with larger maps, even in quake 1. There are some single precision floating point issues that begin to creep in if things get really huge, but maps should be able to cover many times the current limit without any other changes. A while ago I had changed Q3 so that the number of fractional bits was a compile time option, which allowed you to trade off fine grain precision for larger size. I was considering automatically optimizing this for each level based on its size, but it still didn't feel like a great solution. Another aspect of the problem that wasn't visible to the public was that the the fractional quantization of position could cause the position to actually be inside a nearby solid when used for client side prediction. The code had to check for this and try to correct the situation by jittering the position in each of the possible directions it might have been truncated from. This is a potential issue whenever there is any loss of precision whatsoever in the server to client communication. The obvious solution is to just send the full floating point value for positions, but I resisted that because the majority of our network traffic is positional updates, and I didn't want to bloat it. There have been other bandwidth savings in Q3, and LANs and LPB connections are also relevent, so I was constantly evaluating the tradeoff. Dealing with four or five players in view isn't a real problem. The big bandwidth issues arrive when multiple players start unloading with rapid fire weapons. (as an aside, I tried making 5hz fire weapons for Q3 to save bandwidth, but no matter how much damage they did, 5hz fire rates just seemed to feel slow and weak...) I finally moved to a bit-level stream encoding to save some more bandwidth and give me some more representational flexibility, and this got me thinking about the characteristics of the data that bother us. In general, the floating point coordinates have significant bits all through the mantissa. Any movement along an angle will more or less randomize the low order bits. My small little insight was that because missiles are evaluated parameterically instead of itteretively in Q3, a one-time snapping of the coordinates can be performed at their generation time, giving them fixed values with less significant bits for their lifetime without any effort outside their spawning function. It also works for doors and plats, which are also parametrically represented now. Most events will also have integral coordinates. The float encoder can check for an integral value in a certain range and send that as a smaller number of bits, say 13 or so. If the value isn't integral, it will be transmitted as a full 32 bit float. The other thing I am investigating is sub-byte delta encoding of floating point values. Even with arbitrary precision movement deltas, the sign and exponent bits change with very low frequency except when you are very near the origin. At the minimum, I should be able to cut the standard player coordinate delta reps to three bytes from four. So, the bottom line is that the bandwidth won't move much (it might even go down if I cut the integral bits below 15), the maps become unbounded in size to the point of single precision roundoff, and the client doesn't have to care about position jittering (which was visible in Q3 code that will be released). _____________________________________________________________________ Trevor Covert tre...@macnn.com Games Editor, The MacNN Review http://www.macnn.com/thereview/
Re: Carmack Updates Plan File
Author: Mark
Date: Sat, 30 Jan 1999 00:00
Date: Sat, 30 Jan 1999 00:00
1 lines
486 bytes
486 bytes
huh?
Re: Carmack Updates Plan File
Author: tre... Trevor Covert
Date: Sat, 30 Jan 1999 00:00
Date: Sat, 30 Jan 1999 00:00
12 lines
1064 bytes
1064 bytes
In article <MPG.111dc7f68...@news.freeserve.net>, arga...@fatal-design.com (Arganoid) wrote: > Hands up anyone who understood all of that ;) I didn't understand everything, but it's cool to read about the issues that he's going through as he develops and tweaks this game that will probably revolutionize the genre once again. _____________________________________________________________________ Trevor Covert tre...@macnn.com Games Editor, The MacNN Review http://www.macnn.com/thereview/
Re: Carmack Updates Plan File
Author: Munge
Date: Sat, 30 Jan 1999 00:00
Date: Sat, 30 Jan 1999 00:00
7 lines
644 bytes
644 bytes
>Hands up anyone who understood all of that ;) Not me, I wanna see blazing fast on my 56k he he Remove the **** for your emailing pleasure
Re: Carmack Updates Plan File
Author: arga... Arganoid
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
6 lines
745 bytes
745 bytes
Hands up anyone who understood all of that ;) -- Andrew Gillett http://argnet.fatal-design.com/ ICQ: See homepage long double double_long;
Re: Carmack Updates Plan File
Author: pa... Paul Valerio
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
9 lines
847 bytes
847 bytes
In article <MPG.111dc7f68...@news.freeserve.net>, Arganoid says... > Hands up anyone who understood all of that ;) There's a good translation on www.shugashack.com :) -- Paul Valerio pa...@REMOVABLE.kenly.demon.co.uk
Re: Carmack Updates Plan File
Author: Jörg van der Vlies
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
9 lines
902 bytes
902 bytes
I'm german, and you can imagine what i understood (only about 60 %)! Arganoid schrieb in Nachricht ... >Hands up anyone who understood all of that ;) > >-- >Andrew Gillett http://argnet.fatal-design.com/ ICQ: See homepage > > long double double_long;
Re: Carmack Updates Plan File
Author: miscast
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
20 lines
1121 bytes
1121 bytes
i'm english + didn't understand a word! i think he writes a real .plan, puts it through a word randomizer and then posts it. this way he keeps the new features etc a surprise. or maybe not.... -- ------------------------ email reply here: da...@burns.globalnet.co.uk J�rg van der Vlies wrote in message ... >I'm german, and you can imagine what i understood (only about 60 %)! > >Arganoid schrieb in Nachricht ... >>Hands up anyone who understood all of that ;) >> >>-- >>Andrew Gillett http://argnet.fatal-design.com/ ICQ: See homepage >> >> long double double_long; >
Re: Carmack Updates Plan File
Author: Jörg van der Vlies
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
28 lines
1427 bytes
1427 bytes
hehe ;-)) miscast schrieb in Nachricht <7922dn$hcm$1...@newnews.global.net.uk>... >i'm english + didn't understand a word! i think he writes a real .plan, puts >it through a word randomizer and then posts it. this way he keeps the new >features etc a surprise. or maybe not.... > >-- >------------------------ >email reply here: >da...@burns.globalnet.co.uk >Jörg van der Vlies wrote in message ... >>I'm german, and you can imagine what i understood (only about 60 %)! >> >>Arganoid schrieb in Nachricht ... >>>Hands up anyone who understood all of that ;) >>> >>>-- >>>Andrew Gillett http://argnet.fatal-design.com/ ICQ: See >homepage >>> >>> long double double_long; >> > > > >
Re: Carmack Updates Plan File
Author: chiller
Date: Sun, 31 Jan 1999 00:00
Date: Sun, 31 Jan 1999 00:00
21 lines
1191 bytes
1191 bytes
And I am from Norway, I got the most out of it.....(In my opinion anyway) chiller ----------- News publiser: http://home.telia.no/chiller J�rg van der Vlies wrote in message ... >I'm german, and you can imagine what i understood (only about 60 %)! > >Arganoid schrieb in Nachricht ... >>Hands up anyone who understood all of that ;) >> >>-- >>Andrew Gillett http://argnet.fatal-design.com/ ICQ: See homepage >> >> long double double_long; >
Re: Carmack Updates Plan File
Author: Samuel Renkert
Date: Mon, 01 Feb 1999 00:00
Date: Mon, 01 Feb 1999 00:00
19 lines
1305 bytes
1305 bytes
I agree, and I did understand the core of what he was saying. Its all about data representation. discrete Math and Position Rendering. Trevor Covert wrote in message ... >In article <MPG.111dc7f68...@news.freeserve.net>, >arga...@fatal-design.com (Arganoid) wrote: > >> Hands up anyone who understood all of that ;) > >I didn't understand everything, but it's cool to read about the issues >that he's going through as he develops and tweaks this game that will >probably revolutionize the genre once again. > >_____________________________________________________________________ > Trevor Covert tre...@macnn.com > Games Editor, The MacNN Review http://www.macnn.com/thereview/
Re: Carmack Updates Plan File
Author: Chris
Date: Mon, 01 Feb 1999 00:00
Date: Mon, 01 Feb 1999 00:00
6 lines
600 bytes
600 bytes
Arganoid wrote in message ... >Hands up anyone who understood all of that ;) I got about 95% of it...
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads