This is an article we had submitted from a member of our mailing list, Imaginos. While the Workshop claims no editing license with the narrative :), the technical info within the article is fascinating and well worth experimentation. Wider Is Better
Ever hear of Pontiac (the car not the chief)? First off, let me say that I've been building id levels since back in da DAZE of DooM and DooM2. Literally hundreds of single-player and deathmatch levels. I've been doing Quake levels for some time now too. My first level (Death By The Dozen) was written almost totally with a text editor. THOSE were the days! Before anything else (Thred, The Forge(nee Worldcraft), QMap, and others too numerous to mention), there was the simple text editor. A lot of really good levels were built back then, believe it or not - with pencil, paper, ruler and calculator. You had to REALLY want to make a Q1 level to spend all that time doing it that way.;) Later on (after the advent of Worldcraft), I decided to redo DBTD and add all those features I wanted in the original, but just didn't have the time to put in. I opened the original .map file in one window, with the intent to just 're-adjust' things. You see, toward the end, I checked what I was doing with a primitive map editor called QScript. It wasn't much - but it did allow you to see a wireframe representation of your level and you could change face textures and place entities with it. It was really crude by today's standards - but it was all we had back in those dim, (and thankfully) dead days. Its only drawback was that the 'grid' was set (and couldn't be changed) to units of 10 instead of id's default units of 8/16. So, what I started out to do was 'stretch' all the walls out to fit a default 16x16 grid. This (again, thankfully) proved to be a royal pain in the ass and it didn't take long for me to realise that what I really needed to do was start over - make a new map - using the old one as a guide. This I did. But, I didn't realise at the time (I was quite new to the
concept of a GRAPHICAL Quake editor, remember) that Worldcraft's default
grid back then was 32 texels - not 16 as I believed. Totally screwed. Damn thing only took 22 seconds to compile. Consider: the original took over 30 MINUTES to run VIS alone - let alone qbsp and light. Musta been a leak somewhere, I surmised. That's why LIGHT and VIS didn't run. BUT - they had. I ran it. And it was FAST! ??? Now, at that moment, I thought that Worldcraft must have done some kind of magic to my map. I just couldn't understand it. This new map adhered faithfully to the dimensions (interior-wise) of the original - and I had even added a whole bunch of new stuff - so that the new version was about 1.5 times 'bigger' than the original. Surely, that would take longer to process - right? Only, it didn't. And I couldn't understand WHY. I went back into WC and spent hours comparing the two maps. There was no doubt about it. They were (in respect to the original areas) absolutely identical. It was late (2AM) and I decided to pull a Scarlett O'Hara and think about it tomorrow when my eye fell on the status bar at the bottom right corner of the WC window. Grid 32 it said. ???What the f__K??? Sure enough, ALL the new walls, floors, ceilings, doors, etc, ALL had a thickness of 32 texels. I didn't have to go to work the next day, so I stayed up and recreated the whole map again - this time using a grid-snap of 16 instead of 32. Right around daybreak, I compiled it. VIS - all by itself took nearly 20 minutes to run. Qbsp, Light and Vis took about 25 minutes. Then I compiled the 'WIDE' version again - THIS time adding Light -extra and Vis -level 4. Under 1 minute! I was ONTO SOMETHING! Needless to say, I spent the next week (after work - cmon!) experimenting with this idea. No matter how I sliced it - WIDER was better when it came to VIS times. As I mentioned before, I opened my mouth one night in #quakeed on IRC about this and was hooted off the channel! Idiot! Impossible! Yer fulla shit! and similar epitets were passed my way. But one or two accepted my challenge. Altho it's almost UNHEARD of (and this WAS a coupla years ago, now), John Carmack was in the channel that night along with American McGee (both under assumed names) and both told me (in private chat mode) that I was totally bonkers. THEY had wrote the damn thing and there was no friggin way that brush SIZE had any bearing on how long it took VIS to process a .map file. JC (after I kept needling him about it) finally consented to accept my .zip file with two identical maps in it (one done with a 16x16 grid and one with a 32x32 grid) and do a test compile on both of em while I hung out in #quakeed and waited for the verdict. I think he did it mostly just to shut me the fuck up. But (as I well knew) - he came back online a little bit later and said it worked. THEN, I asked MY question: WHY? Why does it work? "Damned if I know" was his only reply. American McGee got in on it too and had the same results. Altho American and I passed email back and forth for some time after that, he never did come up with an explanation why it worked. All he knew (or could say) was that it does. NOW - witness Quake2: The majority of the brushes making up these new id levels are 64 texels thick. What does that tell you? WIDER IS BETTER; that's what it says to me. How can YOU find out? Make a level - Q1 - Q2 - doesn't matter - just do it. Not some lame three-rooms-connected-with-a-corridor bullshit, but a LEVEL. Multiple stories, big, expansive halls and rooms - just do it (as Nike was fond of saying) - TWICE. Once with all the brushes (not ALL, comon - you know what I mean) 16 thick and once with all of em 32 thick and then compare. It will be like night and day. I PROMISE. My son (sk_realistik of TeamFortress fame) came to me bitching a few months ago that his new map had been compiling for 4 DAYS and still wasn't done. I had him email me the source code. I spent about 10 hours redoing it with WIB foremost in mind. When I was done, I compiled it. So - that's my story, Steamboat. Give it a try. And if it works. Let us and all your friends know too. :) |