Quake Tech Talk
Q&A the Loony Way
by loonyboi, QuakeLab: Multimedia
I'm still working on the QuakeC vs. Dlls column,(if you would like to send me your opinion, feel free to e-mail me) so to tide everyone over until then, this week I'll answer some of the questions I've received.
|by Jason "loonyboi" Bergman
This first one comes from Dark Savior:
What exactly is a .bsp file? I know that they are used primarily as map files, but I've also noticed some objects like health and stuff use them too. How does that fit together? How do BSP's compare to the old wad files or the stuff in Prey that supposedly "doesnt have to use that old bsp format".
The BSP file is the compiled version of a MAP file. A MAP file is essentially a text file until it is run through the VIS and LIGHT compilers. MAP files contain everything that makes up a level, including health, items, and where they are located within the level. Here's an example of a MAP file which contains a start position, and a simple MAP:
( 128 0 0 ) ( 128 1 0 ) ( 128 0 1 ) GROUND1_6 0 0 0 1.0 1.0
( 256 0 0 ) ( 256 0 1 ) ( 256 1 0 ) GROUND1_6 0 0 0 1.0 1.0
( 0 128 0 ) ( 0 128 1 ) ( 1 128 0 ) GROUND1_6 0 0 0 1.0 1.0
( 0 384 0 ) ( 1 384 0 ) ( 0 384 1 ) GROUND1_6 0 0 0 1.0 1.0
( 0 0 64 ) ( 1 0 64 ) ( 0 1 64 ) GROUND1_6 0 0 0 1.0 1.0
( 0 0 128 ) ( 0 1 128 ) ( 1 0 128 ) GROUND1_6 0 0 0 1.0 1.0
"origin" "256 384 160"
(Thanks to The Quake Map Specs for this example)
The structure works like this: first you put "worldspawn" to tell Quake to spawn a map. Then there is the path to the texture WAD where the textures you'll be using on your levels, followed by the applicable "worldtype". 0 for Medieval, 1 for Metal, and 2 for Base. This changes the environment settings in Quake. "Sounds" tells Quake which CD track to play. The bunch of code following that are the locations for the various brushes that make up your level. The code following that is the Player Start Entity (one of the required entities in a level).
From what little has been released regarding Prey's map structure, I can't really figure out exactly what their "portal technology" is exactly, but based on what they have released, it sounds like they use a completely new structure. Prey seems to have a completely moveable world, beyond that of simple rotating brushes, and this means a whole new BSP structure. Of course, since Prey is still vaporware at this point, I can't say anything with any certainty. For more information on MAP and BSP files, check out the The Quake Map Specs. You'll find more info there than you could ever possibly want.
This next one comes from Dave Balkema:
Playing Quake through the internet is GREAT thing. Sometimes I don't understand how a server that I run will be laggy for EVERYONE! I don't know if it is bandwidth through our particular ISP server, or if it can be something within the computer w/regards to resources. I have a 90Mhz Pentium w/16megs of RAM, and a possible 50meg swap file size for strictly running quake. Sometimes it's fine, but other times, it will lag the entire time w/no explanation. This will happen even at times of lower bandwidths (1-3am). Can you help explain this phenomenon?
Also, we're located in Central Illinois, and we have two clan members in Toronto, Canada who get better ping times than players in Louisville, KY?
This one is odd, since Toronto is much farther away. I understand that it might just be their ISP's, but are there any other possibilties, possibly related to the question above?
Unfortunately, there really is no way to get around lag, or even figure out what specifically is causing it. The internet is an odd little puppy. Possible causes of lag could be that your ISP is too busy, the ISP of someone connecting to your server is too busy, and the list goes on. As far as the distance goes, again, the internet is an odd little thing. Ping times can be effected by more than just distance. For example, while I may be in NY and a friend of mine is in Zimbabwe (this is just an example, and an extreme one at that) it may be possible for me to get a better ping time than someone much closer to him. One explaination is that we may be on the same fiber-optic network. Of course, there are a million other factors involoved, so I can't say anything with any real certainty.
However, I should point out that a p90 with 16 meg of ram is not the ideal Quake server. While it can run Quake with a decent number of people, you will find that you get much better performances on higher end systems.
I got this question anonymously:
Matrox Mystique card supports Microsoft 3D interface. Don't suppose you know when there will be a Direct 3D port of Quake?
I got a kick out of that. See last week's column for more on Direct3D and why Quake won't be supporting it anytime soon.
This one comes from Matt:
I'm thinking of buying a 3d card.Which is the best one out there? Also, what's the difference between V-Quake and GLQuake?
I got a lot of mail from people wanting to know about the differences between GLQuake, and VQuake. Here's the basic rundown: VQuake has anti-aliasing, and bi-linear texture filtering (see my first column for definitions of all these things) and is very pretty (you can play with the anti-aliasing for some cool effects...try setting r_antialias to 7...it will anti-alias everything blood, gibs, everything!). GLQuake, on the other hand, does not have anti-aliasing. What it does have is tri-linear filtering, and runs in full screen 16 bit color. The effect is breathtaking. GLQuake also runs at incredible frame speeds (upwards of 50 FPS at times!) and boasts several amazing "novelty" features like transparent water, and mirroring textures.
For more info on GLQuake, check out the wonderful GLQuake Dojo and also the Quake and 3D Video Cards FAQ. And for some great benchmark checks check out The VQuake TimeDemo Benchmark Tests and GLQuake TimeDemo Benchmark Tests respectively to see how it will look on your system.
What card is best for you, is a different question. While I own a Diamond Monster 3D myself, it's not for everyone. Bear in mind that the Monster 3D is just a 3D accelerator. Meaning if you've got a lousy 2D card, this really isn't for you. The only thing this $200+ card does is accelerate 3D graphics. Also, since it doesn't support full OpenGL it's primary usage is really just for video games. Specifically ones written for either DirectX or for the 3D-FX chipset. With a Monster 3D you will not notice any difference in regular Quake or Quakeworld. In order to see any difference, you must run a special version of a game. Conversely, the Verite cards, you get stellar 2D performance at a cheaper price. The ideal system is a 3D-FX/Verite setup, but of course that will set you back something in the area of $400. My suggestion? Look around, and wait a bit. I know GlQuake looks cool, but prices are gonna drop. Also, bear in mind that there's a new kid on the block, the NEC Power VR, which looks to be very impressive, and may give 3D-FX a run for its money.
This last question comes from John M Clancy:
USB: Universal Serial Bus
I've read several articles but ended up confused.
Sounds like it may be a boon to gaming but I am still confused whether my peripherals will become obsolete?
The Universal Serial Bus is a terrific solution to a really annoying problem. Ever try an add a new device only to find you had no more open COM ports? I have, and this is one of the worst problems about current PCs. Well, the USB solves this problem, by creating a single interface for every kind of periferal. This is an open-standard too, so you don't need to worry about competing formats with incompatibility.
Other advantages include multiple inputs on a single interface (meaning adding several joysticks won't require a multitap system), it's smaller than current plugs, with more bandwith (small enough to be used with laptops!), it's completely plug and play, and configures itself immediately upon physical installation, and lots more. Who developed the thing? Compaq, IBM, Intel, Microsoft, NEC, and others as well, ensuring an easy transition to USB. The USB will be fully integrated into the next version of Windows, as well as future "convergence" systems, like set-top boxes, and NetPCs.
Your current peripherals won't become obsolete overnight, however they will eventually be phased out. Of course, that is still many years away from happening (remember when people said ISA would be replaced by PCI? I'm still waiting).
For more info on USB check out The Official Universal Serial Bus Page.
Well, that's it for this week, keep those letters rolling in! And remember if you have some input on the QuakeC vs. DLL issue, I want to hear from you! As always, the balcony is closed (that's Siskel & Ebert, BTW...)
In my first installment, I used anti-aliasing as an example of GLQuake's graphical prowess. GLQuake does not use anti-aliasing. This is an exclusive feature to VQuake.
Also, in my second installment, I made a reference to an "$80,000" Intergraph realizm system. Prices on Intergraph workstations are obscene, but not quite that obscene.