|
Advanced MapMaking Issues
Q: How did Midori make Ladders in BaM4?
Essentially, Midori made the ladders that you visually see, and then made little stair-steps in front of the ladders, which you do not see because they are covered with the CLIP texture. Q: How do you make one-way doors? (like in 2fort5) The way I made one when I was messing around with the idea was to put an info_tfgoal only on the side of the door in which you want it to react to a player entering or exiting. Give the door a name this time ("targetname" "door_out") and have the info_tfgoal call it by name ("target" "door_out"). You may make the goal team-only and class-only if you like so that, for example, only snipers could enter a particular room, or only medics...you get the idea. Q: How do you get custom textures into your maps? Raistlan suggests using MipDip for this. Apparently it's now called QArt, and you can find it here. I have Quakemap version 3.beta 2, and this is how I get my textures into my maps. However, you better believe I'm going to follow that MipDip link up there when I start building a new map! :P Thank you, Raistlan, for these links! Quakemap is now known as QuArK (The Quake Army Knife) and can be found here. Q: What are / how to use Entity Files? An entity file contains the information in a compiled map (BSP) about the entities within it. A person can create and modify an entity file for any compiled BSP by using EntEd. Or, one can be created "by hand" using DOS EDIT and searching for the word "message" in quotes. If it doesn't have an open bracket like this { above the word "message" then arrowkey to the line above, hit END on your keyboard, you should see an open bracket there. You need to copy that open bracket and all of the following information down to the closed bracket right before the "junk characters" start. It may take a while, I hold the SHIFT key and arrow-down key to highlight all the entities. Then edit>copy, file>new, and edit>paste that information. Save that as MAPNAME.ENT. Then, the entities (except LIGHTS) may be moved around, changed, even made into completely different entities such as what Ambush has done to add dogs into maps like BaM4. He tells me he may even insert new entities into the file (amazing). Then he runs QBSP like this: QBSP -onlyents MAPNAME.ENT MAPNAME.BSP ...and wha-laa, dogs in BaM4. I'd be sure to contact the author for permission to tweak the entities in their finished maps, however. As a MapMaker, I would appreciate being asked first, so I am quite sure others would, as well. I asked Midori if I could change his 2Brave1 to incorporate Frags into the scoring and he not only said yes, he also sent me an ENT file for it, bless his heart. I found this under "gameflow" at QuakeLab, one of the very best non-editor-specific Map Making sites out there. QuakeLab disappeared for a while so I'm putting the important text here and am including a picture found on their site for clarification. I don't generally take things from other sites, but I feel this is far too important to be lost if QuakeLab bites the dust again. I added QuakeLab's caption into the image itself. I cut out some of the text found at QuakeLab, if you want to read the entire page (suggested) and QuakeLab is still around, then click here. This is from QuakeLab:
Before you use these commands, remember to use a complete VIS (vis -level 4) so that you get accurate readings. [DyerMaker's Note: You can shave off even more unwanted R_SPEEDS per level you VIS. EG: You might have 200 less R_SPEEDS at a level 3 vis than you do at a level 2 vis. And you will definitely have more R_SPEEDS on a fast vis than a full vis.] The most useful tool for controlling framerate is R_SPEEDS. This command will display a list of numbers that bear directly on the current view's framerate. [DyerMaker's Note: I've added this "example" line and modified the paragraph below to make it easier to follow] Example: AA.A MS BBB/CCC/DDD POLY E SURF These numbers are, from left to right: Many people have the 'grey planes' problem when their map becomes too complex. If the grey planes don't go away after a level 4 vis, you should start all over again, because the design of your level is the problem. [DyerMaker's Note: Ugh. Before starting over I suggest placing walls that go floor-to-ceiling (especially near doorways) which should help block Quake's view quite a bit. Hills (for outdoor areas) not only make the terrain interesting but helps keep R_SPEEDS under control as well.] If you type "R_NUMEDGES 1" at the console you can examine how complex your level is. The maximum of edges Quake can handle is 2000, so now you can check early if you're approaching this value (and do something about it). If your level is a bunch of rooms interconnected with hallways, you can easily improve performance by not making any straight hallways. [DyerMaker's Note: Connect hallways at right-angles to relieve Quake's engine. Also useful is elevation; make an entry way descend or ascend into the next room.] Putting Sky brushes where you would normally have roof stuff is less costly than doing a textured roof. Why? Because the Quake Engine doesn't split the sky texture like a normal textured surface. Therefore, having large areas of sky is actually faster than a closed off roof. Makes you wonder why there aren't more outside places in Quake..eh? [DyerMaker's Note: This was written way before Team Fortress..eh? :} You'd be surprised what QBSP does to flat planes. Even though it may be one simple brush, Quake slices, dices, minces, and if you order now we'll throw in this handy apple-corer :} Read about R_DRAWFLAT below.] R_DRAWFLAT will display all brush surfaces as untextured and solid-colored. This can be very helpful in witnessing exactly how BSP cut-up your original brushes, especially when you make irregular, non-rectilinear shapes. Often I will find that BSP has cut-up a cool looking door into hundreds of small, subordinant polygons. This door will be a huge tug on the framerate and I'll usually get rid of it. R_DRAWORDER is another great tool for controlling framerate. It will display the current view in reverse order; that is, instead of blocking rooms and such that are occluded by obsticles in the foreground, it will display them. These occluded rooms and views, although not "seen", are being included in the overall view's calculations and are an otherwise unseen destroyer of good framerate. [DyerMaker's Note: Definitely use this to see exactly what Quake is seeing. Then you know what you need to block out of Quake's view. Remember to get a decent VIS on your level before being too concerned, however. And do remember Quake can't see through water (until you GL vis your level, that is!)] Blinking
lights are the #1 slowdown for the Quake engine. If you do a R_SPEEDS 1
on your level, and the last number ( xx surf ) is over 50 for any constant
time, your level is going to be WAY too slow. What that means is that the
engine is redrawing xx surfaces every cycle. Even though Quake's surface
cache is the fastest out there, its not that fast. Don't make every light
and torch in your level flicker/blink/or fade!! *If you have a big complex
room with lots of surfaces, don't even put *1* blinking light in there.
That single light will affect every surface in that room (if its bright
enough) making the surface redraw jump extremely high, and slowing down
performance greatly. *If you do use a blinking light, do it in places where
there will be low traffic. "I don't know all the .MDL filenames!" you say :( Well, here they are for your viewing pleasure. [DyerMaker's Note: You can use these as "statues" in your levels. Just add a "progs/(model).mdl" to your TF entity, and you can select a certain "frame" you would like to use for effect (such as the kneeling knights in Unholy Kingdoms. Get a good model editor (I use QMe Lite by 3D Matrix) to view the frames, then you have to count them all the way to the one you want to use. Even then you may be off by a frame or two, so keep your test map with the model open and the model at the same time. Run Entities Only in Worldcraft to change the frames and then re-run the test map until you can see in your test map that you have the right one. Be sure to read what I wrote here about Model Issues.] BOSS.MDL HKNIGHT.MDL TELEPORT.MDL DEMON.MDL INVULNER.MDL V_AXE.MDL DOG.MDL KNIGHT.MDL V_LIGHT.MDL ENFORCER.MDL OGRE.MDL V_NAIL.MDL EYES.MDL OLDONE.MDL V_NAIL2.MDL FISH.MDL PLAYER.MDL V_ROCK.MDL G_LIGHT.MDL QUADDAMA.MDL V_ROCK2.MDL G_NAIL.MDL SHALRATH.MDL V_SHOT.MDL G_NAIL2.MDL SHAMBLER.MDL V_SHOT2.MDL G_ROCK.MDL SOLDIER.MDL V_SPIKE.MDL G_ROCK2.MDL SUIT.MDL WIZARD.MDL G_SHOT.MDL TARBABY.MDL ZOMBIE.MDL |