News | Forum | People | FAQ | Links | Search | Register | Log in
Mapping Help
This is the place to ask about mapping problems, techniques, and bug fixing, and pretty much anything else you want to do in the level editor.

For questions about coding, check out the Coding Help thread:
First | Previous | Next | Last
Although what QMaster posted will work, you can make it a bit more user-friendly using spawnflags. This will make it so that mappers can switch between solid and not using a tickbox. The code you want is something like:

if(self.spawnflags & 1)
self.solid = SOLID_BBOX;
self.solid = SOLID_NOT;

The part in the bracket checks if the first spawnflag is ticked, and the second line only happens if that is true. The fourth line only happens if the box is not ticked, because of the else keyword.

If you want to use a different spawnflag (maybe for another feature), it's worth knowing that the boxes are numbered in a surprising way:
and so on, doubling each time. So if you want the feature to be controlled by the fifth spawnflag, you would change the condition to

if(self.spawnflags & 16)
E1m1 Door 
So is there a tutorial/.map file I can shamelessly copy paste from to get the horizontal opening doors from e1m1? The base style ones. Seems like very complicated brushwork. :[ 
You can get the original map sources here: 
Newbie Question 
just started making quake maps using J.A.C.K. a couple days ago and for the most part I've been able to figure out stuff on my own, but I'm having trouble with func_trains. I'm trying to trigger an event where a platform with a monster on it rises up from the floor but using func_train isn't working the way I want it to. I created a trigger to move my platform) from corner 1 to corner 2 but whenever it reaches corner 2, instead of stopping, the platform just disappears and gives me an error with a bunch of information abut the train.

I'm wondering if there's another method for this kind of thing or if I'm just doing it wrong? 
Have corner 2 target corner 1 but use "wait" "-1" to stop it permanently. 
awesome, thanks 
You really should learn by doing it. It's really not that hard and you'll learn a lot about whatever editor you are working with. Hint: use the clip tool.

Copy and pasting brushwork is weak (unless it's for a Speed Map and you've done the same creation before, which I think is fair.)

Challenge yourself, when you succeed you'll be a better person. 
How To Clip A Base Door 
...using Trenchbroom. 
I missed a brush (see if you can find what I did wrong) but hopefully you'll figure it out on your own. 
How To Clip A Base Door Revised 
Sorry for all the posts - this is a revised video.

I need some coffee. 
Fullbright Textures In Trenchbroom 
Just started mapping a few days ago, and have become hopelessly addicted. Oops. I can't figure out how to make a fullbright texture. is there a way to do so?

Thanks in advance. 
why do items placed in the editor sometimes not show up in-game? like I'll try to place two ammo boxes next to each other but when I boot up the game one of them isn't there. 
Theyre too close together. Move them apart and theyll both load. 
You don't make textures in TB actually. You can create textures in Wall or TexMex and most likely QuARK.

General info here: 
It's also possible to make any texture technically fullbright by turning the brush it's applied to into a func_wall and using the necessary (and usually compiler-dependent) entity fields to make the func_wall still cast a shadow and be lit properly on the other faces, but have the one face you want ignore lighting and display at a constant brightness.

Granted, this is only really a solution for smaller details (computer screens, gauges, eldritch runes, etc) as turning giant parts of an actual wall into func_walls so you have holes going everywhere is generally not a great idea for vis time and framerates. 
AD Func_breakable Via Trigger 
I made func_breakable to the my AD map, then connected trigger to it. Breakable object has breaks by trigger, but also player can make breaks it by his weapons.

How to make a ban for the break object by the player's weapons? I can make greater health value (eg 65000), but is there any other way? 
Set the spawnflag to 2 (= nodamage) so player can't damage it. 
More Questions - Make A Brush Give Off Light? 
After some though, I realized that making the texture fullbright isn't the solution to my problem. I need to make the brush (some lava) give off light.

Is there a way that this can be done? 
Haven't tried this functionality myself yet, but ericw's compilers seem to support this kind of surface lighting : (check bottom of the page.)
Not sure if it'll work right with a large surface. 
Thanks mate. 
I Really Need Help With This.... PLEASE 
Okay so I have a room that is going to turn of all the lights once u pick up the key. Then it will teleport 3 monsters, every 3 seconds from 3 different spots until it has teleported all 9. The lights wont come on until you kill all 9. The problem is, the first 3 monsters teleport in just fine... yet the next 2 pairs teleport in at the exact same time... even though I put a delay of 3 seasons on the relays. They teleport in after 3 seconds, but the 3rd wave instantly teleports in and doesn't delay for some reason- instantly killing the 2nd wave. Any ideas guys? 
Did you accidentally set the third triplet of trigger_teleports to have the same targetname as the second set? Also, uploading the .map file often helps people diagnose what's going wrong. 
I'll Take Guesses In ALLCAPS Below 



target|wave3 (SHOULD NOT BE wave2)
delay|9 (SHOULD NOT BE 6)

Maybe? Hard to tell without the .map file. 
Ad - Particle Effects 
So the stock misc_particle effects available in the AD fgd are usable in the sense that Quakespasm/Mark V will see a particle style effect, and Darkplaces/Quakespasm Spiked will see a Darkplaces style effect.

Each predefined defined misc_particle has a corresponding Darkplaces style effect that will be seen in QSS/Darkplaces. However, if you make a particle_template and create your own effect using various particle sprites, is there any way to see this effect in QSS/Darkplaces?

It seems the only thing I can do is attach a dpp_name (eg. DPP_ITSPORTALSIDE) and substitute a Darkplaces effect for my custom effect. The custom particles will not appear in Darkplaces or QSS. This is what I did in ad_paradise.

Is there any way to see a custom particle effect in QSS or Darkplaces? 
Entity State System In AD 
I tried to use AD's entity state system in my map for disable (NOT remove from world) and later re-enable func_plat. But I get a not working func_plat already when I starting the map (before the player touches the trigger, which disables the my func_plat) :( And removing all added enititirs couldn't help to fix it problem.

How to right use state system for disableenable func* enities. 
If your func_plat has a targetname, it needs to be triggered first. 
Thanks. I enabled the flag "start lower" and it worked, 
Bah, To H*ll With It... 
@#19191, I will answer my own question:

No you can't see a custom particle style effect in QS Spiked or Darkplaces. Unless through the action of some obscure cvar I don't know about.

In this case it is pointless to use the particle_template system, as probably no one will see the effect. With the release of QS Spiked and the popularity of Darkplaces, I consider it a worthless novelty to use this effect.

Just going to go with the included particle effects that work across all source ports. Back to mapping... 
Impact Of Texture Scaling On Lighting 
Since I'm no texture artist I try to use textures from an online source which start really large(1024X1024}. If I convert to the Quake palette and then shrink down to 128X128 they of course look like poop. But 256X256 is often doable.

Thing is, then in the editor I have to adjust scale by .5(X and Y) to get back to 128X128. I've read that scaling up is bad but scaling down also has an impact on the lightmaps correct?

My questions are: How detrimental/noticeable is this to gameplay and is there a way to have the lightmaps not affected by texture scale? 
Depends On How You Want It To Look 
It might not look too bad if your scale is something like 0.75, 0.5 should be noticeable. If, however, all the textures in your level are scaled to 0.5, then you are fine.

Half-Life 2 used all the textures scaled to 0.25. Wierd huh?

Not sure if lightmaps would scale down with texture gut instinct is no. 
A texture scale of 0.5 also doubles the lightmap resolution; they're linked by a hardcoded ratio of 1 "luxel" (lightmap pixel) : 16 texels.

The other side effect is qbsp chops faces on a smaller grid as you lower texture scale. e.g. on large surfaces, a texture scale of 0.5 will create 4x as many faces (2x on each axis) compare with texture scale 1. You can see this with r_drawflat 1 or r_showtris. 
Thanks For The Replies 
Title says it all ;) 
Does this mean you could get better resolution lightmaps by scaling all of your textures to say, 0.5 and them doubling the texture resolution?

Someone should make a tool to do that automatically. I'm sure having way more faces is no problem for even semi-modern GPUs. 
More Faces? 
1. on surfaces with tiled textures, do the faces get broken up to a 1:1 texture ratio such that for every repeat of the texture there are 2 tris? In otger words, a 10 times tiled texture on a large wall, for inatance, has 20 tris minimum?

2. Are faces sharing textures technically submeshes or part of one total mesh fir the level?

3. Does each texture require a separate mesh (VBO I suppose) sent to the GPU? 
1. AFAIK the reason surfaces are split up is to do with the internals of the software renderer and how it blends the lightmap and texture (the surface cache). It's not about texture repeat; one tri/quad/etc. can span multiple repeats of the texture both in software and GL engines.

2/3. I guess it depends on the engine. What Quakespasm does is store the vertices / texcoords / lightmap coords of all BSP faces (main map + submodels + external .bsp files) in one VBO which is sent to the GPU at map load time. To draw a face, it sends the indices of the vertices that make up the triangles that form that face. These are grouped into batches of texture and then lightmap texture. They are separate draw calls, I'm not sure whether these are considered meshes. 
Re: #1

Large surfaces are divided every 240 texels in each direction by qbsp. I think this is because 16x16 is the max size of a lightmap, and if you put a sample at t=0, and another sample every 16 texels, the 16th sample is at t=240. 
unlike vanilla, quakespasm should allow -subdivide up to 1984ish.
fte+dp go up to 4080ish.

such sizes can hinder lightmap atlasing, so its probably best to keep them somewhat sane in size.
this is especially true for weird shaped surfaces where much of the block isn't actually used - more divisions doesn't always mean more lightmap data. that said, if you've a lot of 256*256 texel surfaces and you're targetting at least qs then bump the subdivision size by a little, to avoid those 256*256 surfaces getting split into 4 separate surfaces. 
Trying To Understand The Grid... 
Maybe some or all of these questions are laughably basic, but I don't know the answers and I'd like to.

--> Is it important always to stay on-grid in Quake? (I don't mean as a rule of thumb or as a general guideline for newbies, but really always.)
--> If so, why exactly/ If not, then when is it important?
--> And does it apply to modern compilers and engines, or is it something that is (partly?) related to the limits of the original compilers and engine?
--> And does it apply to e.g. detail brushes as well as worldspawn?
--> What is the practical difference between on- and off-grid brushes when compiling and when playing?
--> And finally, what does staying on-grid actually mean? Is it that each brush has to have all vertices on-grid, or is it enough if e.g. four out eight vertices are on-grid? Is it relevant whether brush faces pass through points of the grid? 
early exporters always rounded coords to the nearest unit. modern stuff doesn't really require that, but legacy and all that... probably your map editor has an option in its export settings. note that rounding could uglify various maps...
the vanilla qbsp truncates on load, rounding towards 0 instead of to nearest.

rounding verticies to the grid also means you can avoid floating point precision problems that result in micro-cracks and associated leaks that prevent the map from being vised, in such a way that can be horrible to track down.
this also goes for axial surfaces too, of course.

rounding verticies is one way to avoid excess texinfo entries in the final bsp. note that this is really more of a size thing than any real performance issue. note that this is only really an issue with 'valve' map files. quake's vanilla texture alignment stuff sucks enough that they'll all get merged regardless.

note that constantly converting from/to verticies and planes will accumulate inprecision. rounding avoids that.

the engine itself doesn't really care if something was on or off grid - it can bug out regardless. The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.

so yeah, the only real issues are
1) accumulation of inprecision.
2) cracks (which have many other causes, so why care?). csg carve sucks anyway.
3) old editor/qbsp compat.

or something. I'm really just making this stuff up as I go. Here, have a pinch of salt. 
From a purely design viewpoint: Its good practice to stay on grid. I'd say a majority of us build on grid but there are some out there who dont. MFX's ad_swampy has a lot of off grid arches. 
The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.
The weirdest glitch I saw due to off-grid was in ad_swampy and due to this.
An item_health was dropped to the floor (which happened to have an off-grid Z height), then going through the 1/8th precision network moved the mdl into the floor. The mdl rendered black as a result, because the traceline to sample the lightmap started underneath the floor. 
Apparently I've Been Doing It Wrong 
I've been mapping for around a month now and I just remembered what levels are supposed to look like when you noclip out of bounds. they should look like this but mine looks like this
I honestly have no idea what that's called (if it has a name) or if it's even important yet but I'd like to know how to do it. 
Check Those Corners! 
You've got a leak in the level someplace and qbsp isn't doing its job properly. Basically, the 'play area' of your level isn't completely sealed by the geometry and you've got a gap someplace allowing the playable area to 'leak' to the outside void. This makes the compiler unable to tell what parts of the level should be cut away (normally brush faces facing the void are removed, leaving only the inward-facing ones that the player will see), and it'll cause vis to not work properly so the larger the map gets, the slower it will run.

Just looking at that screenshot, an immediate leak is right in the middle, where the double doors are (assuming you've already made them func_doors)- entities don't seal the map, only solid geometry, so until you build an enclosed area past that doorway, the map will leak. 
Could You Dumb It Down A Shade? 
Thanks, spike, ericw and mukor for your responses to my questions.

There's a lot in Spike's answer I didn't initially understand and I had to look up a few terms. I think I have a better grip on it now, but there are still a few technical terms I don't understand, despite searching around on the internet. In particular, the part that ericw also quoted,
The engine internally uses 1/8th precision for standard networked coords (though recent engines have [optional] support for full floats). either way, the server physics is always full floats.:

What is "1/8th precision"?

What are "standard networked coords"?

What does "server physics" refer to? (As I understand it, the client/server thing is central to how Quake works, but it's all completely mysterious to me at this point; I don't understand what clients and servers have to do with single player Quake.)

Embarrassingly, I'm not even clear on what "full floats" mean. As I understand it, integers are numbers like 1, 15 or 123, with no additional fractions, whereas floats are numbers like 1.05 or 1/4, etc. (not entirely sure if I understood that correctly, though. I tried reading up on floating point arithmetic, but it was like trying to read a foreign language).

If someone could shed some more light on the above, I'd be very grateful. 
1/8th precision means that the coords are multiplied by 8, rounded, and then networked (as shorts). This is what results in the 32767/8=4096 +/- maximum bounds.
This is often described as 13.3 fixed point precision - 13 bits above 1 (including the sign bit), and 3 bits for precision below 1.
or in other words, there is a precision of 1/8th quake unit over the vanilla network protocols. that's what's meant by 'standard network coords', because its the lowest common denominator.
note that vanilla rounds coords towards 0 (because integer rounding truncates). whereas a couple of engines round to the closest value instead, because its slightly more precise. yay differences.

server physics is stuff moving around serverside. all the logic in nq is serverside, so there's none of the 1/8th rounding stuff going on.

'full float' means that it just uses 32bit single-precision ieee floats without any annoying extra rounding.
[side note: many gpus support 16bit half-float types nowadays, because gpus are cheap]
note that floats concentrate their precision around 0, the further away your coord gets from 0, the less precise it gets. They're weird in that they're expressed as an exponent, with 1 raised to the power of 8 (signed) bits, then multiplied by 23 of the remaining bits, with the final bit being used for sign. Which is annoying, because it means floats have -0 as a separate value from +0. Of course, the actual logic behind them is typically irrelevant, just remember that any time the exponent changes then the precision that can be expressed also changes.
Whereas 13.3 fixed point has linear precision, and within the 16bit confines of the inner map, floats will still have more precision than can be displayed, so yeah, you won't notice any issues, but the qbsp might if things are non-axial. 
Laymans Terms 
Floating point numbers are essentially numbers with decimal olaces. When people talk about precision, they're talking about how mamy decimal places are stored by the computer.

The more places you store, the more work memory required etc, especially with older computers this could really affect performance, so Quake and other performance focused applications would store as few places as possible to get by.

The side effect of this is that you lose data by reducing the number of decimal places you store. That means that movement is (very subtly) less precise and, in the case of level compilers, data could br thrown away compared to what was actually in the source file.

Hope that helped a bit, and wasn't too incorrect. 
and since no one directly commented on this "I don't understand what clients and servers have to do with single player Quake."

Quake single player is still played on a "server". My guess is this is because of coop. 
Thanks For The Responses 
Spike, thank you for once again answering very extensively. I'm struggling to understand all of what you wrote, because it introduces several terms and concepts I'm not familiar with at all, but I've read it a few times now after reading (and trying to understand) Wikipedia entries on the respective terms and concepts, and it's slowly starting to make a little bit of sense. Unfortunately I have no background in programming or coding, which would make things easier to follow.

PRITCHARD, thanks, that helped a lot.

mukor, thanks, I kind of figured that it's something like that, but it still doesn't really make sense to me. In what sense is the "server" a server, and what is the "client", when you're playing on your own and unconnected to any network?

server physics is stuff moving around serverside. all the logic in nq is serverside, so there's none of the 1/8th rounding stuff going on.
So where is the rounding happening, if everything is serverside? Sorry, I'm not sure if my questions make sense. I'm really having difficulty understanding all of this. 
Client/Server Architecture 
There are certain parts of Quake that are managed by the "server", and so even when you're playing offline what is happening is that the game launches a server inside of itself to handle all of those components, and then the client "joins" its own server.

I'm not sure exactly what parts of Quake are and aren't server side, but movement definitely relies on the server, for instance. The client is basically in charge of rendering and not much else, actually.

I think the game is built in this way to reduce workload for the developers, as it saves having to duplicate work that was already done. It's harmless to run a server inside of the client - it even comes with benefits like "listen servers", where the client's internal server is opened up to the internet and other players can join without you needing to run a separate application.

I may have rambled a bit this time but hopefully I have rambled correctly... 
Server runs the main game.
Clients connect.
All games are ran with a "server" due to design for coop.
Server handles stuff like physics, positions, velocities, monster kills, etc.
Client handles rendering of monsters, particle effects, HUD, etc. Anything that shouldn't be sent over a network (mostly). 
Yeah, and most (probably all?) networked co-op games are built in a similar way. Like you say, there's no harm in building a game this way even if its singleplayer sessions use the same framework since latency is non-existent on a locally hosted game.

There's probably a nice flowchart out there somewhere from a Carmack or Abrash talk that breaks down exactly which parts are on the server and which are on the client in Quake engine games 
"There's Probably A Nice Flowchart Out There Somewhere" 
Thanks for the tip! I think I've found it.
Here is the text that goes with it:
Quake’s 3-D Engine: The Big Picture by Michael Abrash.

Going to have to read that very carefully; hopefully it'll clear several things up for me.

Thanks for your responses, PRITCHARD, Qmaster and Blitz. 
From Savage X 
New Monitor, New Colors

Posted by SavageX [] on 2017/11/30 19:49:12

Hi there,

I got a new monitor - nothing fancy, just a more "professional" (nicely adjustable pivot/height/angle) 24" Dell office thingie with an IPS panel, switching from an old 19" monitor with a TN-panel.

The colors happen to be much more vibrant/deep (not surprising - it's an IPS panel) - however, Quake looks much darker overall compared to what I'm used to. That's nothing that can't be "fixed" with an adjusted gamma setting (and I may end buying a colorimeter to properly adjust the monitor), which can give me nice, vibrant colors and a dark/light contrast I consider proper.

For me, this raises following questions, though, which are not strictly tied to my particular setup:

- As a player, are there any rules of thumb as to how Quake is *supposed* to look like? Is there any point beyond "just adjust it to your liking"?

- As a mapper, how can I make sure the lighting in my maps are okay for a wide range of recipients? My current strategy would be "adjust the display settings until the base game looks good. If my own maps look good with these settings as well, then everything should be fine".

How do you guys deal with such issues? 
On the second point, I think if you're confident of your colour accuracy, you should adjust your settings to make sure the base game looks good and then base your lighting on that. That doesn't hold true if you're using a bad monitor, as you might end up making maps that are too dark because you cranked the brightness. 
Do A Survey: What Brightness Setting Do You Use? 
I always have the brightness all the way down or one tick higher than lowest. On occassion I'll have to raise brightness for a particular custom map, but most of the time I enjoy the gloominess.

I may be biased since bright lights hurt my eyes anyway. 
r_gamma 4
r_intensity 2
r_overbrightbits 100
r_vertexlight 1
r_picmip 100 
r_gamma 4
r_intensity 2
r_overbrightbits 100
r_vertexlight 1
r_picmip 100 
Relatively sure they were talking about Quake 1, not 3. I've wondered a similar thing myself and haven't been able to find a good answer; personally I left everything at default except gamma which is at 0.9 (no idea what the default here is, assuming 1 but that's nearly dark enough you have to squint on my monitor) but sometimes raise it up because every map is a bit different. Any lower (brighter) and most maps including id1 become a lot lighter than they probably should be, although I'll admit I haven't fiddled with the contrast cvar introduced with Quakespasm 0.93. 
Is it possible to turn a light on and then off again (without custom progs)? 
Or rather, how does one do it? Because I just remembered that at least one of the maps in this pack does exactly that. 
You mean just toggling it on and off? Give it a targetname and trigger it with a button/relay/trigger_once/whatever, works the same as a door or anything else you can activate. 
Thanks, Spud 
Oh, that seems fairly simple. It didn't seem to work the first time I tried, but I probably made some silly mistake somewhere in my setup. Thanks! :) 
Forgot to add, it'll only work if it's a standard light ('always on' light style): in vanilla Quake, a switchable light is its own 'style', so you can't turn on/off a light that uses anything but 'always on' (style 0), i.e. strobe, flicker, or candle. 
Thanks For The Extra Info! 
I'm guessing it doesn't apply to light entities that include a model, right? As in, you can't switch a light_flame_small_yellow on and off ... or can you? 
Unfortunately not, the two you can toggle are standard light and light_fluoro (the one that goes bzzzzz- turning off the light doesn't turn off the sound). You can check the qc file that includes lights ( to see those are the only two that support it; notably this means that aside from the lights that include models, the light_fluorospark entity also can't be toggled, despite being the same thing as _fluoro except it goes 'fzz-tzzt, fzt fzt fzt' instead of 'bzzzzz.'

If you really need more options, IIRC the Quoth mod/entity pack includes a bunch more options for entity states including lights. 
Thanks very much for clarifying.

If you really need more options, IIRC the Quoth mod/entity pack includes a bunch more options for entity states including lights.

Thanks, I assumed Quoth/AD/Rubicon2 would open many more possibilities, but I'm deliberately sticking with id1 for the time being. 
You could place the light_flame_small_yellow and give it a light value of zero. Then next to it have your switchable light entity. Easy hack. In vanilla those don't flicker so no one will ever notice. 
I guess the sound *will* still play... duh. However, you could fake it by having an inaccessible area nearby with a light_flame_small_yellow "motivating" the sound. Think of a crack in a dungeon wall that spills a sliver of light on the floor. That kind of thing. 
Thanks For The Tip 
That's not exactly the kind of scenario I'm going for at this point, but I'll keep it in mind for future reference. In the mean time I think I've found a different solution ... but I need to play around with it some more. 
Mcache 2047 
anyone got any tips for lowering the number reported by mcache? My Christmas Jam map won't load in anything except Darkplaces right now (yuck) :(

I suppose I should reduce the number of breakables in the map, but that almost seems a shame... So any tips? 
does darkplaces's "mcache" command print the list of models like QS's?
The ones with a "*" prefix are submodels of the main bsp, i.e. func_ stuff in the main map. The other things in the list will be the unique mdl's and sprites precache by the map.. so e.g. if you remove all monsters that use a certain mdl, it should free up a slot in the list.

Can you merge any breakables that are close together?

If you use any func_illusionary / func_wall that don't need any scripted behaviour, switch to func_detail_illusionary / func_detail_wall, which don't use up models. 
mcache isn't a command that works in DP.

I merged a lot of breakables, saved several hundred entries. I'll see how I go getting through the rest of the map, there are a lot of func_illusionary brushes that i could convert if need be. 
Several hundred!??

You could potentially combine all func_illusionaries into 1....except then they would probably always be drawn instead of culled. 
Looking forward to seeing all these breakables!

You could potentially combine all func_illusionaries into 1....except then they would probably always be drawn instead of culled.
func_detail_illusionary are pretty much perfect for this, the only downside is they tend to increase leaf/node count, because they're part of the main bsp just like func_detail. It's only really a problem if you're trying to fit in standard BSP format and are near the limit.

func_detail_illusionary will also have the best rendering performance (as they're identical to other world polys), and 100 separate func_illusionary's the slowest. 
I did look into func_detail_illusionary but it casts a shadow, which makes it unusable in a few of my cases for this map.

Unfortunately the breakables aren't that interesting - just crates, like I did for my Noir Jam map. Interestingly despite all the breakables the mcache for that map was <1000. 
Ah, right.. for it to not cast shadows you need to be on the latest version of my light tool. I'm still working on the bug you reported, sorry it's taking so long 
Bsp Limits 
Wait so do brush entities not count towards the limits for verts, tris, etc.?

Is the limit per "model"? 
brush entities do count towards the overall .bsp file limit, but func_wall vs func_detail will have different resource usage because the func_detail has to slice up the map geometry that it is overlapping (leafs/nodes, faces). 
Colliding With Quake's Collision Method 
On my current mapping adventure I'm creating an outdoor map with terrain-esque features. I find that in Quakespasm and Winquake I get stuck when walking over that edge:

All fine in FTE and Darkplaces. Map compiled with the awesome ericw-tools. All brush vertices on integer coordinates.

I'm pretty sure a random vertex manipulation should resolve the issue and I guess this is just a side-effect of how Quake handles collision (I think FTE and DP basically have their own ways of doing things there).

Is there a lazy way to resolve such issues reliably other than pushing vertices until things are resolved?

BSP and .map source: 
That's A Pretty Common Issue 
It can even happen out of nowhere after a compiling in areas where nothing has been changed since several compilings before.

Move some vertex around a bit and that will disappear. 
Yeah, I already fixed it - once you discover such problems a workaround does seem to be mostly trivial. Just wondered if this is an indication that I'm doing something wrong or if this is just some charming oddity of Quake in general. Looks like it's the latter and I shall embrace the madness Quake awakens in our hearts and minds.

Glad I'm testing with multiple engines, though ;-) 
If one is mapping using trenchbroom on an unsaved map and TB crashes, is the map lost?? 
Ive found them hiding in C:/users/MYNAME.

You're A Lifesaver! 
this is just some charming oddity of Quake in general

Yes, and that's why there is not much terrain in Quake custom maps, and one of the reasons there is none on the official maps. 
niccce. happy to help, drow! 
Higher Resolution Lightmaps With FTEQW? 
I'm using ericw-tools to compile my maps but the lightmaps always look like shit. They are too blurry. Is there a way of increasing the lightmap resolution? 
you can do it on a per entity basis by adding an '_lmscale' field set to eg 0.25
on the command line you can use '-lmscale 4' with ericw's light util.
I'd also recommend the '-bspx' light util argument, if only so that you don't need the external lits.

alternatively compile it as a q3 bsp via q3map2 (using q1 ents still so that mods don't break). A _lightmapscale field set to 0.25 or so for that, I believe. this'll give you a few more options that are not available with q1 bsps.

that's the theory, anyway. note that each of these have different results when viewed in other engines. 
There's a good chance I inadvertently broke one of _lmscale/-lmscale/-bspx since I haven't tested them since Spike contributed the features, but a ton of other things have changed since then. If that's the case, there are old releases available at: and feel free to file a bug.

Anyway I would +1 using q3bsp. AFAIK all of the _lmscale/-lmscale/-bspx options will produce a q1bsp that only looks right in FTEQW. 
iirc the per-entity _lmscale + -bspx will generate redundant data for engines that don't support it.
obviously other engines will get inferior lighting, but it should at least otherwise work (unless you use -novanilla for smaller bsp sizes, in which case other engines will glitch, but shouldn't crash).

I really ought to add this stuff to QSS too, same as many other things. 
QSS now supports lmscale too, in case anyone cares. 
Q3bsp... But... But... Lightstyles? 
Won't you lose lightstyles by going q3bsp? I always considered that a feature-gap that might have a sound technical explanation (*) but just robs single-player maps of a simple way to make things appear more dynamic and dramatic.

(*): I guess lightstyles just don't go well with the light-grid, but then I'm not a fan of that anyway because its size just balloons quickly as you extend map dimensions unless you lower the resolution so much you could just as well sample from the lightmap. 
the rbsp variant (and derivatives like fbsp) supports lightstyles (4 per surface, like quake).
and yes, 4 styles per lightgrid node too (it uses some compression scheme).
FTE supports them (if you've custom shaders then lightmap passes need to be first due to format weirdness), but dp doesn't.

(side note: it might be nice to calculate model lighting for the centre of each leaf, and interpolate between those, using surface data in place of neighbouring solid ones.)

even with q3bsp itself, you can get lightstyles with rtlights.
alternatively you can get quite creative with custom shaders. 
The problem with q3bsp is that i can't use TrenchBroom and Radiant is pathetic. :( 
Can you provide a screenshot of the light/shadow situation?

In Quake (when not going to q3bsp) it's pretty much not possible got get sharper shadow/light contrast than shown, e.g., on - all one can achieve is to make sure you don't get ugly stairs by using some advanced light options (in my case, for final compiles I use -extra4). 
The problem with q3bsp is that i can't use TrenchBroom
Does the compiler not accept q1 map format?

You could use the -convert flag on my qbsp (see ) and hook that in as a compile step. You can convert vanilla q1 map to q2 (which I think q3bsp compilers accept). Or, valve to brush primitives, etc. 
In Quake (when not going to q3bsp) it's pretty much not possible got get sharper shadow/light contrast than shown
There is the "scale your textures up 2x and use texutre scale 0.5" hack that gets you higher resolution. Downside is it causes more qbsp subdivision of your level so the faces still fit in Software Quake's surface cache. 
2X Texture Size With .5 Scale 
Downside is it causes more qbsp subdivision of your level...

Would QS/QSS have any issues with that?

I don't think I asked this specifically in a previous post, if it has been answered already my apologies ;) 
It makes a mess of linear filtering.
Replacement textures should at least fix that, but anyone using the default settings+textures will find it looks a bit ugly.
Software renderers will have less mipmaps available (this also affects fte's r_softwarebanding).

note that you can also double the -subdivide qbsp arg too which will reduce the subdivisions needed.
QS supports up to (128-1)*16-precision. glquake actually supports up to (18-1)*16-precision.
FTE/DP/QSS(now) support up to (256-1)*16-precision. However that doesn't mean you must use lightmaps that big, as it kinda makes a mess of the lightmap allocator resulting in excessive wasted space, with more texture switches/batches (doubling won't hurt much though). 
Hello Again Everyone, I'm Back From The Dead, And I Got Questions 
It's been awhile!

I remember coming here when I was just getting back into Quake, and was trying to learn to map.

Anyway, I need some serious help. I've been working on a dm6 remake with modern geometry, and some extra tricks to do for ease of movement. I had to come up with a way to make circular polygons, which turned out great (map features 16 sided polygons for some rooms).

This map is meant for competitive play in ezquake, and so far people have thought I've done a pretty good job. However, there is a problem with it, and it's the performance stability. After a bit of digging and talking to Spike, we identified the issue was overdraw with the entities. This can be proven by going to the worst spot in the map, disabling entities, and watching your fps go way up (tested in ezquake).

When talking to Spike, he told me of Hint brushes. He tried explaining how I would use them to make my map more efficient, but he arguably did a horrible job, and I'm still lost in what I am supposed to do with them, and where to put them.

So, as a final call to help, how the hell do I use hint brushes?

My map:

Ignore the texturing, no one ever uses them anyway in the competitive scene. I used a self discovered way to make circular polygons in trenchbroom, but I'm sure many know how to do it. If not, I will be happy to share how I did it. 
You could also just post a map that uses them effectively, and I can try to figure it out by example. I have some knowledge in how vis portals work, but I obviously don't know enough. 
Can You Post A Top Down Layout Of Your Map 
Hint brushes force a new cut when the compiler is creating vis portals. It won't magically hide stuff at point A from a player at point B, if point A really is visible from point B. However if point A is actually hidden from point B and the default vis portal creation is not recognizing that, then adding hint brushes can help.

In addition to Qmaster's link, here's another:

My little summary (and that link) is going from what I remember about Quake 3... if Quake 1 hints differ in some way then hopefully someone else can elaborate. 
IMO, don't bother with hint brushes until you have established that qbsp is making a bad decision in a particular spot. I guess you could just preemptively apply them and hope it works, but I doubt it will do anything.

First run in Quakespasm with "r_showtris 1" and post a screenshot from the slowest position. Maybe post your fully compiled (qbsp + vis + light) bsp as well.

Also check Darkplaces with "r_drawportals 1" - this will draw the actual BSP portals (the boundaries between leafs), which are what you would be trying to influence with hint brushes. 
I just looked at the map, compiled it, it shouldn't be any slower than the original DM6, the e-poly seem really close to DM6, and the visibility is fine. I'm really surprised anyone would have performance (and stability?!) probs with it, and I doubt hints will help so much (could probably optimize some of the hallways a tad, having the main arena appear a bit later but it really wouldn't change much). 
Some Mapping Questions 
I aggregated some questions regarding how to pull off certain effects. I'd like to use unmodified id1 progs.dat, which makes certain things difficult or impossible, I guess, but perhaps I'm just not aware of some nifty tricks.

- some maps nowadays have transparent grates. I guess this is a new-ish engine feature (QS? FTE? DP?). I haven't had luck googling around on how this works - can somebody point me to some documentation?

- there doesn't seem to be a straighforward way to embed a .mdl in a map with id1 progs.dat - but is there a hackish way?

-I'd like to do an arena fight with a pentagram on the floor (that's the simple part). As the fight progresses, I'd like flames to ignite at the corners of the pentagram. When all five corners are ignited, the player is transported to a demonic realm (teleport or changelevel). As far as I know, light_flame* can not be toggled on/off. Of course, I can put standard light entities there an toggle then on, but then the question remains on how to make the flames appear. Ideas? (if this cannot be done, I can still change the concept to, e.g., have pillars with demonic symbols raise instead at the corners) 
- some maps nowadays have transparent grates. I guess this is a new-ish engine feature (QS? FTE? DP?). I haven't had luck googling around on how this works - can somebody point me to some documentation?
The last color of the Quake palette- that's the kind of funky pale pink one at the end of the last row- is defined as transparent when used in 2D UI/HUD elements, i.e. the main menu or the (in)famous light_globe entity. In engines that support the feature (alpha masking, fence textures, whatever you want to call it), that same transparency is applied to 3D stuff as well- entities and world geometry. It's as simple as using that color in the areas of the texture you want to be see-through, and adding a left curly brace- that's the pointy parenthesis, {- at the start of the texture's name to tell the engine it has transparent bits, similar to * for water or + for animation.

Two things to keep in mind, though- one, textures can only have one leading character so you can't have a curly brace and a plus sign, meaning no animated-textures-with-transparency (probably possible through a really complex set of cycling doors or something, but generally not worth it), and two, the texture has to be used on a brush entity like a func_wall or func_door or else you'll get unsightly grey or hall-of-mirror-effect areas where parts of the world are cut away from compiling and you can see through them into the void. ericw's tools include multiple entities specifically for this purpose (func_detail_illusionary and func_detail_fence), as well as a handy entity field called _mirrorinside that makes those two types of entities automatically have their textures mirrored to the insides of the brush, meaning an infinitely flat, two-sided fence texture (i.e. Doom style fences) is done by just making a func_detail_fence, adding the mirror field, and applying the skip texture to every outside face except the one you put your fence/grate/whatever texture on. 
And in case you mean glass, just add key of "alpha" and a value between "0.0" and "1.0". No quotes of course. 
alright, I will try that. Darkplaces actually runs the map fairly stably, which is another reason why the ezquake renderer needs to be redone. There are plans to do that.

Introducing `-forcegoodtree` helped the performance by quite a bit, but those slow spots are still apparent. I don't feel or mind them, but apparently other players will, and will cause my map to be depreciated.

I can't exactly give data right now, I'm on a trip. However, I will get back to you through email when I do. I will post my fully compiled map here as well.

It does seem to be caused by entities. When disabling them in the renderer, I get a stable 1300 fps around the map in ezquake (AMD card on linux, which is why my performance is lower than usual, others get way into the 3000s and are affected a lot less than me). With them on, I get the slow spots in ezquake.


That is true that the performance is similar between dm6, but one of the things I wanted dm6pro to be is better than the original dm6 in every aspect, including performance. If I'm able to improve it, I will. Also keep in mind that there are people in the competitive community that do notice this stuff, but I honestly think it's a buncha bs most of the time. They all play aerowalk, which has similar "slow spots."

This is also an issue with ezquake, so that's introduced as a problem. Since that's the current engine that competitive players use, I will have to design the map around it. I think it actually may have to somehow do with how inefficient ezquake is at rendering entities, but that's only a theory. It's definitely correlated by my tests.


Again, I will try to get back to you on that.


Thanks for the great initial support, never got that here before.

On the side, do any of you actually like it? I've been trying to get opinions before I hand it up to the higher players. 
Now that's how to answer a question in mapping help. I've used fence textures once before but I just learned how to do it properly. Cheers. 
@Spud And @Qmaster 
Thanks for your comments, this is very helpful! 
Took a peek at that valve documentation, really helped me understand how I actually need to use hint brushes. I doubt they will help, but they might do something. 
When you say that people are complaining about your map's performance, is it "bad performance" in the sense of "only a thousand frames per second instead of ten thousand"? Or is it a performance problem that could actually be noticed without watching an FPS counter? 
newbie question: how do I get so you have to kill/press 2 or more enemies/buttons to trigger something and get it to say "x more to go" 
o nvm I figured out button, through trigger_counter. trying to figure out monsters though 
no wait I'm dumb that's not right 
no wait I'm smart that's actually right 
but I have no idea how to make it work still 
Add a new monster:

"classname" "monster_army"
"target" "t1"

Add another one:

"classname" "monster_army"
"target" "t1"

And another one:
"classname" "monster_army"
"target" "t1"

Then add a trigger_counter:

"classname" "trigger_counter"
"target" "t2"
"count" "3"

Now when you kill the three grunts, the target "t2" will be charched for use, ie a door, a teleporting monster, a light, etc. 
It will be searched for, added to a list, and then all entities on the name will be targeted.

So ya charched I guess, or searchargeted. 
Johnny Law: 
So, it was initially discovered by going around and looking at the FPS counter, however, I was told others would notice it, as well as it being in a key area of the map. 
What Fps? 
Min? Max? Average? 1st quartile?

If your min is 65 I wouldn't worry about it. If your min is 50, meh.
If 40, yeesh no good. 
how can I set a command to activate whenever I boot up the game? I'm using quakespasm and it has z-fighting by default but "gl_zfix 1" doesn't save the property when I close out of the game. I don't want to have to type the command every time I test my map. 
Put it in autoexec.cfg

If you don't have an autexec.cfg, create one in notepad and put it in the ID1 folder or mod of your choice. 
didn't work when I tried autoexec.cfg so I tried putting the command into config instead and that did it 
as someone who's brand new to mapping, this messageboard is a godsend. it's over 15 years old and I can still get helpful responses within a couple hours. that's nuts, and it's why I love quake so much 
I'm in the couple thousands here, lol. Average is 1300, max is 1600, but min is 700 in the fated spot, which is noticeable.


changed my mind about email, lol. Anyway, so I used r_showtris, and all was revealed. standing in particular spots, the middle arena and the armor room were both being rendered for some reason. Some hint brushes in the entrance to this should help, I hope. I think it has to do with the long bridge brush that connects the semicircle to the hallway. 
I Did It! 
The major weird slow spots in my maps are now gone, but there are some that I cant do anything with because they are simply impossible to make any more efficient.

Thanks everyone! 
Well I saw a guy on the Discord chat mentioning it getting down to 4100 fps at one spot. Better throw it all out!!!

Seriously, if anyone is actually concerned about that kind of "frame dip" affecting the gameplay in any way... to me that sounds like "quantum HD gold-plated audiophile cables" level of delusion. I'd be interested to know though if there really is any good reason at all for worrying about framerates (min, avg, variations, whatever) once they are up into that regime. 
I can imagine being concerned about it if you have a brand new PC with high end kit or something along those lines - i'm pretty sure there are still people out there playing Quake on hardware from a decade ago.

It's not about if you can run Crysis, it's about if you can run Quake! 
Hardware from a decade ago is still hardware ten years newer than Quake. 
Idk, It Was A General Improvement 
That was ciscon, he's been helping me test. That spot is unavoidable anyway. Once or if the devs redo the ezquake renderer, I'm pretty sure none of this will be an issue.

Anyway, the reason why I'm making a big deal is that slow spots cause obvious dips that distract from competitive play. It's all worked out mostly now, so that's good. 
Now all that's left to do is make some of my own maps. Prolly gonna suck, I would do better working with somebody else since I'm good at making levels, but not necessarily coming up with them. 
Switching To Trenchbroom 
I've been using J.A.C.K. for a while now since it's the only editor I've figured out how to get working but I want to switch to trenchbroom because it just looks like it's a lot more fluid in editing.

my problem is that I can't figure out how to set up the compiler and stuff. the manual just kind of says "open up the compilation dialogue from the menu" but the compile menu is gray'd out and I can't click it, so I'm not sure if I'm supposed to do something else first or if I did something wrong. pls help pls 
oh.... I searched the internet for over an hour straight trying to figure it out and apparently the only thing I had to do was save the map to get the compile window to be able to open. 
now I'm having some trouble getting it to compile properly. here's what I've got going on
it's saying "no such file or directory" 
Why have you got underscore characters in the parameters?

Like "Program_Files_(x86)" when it should be "Program Files (x86)".

If spaces in the path are giving problems, you can try one of these:
- putting the whole path inside quotes
- using the DOS style shortname for the directory, which is probably "PROGRA~2"
- putting your Quake files in a path that doesn't include spaces 
I was using this guy's tutorial, along with some other one I can't find

and using quotes around the path helped, thanks 
Also hmm it's not clear to me you even need to give that second argument to qbsp at all. But I haven't used that particular GUI so I'm not sure how you really need to set it up; hopefully someone else can chime in. 
OK good to hear you got past that step. :-)

Use the "+" circled in red to add each a new section.

Use the "..." circled in green to add your tools.

Copy the rest word for word.

This is outlined in the TrenchBroom manual. 
I tried filling in the parameters and stuff exactly the way mukor showed but it keeps giving me an error saying the bsp was already in use by another program, even though I have literally no other windows open besides trenchbroom itself

another thing, I tried changing the working directory to ${MAP_DIR_PATH} but it completely crashed TB whenever I typed the first letter 
here's what I've got, let me know if I did something wrong 
it said it failed to copy, so I removed the 'copy files' part and it compiled fine. is that part important or should I just not worry about it? 
Forgot to mention that with that setup you need to start your maps in a directory OTHER than /maps.

I recommend making a folder somewhere near your Quake folder called "Working" or something to that effect.

Do that and you can add the copy part back in. Be sure to add a "Copy" function for the .lit file as well. 
If you still can't get compiling in TB to work please Google Necro's Compiling GUI and use it. It's much more approachable than TBs compiler. I seen people post here often with issues or confusion. You certainly will be up and running very quickly with the GUI. 
If you get TBs compiler working with the copying files, stick with it.

Yeah its a little extra work to get it started, but its definitely worth it. I just compile, open Quakespasm, press up in the console to repeat my last command(usually the map) and bam.

NCGUI will have you open NCGUI. Select your map. Compile. Open file explorer. Move bsp/lit to /maps. Now you can play.

I think people let themselves get intimidated by how setting up the compiler looks like "coding" and they dont even try copying it exactly as shown in the manual. They think they have to decipher some complex language when its literally spelled out in front of them. :P 
You don't need to chime in here dude especially with Dad info. I already said if he still was having issues too. And you are incorrect. I leave NGUI open, save my map and hit Alt-tab the Ctrl+C to compile. The game launches I am in. All the copying is handle by the GUI. I'm not sure who taught you to use Necros' tool.

FyI the compiler UI on TB 2 RC 4 is broken so another reason to avoid it. also the manual in Windows is currently not working on RC 4. There are plenty of reasons people are coming here asking questions. It's not an elegant solution and no, not everyone is comfortable or knowledgeable about paths and shit. 
"bad info"

"FyI the compiler UI on TB 2 RC 4 on OSX is broken so another small reason to avoid it." 
The compiler isnt broken so as its completely unusable. They already got it set up minus the fact they were starting their .maps in the /maps directory.

Maybe if theyre deleting a profile:

Or how if you stop the compiling process earlier, a compiling tool might hang:

But not so broken as to completely discourage its use in favor of another tool that just does the same thing.

Heres a better screenshot with the proper tools shown.

The one i linked earlier shows q3 tools, i think.

The only thing that will be different on yours is where your tools are...and to set that the dots circled in green. 
Jesus man I am giving a newb options here why the last word BS? And you didn't acknowledge you are wrong about Necros' GUI.

Some of us literally don't have to time to research this shit and need something that works out of the box. I'm simply trying to help and get pissed when people relay bad info.

You even started your own GUI ffs.

Peace Muk. Let's help people by giving them options huh? 
yeah, ive tried using NCGUI and couldnt get it to work as seamlessly as I got TBs GUI working for me.

I recommended it to someone and even they couldnt get it working.

NCGUI isnt as intuitive as one would think.


also, my compiler frontend isnt a gui. its a batch file :P and i made it because NCGUI cant compile batches of maps. 
and yes i stand corrected on those point i wrongly asserted. 
Fair enough hombre. 
How is the compilation UI broken on OSX? I know it has problems, but I didn't know it doesn't work at all. 
Compiler Wars? No, We've Got Compiler UI Wars Now... 
All I want for christmas new years is for the TB2 compiler UI to be able to launch engines ;-; 
Damage Riding Func_door Downwards 
I'm currently working on a small set piece with a descending floor, with the floor being a slow-moving func_door.

In Quakespasm I can easily receive damage in certain spots, sometimes being squished withing fractions of a second ("player was squished") despite the func_door having a dmg of 0. There is no obvious obstacle. Same in Mark V.

In Darkplaces everything is fine, but then again DP's collision system works differently.

Is there something a mapper can do to create safe door rides? 
Is your host_maxfps bigger than 72? 
You have to enter the paths to compilers manually in rc4. The "..." Buttons don't work. There was a Git report on this quite a while ago.

I'd.linknto it but I am on my phone and can barely read this text right now.

I don't use OS X any longer. I just bring a pc laptop to work when I can map there on slow days. 
host_maxfps is 72.

Tested also in WinQuake. Same problem, so this is "vanilla".

I'm using ericw-tools (qbsp / TyrUtils ericw-v0.15.11) to compile things. Using hmap2's BSP stage doesn't change anything.

I zipped up .map and .bsp at - can somebody have a look? Just push the button and keep standing there, that's one spot that seems troublesome for no apparent reason. 
Still Squishy 
tried turning the descending floor into a train. Doesn't change the getting-squished problem. Hmmm. 
so, I decreased host_maxfps to 36 and the problems seem to go away. Of course, this is not a solution.

Instead, increasing the movement speed from 25 to 35 qu/s seems to fix/alleviate the problem as well. I guess that the platform has to travel a minimum distance between physics tics to avoid problems. This can be done by lowering fps (host_maxfps) or by increasing the speed.

Darkplaces has the physics decoupled from the rendering fps, so that may explain why DP had no problems.

Does this make any sense to engine devs? 
how do I get a trigger_push (wind tunnel) to push up or down? 
nvm I figured it out 
J.A.C.K Configuration Help Needed 
I have a lot of experience with hammer and its compiler, but I wanted to try my hand at quake mapping

I am having trouble setting up the jack directories and compiling a simple map. I have the free version of jack and quake on steam.

Here's my compile log:

The relevant part I think is the "Token too large on line 6". I tried googling this and it looks like it happens when a map has too many wads, but I only have 2.

Here's the directories I have, I do not know if they are right. 
I believe it is the string of wads having more than 256 characters. E.g. "C:/Path/wad1.wad,C:/Path/wad2.wad,...wadn.wad" where path goes to your steam directory.

I believe ericw's compile tools fix this:

These are the ONLY compile tools you should be using for Quake. 
That fixed it for me, thanks! 
Level Optimization? 
So I’m using the makaqu engine to run a full on game I’m making, but it doesn’t seem to run at a consistent framerate. Is there any command line optimizations that can make it run smoother and use less memory? The one thing that is bugging me is that it says I have a leak in the compiler when there are none! It’s really weird. Can anyone help? 
You'll need to fix the leak and run vis to get good performance. If qbsp reports a leak it should save a .pts file, open this in TrenchBroom or jack, or type "pointfile" in the console in quake to help find the problem. 
I’ll Try That! 
I’ll try to do that when I get home! Thx! 
AD: Swinging Sign 
Could I use a func_train to create a slightly swinging/swaying sign?

Or more precisely, what would be the best way to go about this, if possible?

It's just for ambience, will be coupled with an ambient_custom sound. 
Yes You Can 
You can certainly do this sort of thing with func_train in but it depends on what your vision is. I am picturing say a sign hanging in front of a Western Saloon. The sign will swing back and forth ever so slightly.

You can do this put your 2 path corners very close together, say 8 units. And give it a very slow speed key <40. The problem is there isn't really a great way to make the "rope" holding the sign sway accurately because in reality it would pivot around the point it is secured at. You could ignore this and just make the ropes very small (1 unit) in width so there lack of movement is not as noticeable, or just make the ropes move with the train, but it might look awkward.

I think ORL made flapping flag posts with func trains moving extremely fast over small distance. Its an optical effect.

Or make a .mdl and give it animation frames... 
Also lets you make something hover up and down very slowly for a nice effect, but I think it can only be done vertically. I used them to make some hovering objects in ad_paradise, but again it depends on what type of sign you are picturing. 
wouldn't a hanging sign be better with func_rotate? 
Saloon Mini-Map! 
Func_train can work really well for this depending on what you want. The problem I forsee with a rotate_object is that it typically only rotates one way; a func_rotate_door can rotate back the other way but you need a trigger to do this and switch between the 2 states. This could make it exceedingly complex.

Using a func_train with path corners only 4 units apart and a speed of ten, a made this swaying Saloon sign that is really atmospheric:

Check out this demo map with source:


NOTE: Arcane Dimensions is needed to play this map. I made this in AD but it you can make the func_train in ID1 of course. 
The map is a tiny demo of the func_train only. No exit trigger or anything. So I hope no one gets mad at me:( And I hope this doesn't end up on quaddicted somehow. 
Wow, Thanks A Lot Redfield 
Very cool example map you made for me.

But... I already made that with your single entity func_bob suggestion. Apologies for not posting about it, it was really late when I did it so I just went to bed.

Also, I made a test ambient_custom_loop squeaky sound, placed it centralized to the sign and... all was good.

Thanks again for all the assistance.
- damage_ 
Also, Swaying With Rotation... 
There is the "path_rotate" and "func_rotate_train" entities that may still be the answer, but I didn't figure those out last night.

What I was doing kept screwing up the game(on load player position stuck at path_rotate location and no ability to move, even with noclip!)

If I get this sorted I will post it up. 
Lots Of Options 
There are quite a few ways you could do it I guess. I forgot func_bob can go in any direction with angle key, and this is probably the most efficient way to make a swaying sign. I'm not sure how to visualize a func_rotate_train, as the object itself will rotate between path corners, but if you make it work it would be interesting to see.

Yeah I got carried away with that saloon, I was just going to throw a func_train in a test map and see what happened, but I had this image in my head, and it just kept going. Started making textures and several hours later an insane test map. Best way to answer a question is to make a map. Maybe I will turn it into a little western map one day. 
Is There 
a way to kill Chthon without QC? Telefrag or ridiculous high damage on a trigger_hurt doesn't seem to work and setting the lightning_event its a pain the way this map works. 
Try adding a key|value of th_die|boss_shockc1 to your monster_boss. Then when you hurt it it should die after 4 damage. Not tested. 
Thanks Qmaster 
I tried damaging the guy with a trigger_hurt, a door and myself with Quad rockets just in case and the guy didn't show even pain with that key on him.

What i learnt with all of this is that he cannot be moved with doors as they just pass through him, which is a pity. 
Ah Right 
I forgot that the boss is not technically a monster in the sense that it doesn't use AI normally. It is basically a turret with animations and very special code. Seems like I remember a killable chthon hack somewhere though. You might need to make an info_notnull hacked boss. 
mechtech made a handy map that includes a whole bunch of map hacks for reference here, and a quick glance at the killable Chthon in the map shows it's done with an info_notnull with a bunch of extra fields filled out to match what the boss entity would normally have so it behaves correctly. 
Link Is Dead 
but i found it on Quaddicted. Thanks. 
GLQuake Not Rendering Map Correctly? 
Hey there! So I got my map working and fixed all the leaks, but for some reason, when I run the map in GLQuake, it renders a far off distance like it's clipping! Is ther anyway to increase the drawdistance like in winquake with r_maxsurfs and r_maxedges or is it impossible? Could it be a mapping problem itself? Compiler gives no errors! 
The Real Question Is... 
Why in 2018 does anyone use original GLQuake?

I really want to know! 
Because it's the best engine that comes with the Steam version.

Well, the second best, but the default one.

It's worth remembering that's the out-of-the-box experience, when you're looking for the largest possible quake audience. 
Thanks, I never even considered that. 
To Answer Rizzo 
Download an engine with enhanced limits such as MarkV, Quakespasm, or FTE. 
GLQuake Far Clip Is Hardcoded At 4096 
Thanks guys! Guess I'll have to go with another engine! 
VIS Job Farming? 
I'm new to mapping, i've been using EricW's tools. In regards to the VIS proccess, has there ever been any consideration into farming out jobs over a network? I am sure i'm not the only mapper who has a second PC that is idling alot. I can picture small communities of mappers providing their PC's for VIS jobs. And not just 1 map/PC (that could already be done with some kind of file monitoring script). I'm talking about splitting one bsp over multiple PCs to get the completion time down. It seems with multithreading the individual threads are operating independently anyway once they get their work chunk.. granted i don't know anything really.. just my assumption. This seems to be the biggest bottleneck in dev time. Maybe the couple guys i am in a group with are inefficient mappers but the VIS'ing has taken days and days on an 8 thread i7. It would be cool if network nodes could just be seen as additional threads. 
Detail Brushes 
Should be helping with the vis times. Unless you are building a gargantuan map that rivals Ter Shib in size I can't see VIS taking this long with 8 cores. I vised a bsp2 size map in less than 1 min. on 3 threads with ample use of detail brushes.

Again this could depend on the size and complexity of the map, but if you are new to mapping, you should be using detail brushes on objects like pillars, stairs, loose bricks, small details etc. or else VIS might take days where is should be seconds. 
With func_detail, vis should not be the longest part of the compile any more.

Make sure you are using ericw's tools: 
I saw detail brushes but wasn't sure what to do with them. I'll try that. thanks guys! 
Use Func_detail To Turn Your Map Into Rectangular Areas 
For instance, anything angled, off-grid, small, thin planks, trim, light panels, crates, pipes, broken walls, debris chunks,
trisoup (terrain e.g.) etc. etc. should be func_detail (solid) or func_detail_illusionary (not solid).

This lets vis deal with very simple rectangular areas and drastically speeds up compile times. It also can help you add specific lighting features to some details, such as _phong (nice and smooth shading) on rounded columns or terrain trisoup. 
Aside from wanting to apply phong shading to columns/pipes/whatever (which can be done with standard func_walls as well), if you're willing to eat the compile time instead that seems like going overboard a little with the details. Won't you run into issues with vis not blocking off *enough* due to details making up walls and such and possibly cause poor map optimization and lower framerates on less powerful machines? Not to mention the extra effort of making a solid rectangle area outside of any part of the map even slightly skewed or clipped-'n-vertex-edited. 
Balancing Act 
Depends on balance between CPU and GPU time per frame. Loads of objects to render = long GPU time. Loads of vis leafs to calculate against = long CPU time.

E.g. in a level with 10ms CPU and 20ms GPU, it would help to render less, so yes more leafs could help.

If instead you had 20ms CPU and 10ms GPU, then fewer leafs would help improve performance then func_detail would help.

I honestly don't know what the bottleneck would be or how to check it. 
gpus are quite fast nowadays, they don't really care about a few hundred more quads.
overdraw is still a concern (so you still want your various rooms to be properly sealed with structural brushes to avoid the worst of it), but otherwise if the engine has decent batching then you won't see much of a problem if all the details+pillars+etc are flagged as details.

tbh, its the leafs themselves that are the expensive things. 
I Was Under The Impression 
That in quake, you can't appreciably change the number of leafs with func_detail, only the vis compile times. Has this changed? 
no, you have the leafs whether they're detail or not.
you can't fold leafs using q2-esque cluster stuff, because the bsp format doesn't support it.
and you (usually) can't merge leafs due to the engine calculating a parent leaf - each one must have a single parent node so no multiple routes through the bsp tree (side note: this doesn't apply to hulls 1+2).
so the only way you can merge them is if two leafs share a parent node, have the same contents value, and together form a convex area (such merging can happen recursively so long as those conditions still hold true).

less leafs means fewer marksurfs, fewer nodes, fewer frustum checks, smaller pvs data (and for every other leaf too), and fewer cache misses throughout.

arguably surfaces could be merged into a concave mesh on the condition that there is still 1 truely central vert somewhere.
the geometry works even if they're on different planes, but lighting and texcoords would likely be broken because of it.
whether it would break software rendering, or gl engines that pick the wrong edgevert is a different matter, but hey, most gl engines should cope without realising it. 
Yes func_detail shouldn't create more Leafs 
Engines should be able to recover detail clusters by recursively merging leafs that have the same visofs. This has the benefit of working on released maps and won't risk breaking anything. Once you recover the clusters you could generate lists of faces per cluster, new compact visdata, etc. 
Using Scourge Of Armagon Assets In TrenchBroom 

Longtime quake player, trying to create a custom version of DM3 with some Scourge of Armagon assets for team deathmatch. I used pak explorer to extract the DM3.bsp from pak1 in id1 and was able to convert the bsp file to a .map file, which allows me to then open it in TrenchBroom. I think I get how to recompile this back into a usable .bsp (doing the light/vis stuff etc.), but I'm curious how to actually use Scourge of Armagon assets. I have the add-on pack (it's in a subfolder called hipnotic), but I'm unsure how to use those pak assets in TrenchBroom.

Any help would be appreciated :) 
Cool idea to update Dm3 for SOA. The source for DM3 is available at Quaddicted. So use that instead of a decompiled bsp.
You'll have more luck.

Next, you will want to load up the mission pack fdg in Trenchbroom. I have been searching for it but cannot seem to find the link. But it's out there.

When you have the fgd you will go to the entity tab in TB and at the bottom load external and select that fgd file. After that you should have the entities available to you in the browser. You will also want to load the mission pack as a mod in TB in a very similar fashion. It's on the map tab I believe. 
Triple Post - Woot! 
I might as well pimp a DM level I made that includes a Hipnotic version of the map. It's called Lividus. Maybe you and your pals will enjoy it along with DM3. 
Thank you for the help and taking the time and all the links provided! I managed to figure most of this out through a bit of trial and error and talking to the devs from qrack and fte. Some of those old assets are indeed hard to find!

I still play TDM with a group of oldschool quakers on DM3. Matches on most weekends. I was looking to create a fun tweak of DM3 that would preserve what works about the level for teamplay, i.e. the idea of level/item control without messing up the balance too much.

But due to having played it 9999999 times, I thought adding some SOA assets would be fun. I added the proximity grenade launcher at the opposite side to standard GL, replaced the SNG in the SNG room with the laser cannon, replaced the standard nailgun (useless in DM) with the SNG, and put mjolnir outside by the pent. I feel like these weapons could lead to a few interesting tweaks in gameplay (e.g. setting traps with proximity mines, using laser cannon to blast into areas by bouncing shots, mjolnir to close proximity attack somebody with weapons).

If anyone's curious, here's the first iteration. Requires the hipnotic pack to work (i.e. whatever executable you're using -game hipnotic -hipnotic for command line switch): 
in trenchroom, I made a button and set its target for one door but it opens all doors on the map. what do? 
That means all your doors probably have the same targetname.:D 
will I have to name all of my doors? because the other ones being triggered don't have names 
will I have to name all of my doors? because the other ones being triggered don't have names 
nvm, that just stopped the door from opening automatically. I'm looking at all my entity links and none of them go to the irrelevant doors, only to the ones I told it to go to. 
and it only happens with a button, not the trigger_multiple I have already 
it also triggers doors with different names?? 
Set The Don't Link Spawnflag On The Doors 
that didn't work, but it broke my unnamed door :L 
it's weird, whenever I change any properties on my unnamed door it just totally stops working 
here are my button's properties. maybe it's something to do with the button. 
Please try and avoid the triple posting.

What do the door properties look like? 
O, sorry.
and here are the doors (four doors that sink into the ground) targeted by the button
keep in mind it's also triggering a pair of doors named "d2" 
The two groups of doors are too close too each other.

Add "dont link" to the D2 doors as well. Remove that Wait of 0. just remove the Wait key entirely. No need for it if youre also using the Toggle flag, as far as i can tell. 
oh and do "r_showbboxes 1" in the console and youll see the trigger volumes and such. This should make the problem a bit more evident. 
I've tried adding "don't link" on all the doors.
I did a video just so you can see exactly what's going on.
there are 3 sets of doors, the four downward-moving doors (d1); the doors above d1, which the player gets launched up through (d2); and the unnamed door which is off to the right and there's nothing special about it.

I've tried creating a new single func_door away from the others with no changed properties, and it still opened.
I've also deleted and redone the button to make sure I didn't accidentally change a property.

if it turns out to be something really simple I goofed up on plz don't laugh at me ok?? <:l 
Maybe upload the .map? 
Remove the blank "target" and "wait" from the d1 doors for starters.

But, beyond that...the issue isnt happening for me when I compile the .map. The button only opens d1. I didnt change anything either. 
Ha Ha Hi Hi Ho Ho 
yep that did it! I didn't realize the unnecessary target and wait would do anything. mystery solved, we can all go home now 
no dont go home. go map. 
Are there any good beginner resources around?

GTKRadiant, NetRadiant, and Trenchbroom seem to be the most popular editors, and ericw-tools seems to be the current suggested toolchain for compilation, but all the documentation and stuff I've found seems 
Dang Accidental Post assume that you know what you're doing, which I really don't.

Sorry about the halfpost, interface bugged out. 
Re: 19413/19414: Beginner Resources 
This might help to get you started with the very basics: 
Make Sure And Register 
...for this site so we know who you are. :) Maybe prepare a list of specific questions you have too. We'll be happy to answer.

JACK is also a popular editor for those with Valve/GoldSrc/Worldcraft experience:

I use TB2 and can answer questions. Also Terrfusion on Discord is a good real-time resource as well. 
Nobody Has To Register If They Don't Want To 
and it's not a prerequisite for asking questions. 
It Should Be 
I smell shrimp 
Shit is arguably better than shrimp. 
...was simply a friendly suggestion. Not a demand. You know, to get to know someone in a more personable way? 
Nope, But You Do Have To Register If You Want To Post Abuse 
and it's a prerequisite for trolling (i.e. some form of accountability). 
@dumptruck_ds: Yeah, I get that. :) Of course registering has its benefits, but it should be the person's own choice, and I thought the way you phrased it, it sounded a bit like a demand/pressure/prerequisite.

In any case, my comment was directed more at whoever posted the question in 19413/19414, than at you. People may have various valid reasons for not wanting to register and sign up, and it would be a shame if they feel pressured to register and then stay away completely as a result.

And (re: #19424/Shambler) of course I'm talking about people asking for mapping help, contributing knowledge, etc. and not about trolls/people posting abuse. I can understand the argument there, although there are plenty of people happy to troll and post abuse while logged in anyway. So I'd argue that even then, whether or not someone is registered or logged in is irrelevant: just don't be a troll and don't be abusive. 
can a mod delete / move the above BS into the beef thread?

It would be nice if any visitors coming here wouldn't be greeted with this as their first experience here. 
Would if I could. I think there's no beef here now tho. All good. 
how do I get spike traps to shoot more/less frequently? 
ah nvm, got it (it's 'wait') 
Bit Of A Technical Question Here 
Been trying to get my head around the Valve220 map format.

What's the point of the "rotation" field?

There's a not-particularly-clear description of it on that page, but I still don't get why it's required when you already have two vectors defining the "right" and "up" of the texture.

Possibly related, but in Netradiant, if I do a fractional texture rotation (e.g. 13.6 or whatever), only the integral part (13) gets saved to the "rotation" field in the .map, yet the extra precision is not being discarded, because it's generating different "right" and "up" vectors, compared to if I just rotated it by the integer 13.

It's almost like the "rotation" field is just for show, but why? 
Rotation Field 
It's a cheat. Rather than the editor (JACK or Hammer only) having to calculate the relative rotation of the texture UV space every time it loads a face into a brush, it merely calculates this during save and puts it into the .vmf

At least U think thats what it's for. Old Worldcraft 3.3 needed some hackery if I recall to read it. Whoever did the WC3.3 patch might know for sure. 
That field stores the knob position of the Hammer UI. It's not used by qbsp when compiling the map.

I guess the reason it was done this way is, you can rotate the brush with texture lock on, and this won't cause the texture rotation knob in the UI to change on its own. 
Knobs And Things 
interesting cheers, so it's pretty irrelevant. 
what's a good method to creating arches that match up with the arch textures? in JACK I would use the primitives and CSG but that was funky sometimes and TB doesn't have those functions at all. 
derp. a description would probably be nice:

theres an arch tutorial for Trenchbroom. 
_bounce In Ericw-tools 
Is there a way to control/turn off the bounce lighting specifically on _sunlight and _sunlight2? 
Not At The Moment Afik 
but it's a good suggestion! 
Thank You, Love Your Tools 
Engine Question 
Is there any difference in physics whatsoever between a trigger that was created in the editor as a brush model, and a trigger that was spawned dynamically in the QC? I'm guessing the answer's "no", but wanted to double-check. 
no. either way, solid_trigger is an aabb. the shape you set in the editor is irrelevant, only the bbox extents are meaningful.
so one uses setmodel and then discards the model, the other can just directly use setsize. same result. 
Nice One 
That's the answer I was expecting and indeed hoped for. Cheers :) 
Colored Lighting 
Working on some colored lighting in a map. I had been tinkering around with the Arcane Dimensions stuff, and left those settings on when I originally setup the lights. My lights look really good in AD. Later, when playing the map in Quakespasm with no mod, I noticed the colored lights are pretty crappy by comparison, and I'm not sure if its a matter of settings or if Arcane Dimensions just had a different lighting setup than Quakespasm can do on its own. I feel like there's a setting I'm missing or something, perhaps a rendering setting in the engine I need set in the config?

Shabby Lighting
Screenshot 1 with Quakespasm:
Screenshot 2 with Quakespasm:

Pretty Lighting
Screenshot 1 with Quakespasm + AD mod:
Screenshot 2 with Quakespasm + AD mod:

Bonus Question: Does Arcane Dimensions mod always use the new health and ammo models or is there a way to tell it (in map settings) to use the classic models?

OS: Windows 7 64bit
Client: Quakespasm v0.93.0 x64
Editor: J.A.C.K. 1.1.1064 64bit 
Skip Textures 
I created these for the video tutorials I am working on. Not pretty but you may find them useful.

Link on Quaketastic

Problem Adding Textures 
Hello, I'm having difficulties setting up textures in trenchbroom. I have followed instructions and added Texture compilations WADs, but the textures doesnt show up in the I missing something here? 
Problem Adding Textures 
I noticed I get the following error message when adding a WAD:

Could not load palette file 'gfx\palette.lmp': File not found: 'gfx\palette.lmp' 
Quake path not set? 
click "face" right up screen, aside Map Entity.
texture browser +
Add texture wad set path
Has to be your Quake directory. As Pyro said. 
I don't think there's anything different lighting-wise in AD, or at least there shouldn't be given lighting is baked into the map, and a quick look at the documentation file and configs doesn't show anything. Normally if you're getting issues with colored lighting, it's due to the engine not supporting it so it either doesn't show up at all or shows up as standard white lights, but you've clearly still got some kind of color going on in the standard QS screenshots. I tried replicating it with multiple lights overlapping, different light values/types, etc. and couldn't get that 'colored outline' effect, would you mind uploading the map (and your own compiled .bsp) to see if the same thing happens to others?

Bonus Question: Does Arcane Dimensions mod always use the new health and ammo models or is there a way to tell it (in map settings) to use the classic models?
AD always uses its new models IIRC; there's a couple variants including a metal-sided style based off the id1 boxes (the same way AD includes updated weapon world models, enemy models, etc) but they're normally limited to the base worldtype, being replaced by the wood-sided boxes and health potions in medieval/runic. Glancing at the qc files shows there's a skin_override key available for both health and ammo entities that you can use to force one model or the other though, so give that a whirl. 
Trenchbroom Error / Help 
Hey guys. First-time mapper here working on a, hopefully, exciting map that I'm eager to finish and release. I've been working on it daily for the last 7 days and learning as I go. I'm having an issue, however, that maybe someone could help me with? So the level is coming along and I'm moving into a new section. It's at the end of a hallway and then I'm trying to make a path to the left. Everything compiles right with that new path but when I extend it to make it longer, there is an error compiling. It says "Mixed face contents in leafnode near (835.43 -192.00 72.00)" and I sort of know what that means as I've had to fix those kinds of errors before. Problem with this one is this hallway, floor, etc are not bumping into anything, are connected properly, and all that. There's literally nothing for it to run into so I'm not sure what's happening. Any ideas? 
Error (cont) 
Run into meaning sky and wall, for example. That's where I saw that error before was when my sky was encroaching on some walls. Cleared it right up after editing it a little but this error I'm having currently is really confusing the hell out of me. I don't know why the new section will compile right when it's a small size and then cause everything to screw up when I extend it a few meters down. I've tried building other stuff in that area and it seems that there is a point of no return kind of deal going on. 
It's for Quake 1, if that matters. 
That's usually something you get when you have a face with sky texture touching a face with some kind of liquid texture, or a trigger. Sure there's not something like that going on? 
Yeah, I'm almost certain. I do have a skybox in one section but fixed all the problems there and never had any more issues until this hallway part which is a good distance away from the skybox. I've narrowed it down to the point I can't go past as well and there's nothing in the way whatsoever. If I extend it even one small block it won't compile. Really frustrating. 
Deleted the skybox completely and tried it and still won't compile so can narrow that out at least. 
Oh weird. Fixed it but still not sure why it was a problem. I constructed a little table in the hallway and made a shiny gold necklace on it and used zoomed in lava for the gem part to give it a cool glow. This didn't cause any problems prior either but I just deleted it and now I can keep going with the hallway. Weird. I wonder why it would work to a certain distance and then stop considering the necklace is also away from the place I'm now building. You did help me though. You said "liquid texture" and it gave me the idea to delete it and see what happens. Thanks, man. Woo! Was getting worried for a second. 
Bummer about the necklace though. It looked awesome. 
Maybe with some screenshots of how you've set things up people will have some ideas of what could be going wrong. 
I've had "bad geometry" cause leaks before but never got that mixed face error. It sounds like you had lava just on one face of the brush in this case. Maybe a custom full fright texture would have a similar effect? You can probably use something from the prototype wad here: 
Yeah it's all sorted now anyway so no worries. I'll come back to the necklace when I finish everything and see if it goes through. Are these leaks you mention a major problem? I've seen some leaks pop up during compiling but I'm still able to play the level and all that so I figured it wasn't a huge deal. 
I'm liking those textures. Thanks man. 
Trenchbroom Compilation Question 
Hello, I started to use Trenchbroom and had a problems with compilation so I found some guides covering the newest version of Trenchbroom that lead me on right direction though did'n help at all. So I referred to Trenchbroom's manual pic named "Compilation Dialogue" and my map seems to compile just fine with qbsp.exe. So I tried to compile using other tools, again referring to mentioned manual pic and just don't understand what shoud I type instead of ${CPU_COUNT-1}. Please help 
Could you upload a screenshot of what your compile UI looks like? And what tools are you trying to use? 
sorry I don't know how to upload that. in manual pic everithing that has ${} thingies must be replaced with directory of the game or folder with map and I have no clue what I should replace the ${CPU_COUNT-1} with. In output it tells me: Could not interpolate expression '-threads ${cpu_count-1} mymap.bsp': Cannot subtract value '1' of type 'Number from value 'undefined' of type 'Undefined' 
Just Leave CPU Count Alone? 
From the manual:

CPU_COUNT | Tool | The number of CPUs in the current machine.

Usually we just set path's for compilation. 
Mixed face contents is where you have a mix between the 3 face types in Quake: world, water, sky. Never have a brush with water on kne side, world on another. Or sky mixed with water, etc. 
Triggering Monsters (Quake 1) 
Hey dudes. Me again. I'm trying to set a trigger on nailgun pickup that summons two demons at the end of the room but I'm unsure of how to do this exactly. I've set up a room apart from the map that they'll teleport from but that's about it. I've been experimenting with the trigger functions and just can't figure it out. The manual does not seem to cover this topic and google isn't yielding much. 
Additional Question (not Too Important) 
While I'm here I figured I'd ask another question: is there any way to see how my lighting will work in the editor itself? I have to compile and run the level every time I make adjustments and it's starting to take a while. 
Triggering Monsters (Quake 1) 
For teleporing monsters via trigger once.

1. Make some monsters and place in into "trigger_teleport" brushes. Each monster in separate "trigger_teleport" entity. All teleport entities must have one targetname.
2. Add some teleport destinations - one "info_teleport_destination" for one "trigger_teleport", and connect it one to one.
3. Connect your "trigger_once" to "trigger_teleport" ents. 
Spawn a monster in. (I know you've done some of this but for others:)

How to teleport in a monster upon triggering something:

1. make an area outside your playable level and place your your monster
2. make a brush with the trigger texture that covers the center of the monster.
3. right click and make the trigger brush into a trigger_teleport give it a targetname (i.e. monster1) and a different target (i.e. dest1)
4. place a info_teleport_destination where you want the monster to teleport to give that the targetname of the target in step 3 (in this case dest1)
5. set your trigger (in your case above it's picking up a nailgun) the target of the nailgun should match the trigger_teleport targetname in #3 (monster1.)
6. make sure you keep track of your targetname and targets - it's easy to get these confused. Just remember targets trigger targetnames in other entities

something to note: if you are spawning in two at the same time they need their own info_teleport_destination entities so they can share a targetname and be triggered at the same time but they each need their own separate target. If you use one destination they will telefrag each other! And you may want to add a key of delay and a value of 0.1 to the second monster so there is a tiny delay between their spawns. I recall this solving an issue before so try it if you see problems.

2. there's no real-time lighting preview right now in any of the editors. NetRadiant will show you a representation of the falloff of a light. ericw had hinted he might do an application that does realtime lighting preview at some point. Which would be instantly popular. 
@doomer is correct and I wasn't clear above. Each monster needs its own trigger brush and separate destination but they can share a targetname. Also I think you can just add a target to the nail gun instead of making a trigger_once. But if you wanted the monsters to teleport as you walk into a room then you'd make a trigger brush right click and make it a "trigger_once" Good luck!!! 
Awesome. Thanks guys. I love your levels and you're both big reasons why I started learning Trenchbroom. You guys, Sock, Ionous, Skacky, etc are incredible at this. 
Wow, that's very kind of you. I am currently working on video tutorials for Trenchbroom. You seem to figuring out thing on your own though! The first one will be out early next week. As time progresses there will be some advanced tuts you'll want to check out. I'll post here on fucn with links. 
Beautiful. Got it on the first shot as you guys explained it perfectly. Definitely looking forward to the tutorials. Thanks again, guys. You rock. 
Just To Be Safe 
I made a post about this, but I might have made a mistake with that. Here's what I wanted to ask:

I've been looking for a tutorial on the use of Jackhammer for a few hours now, but I can't seem to find anything. Is there a tutorial out there I can use to see what's up? 
If you can't find any tuts for JACK then you have some options that will get you close.

First, JACK is based on Valve's Hammer editor. You will find tutorials for Hammer out in the wild. There are many similarities between the programs. I believe JACK has more features but I haven't used it too much.

The other option is to use Worldcraft tutorials. JACK is based on Hammer which was based on Worldcraft and many concepts from Quake will carry over.

Good luck and consider trying TrenchBroom 2. I will be publishing a Quickstart video tutorial sometime this weekend (or before) and you may like what you see.

The tuts will be on my YT channel is here 
Artifacts In Q2 Sun/lightmap 
Hello guys, this is my first post here. It's interesting to finally have some reason to post here. I'm following func_msgboard for sometime, following all the cool maps and mods are being born here... Good stuff :)

Anyway, i decided to try something in Q2 engine. Right now, i'm having some problems when using _sun. Compiling with qrad3, i get this result:

it doesn't happen when i compile regular lights only, just when I use Sun... :/ Anyone have some idea? Thanks! 
Ah, Arghrad 
Arghrad solved my problem :D
back to work 
Scaling Models 
Is there a way to scale (prop) models easily? I have downloaded Preach's crane and helipad models from his site, and after placing them on my map in Trenchbroom they look so small, about the size of a cat. Quite endearing, actually. xD

Will I have to resort to some mdl editing in a separate editor? D: Guess I'm going down the deep end of Quake custom content creation, no more simple map making, huh? xD 
I usually just jump into QME here? and scale the model:

Of course, QME sucks ass and tends to mangle models if they look at it funny so... have fun? 
QME likes to break mdls. Should only be used to view models. :( you may get lucky tho. 
Mdl Scale 
Scale is defined by just one float in the .mdl binary file, I think (Can anyone confirm? Does anything else need to be tweaked other than this one float?)

If so, you could be able to just hax0r it with a hex editor. Preach - any ideas? 
Actually it's a vector of 3 floats

you'll probably want to scale bounding radius too. 
Yeah, you only need to change those 4 floats, so a hex editor will do the trick. If you prefer, you can install the qmdl python module then run the following script against the model.

from qmdl.helper import Helper

#read the model file
mymdl = Helper()
mymdl.mdl.scale = tuple ([i*4 for i in mymdl.mdl.scale])
mymdl.mdl.boundingradius = mymdl.mdl.boundingradius * 4
#save again"bigcrane.mdl")

This is multiplying the scale by 4, vary the value as required. 
It Worked! 
Thanks guys, you just keep helping out, no matter what I keep throwing at ya', AND always in a timely manner, might I add! :)

And for your information Preach, I used your script on a newer Python version 3.6.4. 
Adjusting Mdl Centerpoint 
I'm guessing it's model dependent, but I noticed that the larger I made the helipad, the further away the model diverged from the model entity (or is it in this case just a handle?) in Trenchbroom. Is there a centerpoint in the mdl I should adjust? Can it be done with qmdl or should I use something else? 
One of the quirks of the mdl format is that the model keeps the bottom left corner fixed when you rescale it, rather than the centre. If you add a line like

mymdl.mdl.origin = (-64 -64 -64)

after the mymdl.mdl.boundingradius line in the script from the previous point, you can specify the coordinates you'd like the bottom-left point to be at. Play around with the values! 
I figured it would be something like that. Thanks a heap for going through the trouble of helping me out! :) 
No Worries 
It's cool to see someone using it, I worried that it being a python module was a bit off-putting 
Func_train Question 
How to make train move through four path_corners? I named each correspondingly and gave paths corresponding direction. 
I made a sample map linked below. It's pretty easy to do as you'll see.

I made 4 path_corners. t1 - t4 make sure the target/targetnames are correct and that they close a "loop" - that's the part that people mess up on the most.

I don't think you need to specify a direction. I didn't in this case. Sorry for the weird name. Also you can use Quake101.wad or q.wad for the textures in this map. 
Thank you for your help! watched your tutorial on tuesday so thaks for that as well! 
You're very welcome. LMK if you have any requests for tutorials. :) 
Texture Wads 
New to mapping (thanks @dumptruck_ds) and wondering where everyone gets their textures?

For the moment I'm just looking for the default Q1 textures, but it'd be good to know where to get custom textures come from too. 
Here's A Start. 
Texmex will let you open a map/bsp and save as a wad 
Tex Mex 
Does TexMex have a homepage somewhere? Or is it just floating around, no longer developed. 
Looks Like Floating Out There 
Looks Like Floating Out There 
Guessing this one is the one people are using texmex_34 
This is more of an engine question but does quakespasm or vkquake support increasing the playback speed for animated textures using the +0, +1, +2 naming convention?

DP lets you circumvent this with Q3 shaders but i'm just curious if there's a more universal option for having an animated waterfall look smoother 
Not that I know of, but there's a tutorial on Preach's site about using func_wall's on-trigger function (switching texture between two sets) to double the framerate from 5FPS to 10 using two sets of premade textures. 
I Should Add.. 
That the method in the tutorial is a bit convoluted, because it describes how to get the effect in unmodified Quake. It would be much better to achieve the same effect with a simple mod that added QuakeC code to perform the switching between the textures. 
I'm Using Func_illusionaries 
So i guess i'll just deal with the low framerate.

I have another question/problem - I made a huge lift in my map that goes up slowly, it's a door -

It has items on it, but seemingly at random while the player is riding it he will get snagged on it and take damage, and send the lift back down.

Is there any reason for this/workaround? I know i could make it so you ride it down slowly instead of up, but I have to redesign it if i do that. I wanted to avoid using a func_train but if it's some sort of engine problem I'll switch.

I'm using quakespasm btw 
Wait What? 
I switched to a train and the collision does not match up with the position of the train - i tested in quakespasm and vkquake and it's broken in both, but oddly enough in darkplaces the collision of the train is correct

I have no idea what's going on 
Check for an "angle" or "angles" key on the func_train and delete it if there is one. 
I feel like a dope, that was it. Leftover from converting door > train

Check Your Server Fps Too 
Another thing that can cause weird physics glitches, like the one you had with your elevator, is setting the server fps too high in the config (default 72, if I recall correctly). When I use Quakespasm, setting it to 150 still seems to allow everything to work correctly. 
I Actually Kept Quakespasm Running At 72 Fps 
It still would happen. Sometimes the train gets caught too and does a point or 2 of damage but it's alright since it doesn't break the whole sequence 
I had the same stubborn func_plat that caused me headaches to solve.
Glad finding the solution here.

(for the the func_plat head) P: 
Lava Alpha 1 
It's been asked many times, but here I go. There is a worldspawn key to set the lava alpha for that particular level, right? Which one is that, again? 
Meet The "alpha's", Hehe (Hope This Is Correct) 

----- Alpha Options -----

water_alpha(string) : "Water Alpha" : : "Set the transparency of water (ex .70), which are brushes textured with a water(ex *04water) texture. This setting tranfers directly to the other 'liquid' types and teleporters, UNLESS you are using an engine that supports individual 'alpha's' for each(see below). NOTE - Defaults to the players own 'r_wateralpha' settings if no value is assigned."

lavaalpha(string) : "Lava Alpha" : : "Set the individual transparency of Lava, brush solids textured with a lava(ex *lava1) texture. Default inherits the 'water_alpha' setting. If 'water_alpha' is not set then it defaults to the players own 'r_wateralpha' setting."

slimealpha(string) : "Slime Alpha" : : "Transparency of Slime, works the same as 'lavaalpha' except for solids textured with a slime(ex *slime0) texture."

telealpha(string) : "Teleporter Alpha" : : "Transparency of Teleporters, works the same as 'lavaalpha' except for solids textured with a teleporter(ex *teleport) texture."

This works for me and I believe it to be accurate but if it is not, please let me know otherwise. 
I Forgot To Bold This... 
... and it threw me when I was testing:

IF 'water_alpha' is NOT set, then it defaults to the players own 'r_wateralpha' setting."

That means, that to set lavaalpha, it IS necessary to set a starting water_alpha to get the results you desire! 
Sorry For The Empty Post Above 
Is this Quakespasm? Do these work in other engines? 
Yes, Quakespasm. I just assumed it was a QS related question since it was a specific lava alpha question, maybe that was wrong?

I tested with DP, FTE, AD-MOD/QSS etc... I only remember I had mixed results, not the specifics to what each one did upon map load. 
Thanks, But 
I hope I can still set water_alpha 0.5 and lavaalpha 1, transparent water and opaque lava. Will try later. 
Water_alpha Is An AD Feature 
It works on any engine, but only with the AD mod.

Quakespasm and MarkV both support "_lavaalpha" and "_wateralpha" worldspawn keys. These work on any mod includong id1. This is relatively new (last 2 years ish) and not sure if any other engines recognize these keys. 
Really Wish I Could Edit My Post, Grrrr 
I should have used my modified version of Daz's FGD for reference, doh. I forgot the subtle differences.

Which has the correct entry for wateralpha, which is:

wateralpha(string) : "Water Alpha" : : "Set the overall transparency of liquids, default = (1.00)"

This I just tested with stock id1. No underscore needed at all?

Apologies for the confusion. 
Just checked MarkV and QS source, they will both accept underscore or no underscore. 
What About Telealpha For Mark V? 
In my map it's not recognizing it? 
MarkV Doesn't Seem To Support A Telealpha Key 
I think were technical reasons for not doing it.

Mark V has automatic underwater transparency detection (which isn't hard to implement, btw --- I told qbism how to do it and he added it qbism super8).

But the underwater transparency test cannot be applied to all teleporters because a small teleporter might not even materially affect vis.

Recommendation: Add automatic underwater transparency to Quakespasm (you'll like it) and then also remove support for tele-alpha.

Qbism added automatic underwater transparency to super8 because if a map isn't water-vised, honoring the user's r_wateralpha value (unless r_novis 1) is just silly looks horrible.

If you add automatic underwater transparency, you'll never see that ugliness ever again! 
Original Id1 Wads 
#14672 #14678
"Are the original id1 wad files somewhere? I wanted to re-compile all the maps to try this but got a lot of missing textures when I used wads from my collection.


For example: I was also looking for the original wads and after finding these two posts I decided I was bored enough today to do this:

I found that the available METAL.WAD had only 99 textures in whereas mine now has 144.

I opened each original map from Romero's source and then made a list of which maps used which wads. I then extracted the textures from each map as its own named wad. After that I merged all the wads into their correct wad according to the list I made.

Adding these to /Trenchbroom dir/gfx now allows all the source maps to be textured without having to open Quake101.wad or similar afterwards. 
I always found the lacking textures super annoying, but oGkspAz, you have finally fixed the problem that has annoyed me for so long.

Thank you thank you thank you! 
Help, I Am About To Release My First Map But I Have Some Problems 
Ok, so I am a long-time Doom mapper and have recently taken up Quake mapping as well. I like it a lot and you can expect to see more stuff from me. Forgive me if I come across as a massive noob. I still feel like an outsider.

I have two problems that prevent me from releasing the map:

First, I have a func_door descending lift but whenever I step on it it only goes 48 is driving me nuts.

Second, the surface of the lift and a brush near it are acting very strangely. If I just walk on them then it alright but if I jump, I get instagibbed. I don't get it...

Would someone mind taking a look at the map? I could also use some feedback on the map itself.

Now I don't know how to package the thing. I just use the compiler but when I drag the .bsp file in Quakespasm, it crashes, so I will just upload the .bsp, .map and .WAD files that I used in a RAR. Again, excuse my noobishness.

I hope you will enjoy the map. 
func_door descending lift but whenever I step on it it only goes 48 is driving me nuts.
func_door will move the extent of the bounding box, minus the "lip" value (but if lip is unset or 0, it uses a default value of.. 8, I think?).

Easiest fix is probably to add a "pedestal" to the lift to give the overall func_door the right height.

If I just walk on them then it alright but if I jump, I get instagibbed.
Check that your host_maxfps cvar is not set above 72. If it's too high elevators will hurt the player. 

Yay, that worked. I knew it had something to do with the bounding box!

It is not set above 72. I have an instagib trap in a nearby room but I checked and there are none of the brushes going in the affected room. Really werid. 
You get gibbed when jumping there is because of the way the trigger_hurt is done. The size of trigger volumes is always determined by an (axial) box around all of the brushes it's made of. In this case, the trigger consists of two brushes, a big one and a smaller, but the touchable volume spans across both. Check with r_showbboxes 1. You need to make it two trigger_hurt entities, one for each brush; then the space above the lift will be unaffected. 
Got it!

Now how do I package the whole map so I can share it? 
You'll want to name your .bsp file in all lower case, no spaces or special characters. You will zip up the following in an archive:

1. your .bsp file (the map)
2. a readme.txt file. please name it <yourmapname>_readme.txt This explains what your map is and any specific info you want to share including your email or social media contacts.
3. it's customary but optional to include your .map file (it's considered polite in these circles.)
4. if you have any colored lighting in your map there will be a .lit file with the same name as your bsp. Make sure to include that as well.

Congrats on making a map!! 
Hey dumptruck! Your YouTube videos were very helpful in making this!

What about the .WAD files? Or are they included in the BSP? 
Here is a link to the final map if anyone is interested in playtesting. 
Seems like a good first effort. Though unfortunately it's pretty much unplayable currently. The map is unsealed (leaks) and unvised - this is something you must address before the final release. In addition, there are many issues concerning entity placement: nine items (including a grenade launcher) fall out of the level, and a large number of monsters are being reported as partially stuck in geometry. Check the map with developer 1 and you'll see all the warning messages in the console:

walkmonster 'monster_ogre' in wall at '768.0 -80.0 265.0'
walkmonster 'monster_zombie' in wall at '-784.0 -704.0 41.0'
walkmonster 'monster_zombie' in wall at '-352.0 -400.0 41.0'
walkmonster 'monster_ogre' in wall at '528.0 -1008.0 489.0'
walkmonster 'monster_ogre' in wall at '296.0 -1072.0 488.0'
walkmonster 'monster_ogre' in wall at '368.0 -976.0 489.0'
walkmonster 'monster_ogre' in wall at '296.0 -1240.0 489.0'
walkmonster 'monster_enforcer' in wall at '632.0 -952.0 296.0'
walkmonster 'monster_ogre' in wall at '224.0 -1288.0 184.0'
walkmonster 'monster_ogre' in wall at '-2400.0 -1472.0 -424.0'
walkmonster 'monster_ogre' in wall at '-1704.0 -1880.0 -72.0'
walkmonster 'monster_ogre' in wall at '-2224.0 -2288.0 -72.0'
walkmonster 'monster_ogre' in wall at '-2528.0 -2032.0 -72.0'
walkmonster 'monster_knight' in wall at ' 32.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at ' 96.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at '-32.0 -1808.0 25.0'
walkmonster 'monster_knight' in wall at '192.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '128.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at ' 64.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at ' -0.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-64.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-128.0 -1840.0 25.0'
walkmonster 'monster_knight' in wall at '-160.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '-96.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '-32.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at ' 32.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at ' 96.0 -1872.0 25.0'
walkmonster 'monster_knight' in wall at '160.0 -1872.0 25.0'

bonus item 'item_shells' fell out of level at '624.0 -48.0 22.0'
bonus item 'item_health' fell out of level at '216.0 -1312.0 166.0'
bonus item 'item_spikes' fell out of level at '-2240.0 -576.0 -410.0'
bonus item 'item_spikes' fell out of level at '-2016.0 -576.0 -410.0'
bonus item 'weapon_grenadelauncher' fell out of level at '-1760.0 -992.0 -378.0'
bonus item 'item_shells' fell out of level at '-1632.0 -1280.0 -658.0'
bonus item 'item_shells' fell out of level at '-2544.0 -1648.0 -202.0'
bonus item 'item_rockets' fell out of level at '-1296.0 80.0 38.0'
bonus item 'item_rockets' fell out of level at '-1264.0 80.0 38.0'

The monster in wall warnings may not be critical in most cases (usually if placed too close to a wall or ceiling - have at least 4 units space between), but it's still a good idea to try to fix it.

Apart from that, it seems there are no difficulty settings whatsoever and a very large enemy count to the point where at least the entire upper (outside) part feels extremely overcrowded and unfair - and especially since most of them seem to wake up all at once.

I didn't play the map properly in light of the aforementioned issues, but my initial thought: I don't really like it when enemies spot you and attack the very moment the map starts, at least if it's without warning and they spawn close by. I would remove all monsters from the start room; maybe put them in the room to the left (partrolling maybe?). This would have the benefit of keeping them from opening the door to the right and making even more enemies wake up right away.
The population in the outside area should be thinned out somewhat, or made to wake up in waves (e.g. "ambush" spawnflag), or the ones on the battlements only appearing at a later point when the player has cleared the majority of enemies in the area (e.g. by having them move up from holes on top of the wall or teleporting in). As it stands, it's pretty messy and bullethell on top of being low on health and ammo at the start. 
Wasn't supposed to come across as bashing the map, just highlighting some things to improve for the next beta. 
I'm Having Problems With My Map (compiling). 
At first my map compiled with no lights at all and in the end it didn't compile at all.

I'm making it in JACK (I'm too used to Hammer and it's like Jackhammer) and compiling in TrenchBroom or Quark (because JACK fails to create .bsp file). TB can't launch the map and Quark gives me the error: «SubdivideFace: didn't split the polygon».

Could anyone, please, take a look at the map and say what's wrong with it?

Link to the .map file:

P.S. It's obviously not finished. BTW, placing buttons made it crash for some reason and triggers don't seem to work. Golden key changes position for some reason and other weird shit only here, only now.

P.P.S. Quark log:

5227 leaffaces 4806 nodefaces ************ ERROR ************ SubdivideFace: didn't split the polygon

!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-! Build failed, because it did not create the (+BSP) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.BSP Build failed, because it did not create the (+PRT) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.PRT

_________________________ GO ! (textures+build+Quake) _________________________

D:\Steam\SteamApps\common\Quake\tmpQuArK> "E:\Закуток Разраба\GoldSrc Games\J.A. C.K\quake\qbsp.exe" maps\

Quake BSP Compiler (build Oct 8 2015) ----------- qbsp ------------ qdir: D:\Steam\SteamApps\common\Quake\ gamedir: D:\Steam\SteamApps\common\Quake\tmpQuArK\ outputfile: maps\pipe_dream.bsp --- LoadMapFile --- maps\ 465 brushes 41 entities 48 miptex 233 texinfo building hulls sequentially... --- Brush_LoadEntity --- 445 brushes read ---- CSGFaces ---- 2845 brushfaces 7194 csgfaces 2277 mergedfaces ----- SolidBSP ----- 3247 split nodes 1546 solid leafs 1702 empty leafs 0 water leafs 6231 leaffaces 5777 nodefaces ----- portalize ---- ----- FillOutside ---- 806 outleafs ----- SolidBSP ----- 2480 split nodes 1309 solid leafs 1172 empty leafs 0 water leafs 5227 leaffaces 4806 nodefaces ************ ERROR ************ SubdivideFace: didn't split the polygon

!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-!!-! Build failed, because it did not create the (+BSP) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.BSP Build failed, because it did not create the (+PRT) file: D:\Steam\SteamApps\comm on\Quake\tmpQuArK.\maps\pipe_dream.PRT 
SubdivideFace: didn't split the polygon typically means that there's a face somewhere on which the texture is scaled too low for QBSP to handle. For example a small face/brush with a texture scale of less than 0.25, or something along these lines.

It seems you use the compilers that come with Quark. I don't even know what those are, but they're definitely outdated. Try some newer ones, e.g. these, and it should either take care of it right away or at least give you some indication of where the problem originates. 
1st thing I did is changed textures to default wall and checked scale, it's 1.0 for everything.

Quark uses the same compilers as JACK and TB. 
JACK log

** Executing...
** Command: Change Directory
** Parameters: D:/Steam/steamapps/common/Quake/pipe_dream

** Executing...
** Command: Copy File
** Source: D:\Steam\steamapps\common\Quake\pipe_dream\
** Destination: \

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/qbsp.exe
** Parameters: "\pipe_dream"
Quake BSP Compiler (build Oct 8 2015)
----------- qbsp ------------
************ ERROR ************
SetQdirFromPath: no 'maps' in \pipe_dream

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/vis.exe
** Parameters: "\pipe_dream"
Quake VIS Compiler (build Dec 11 2013)
------------ vis ------------
************ ERROR ************
Error opening \pipe_dream.bsp: No such file or directory

** Executing...
** Command: E:/Закуток Разраба/GoldSrc Games/J.A.C.K./quake/light.exe
** Parameters: "\pipe_dream"
Quake LIGHT Compiler (build Oct 6 2015)
----------- light -----------
************ ERROR ************
Error opening \pipe_dream.bsp: No such file or directory

** Executing...
** Command: Change Directory
** Parameters: D:/Steam/steamapps/common/Quake

** Executing...
** Command: D:/Steam/steamapps/common/Quake/quakespasm.exe
** Parameters: +map pipe_dream

for some reason it launches the old version, no lights. 
I will look at your map this evening after work. I can load it at work but I can't compile it without a lot of trouble. I'd suggest compiling with ericw tools and using Necro's compiling GUI. It will eliminate any issues that may be arising from switching between editors. Here is a PDF I created with step by step setup instructions on page 2.

I'm not sure if you've seen my TrenchBroom 2 tutorials but this pdf if is specific to the Quickstart tutorial. But it's shouldn't matter.

One thing is I am seeing you have wads in 2 locations on your system. I would move them to a common folder and re-link them in your editor of choice. Try to compile with ericw tools and Necro's GUI.

I'd also recommend you watch my Quickstart video as well. In it I recommend setting up a "dev" folder for Quake and show how to do it. 
it seems that some columns caused "integer" trouble. I deleted 'em. Nothing changed. 
@ Dumptruck_ds 
Oh, thank you for the step by step instruction. I'll try it as soon as possible. 
Common Compiling Errors 
I think if you take Negke's and my suggestion and ensure you use ericw's tools to compile you will be able to supply us with better information overall. Please try that and share the .log files that are generated. 
I found that some portion of errors was tied to the root folder name (сyrillic). After I changed it, EricW made me a .bsp. (Still no lights. And keys dissapear for some reason)

I adjust the archive with logs and .bsp.

It's a middle of a night here, so I'm signing off. Again, thanks for the quick answers, wasn't expecting this. 
Hey we're getting somewhere. I'm assuming ericw found some leaks. I loaded up the map in TB2 and the level in Quakespasm.

First off you want to run Quake with the +developer 1 command line option or type developer 1 in the console and then restart. Either way you will now see much more information in the console. You can dump the console to a txt file by typing condump in the console. Here are your missing keys and items:

Bonus item fell out of level at '1920.0 1856.0 230.0'
Bonus item fell out of level at '1700.0 1844.0 6.0'
Bonus item fell out of level at '2272.0 1952.0 222.0'
Bonus item fell out of level at '2132.0 2144.0 -186.0'
Bonus item fell out of level at '1684.0 2144.0 -186.0'

In TrenchBroom in the View menu select Camera > Move Camera to... and type in those coordinates above. You will then be "inside" the entity. In this case your keys and other items are too low to the ground or close to other items so they've fallen out of the level.

There are lights in your level. HOWEVER, you have a light key in the Worldspawn that is making the entire level lit at 200 regardless of your light entities. If you delete that key your lights will work.

The gold key up top I think is being pushed down into the world by the func_plat you are using.

The level is pretty nice. I hope you keep working on it. We're happy to help. 
Hey we're getting somewhere. I'm assuming ericw found some leaks. I loaded up the map in TB2 and the level in Quakespasm.

First off you want to run Quake with the +developer 1 command line option or type developer 1 in the console and then restart. Either way you will now see much more information in the console. You can dump the console to a txt file by typing condump in the console. Here are your missing keys and items:

Bonus item fell out of level at '1920.0 1856.0 230.0'
Bonus item fell out of level at '1700.0 1844.0 6.0'
Bonus item fell out of level at '2272.0 1952.0 222.0'
Bonus item fell out of level at '2132.0 2144.0 -186.0'
Bonus item fell out of level at '1684.0 2144.0 -186.0'

In TrenchBroom in the View menu select Camera > Move Camera to... and type in those coordinates above. You will then be "inside" the entity. In this case your keys and other items are too low to the ground or close to other items so they've fallen out of the level.

There are lights in your level. HOWEVER, you have a light key in the Worldspawn that is making the entire level lit at 200 regardless of your light entities. If you delete that key your lights will work.

The gold key up top I think is being pushed down into the world by the func_plat you are using.

The level is pretty nice. I hope you keep working on it. We're happy to help. 
The map works well on my end but I will keep in mind what you said.

I am still getting used to how Quake feels. I mean AD got me back into it (didn't even know Quake had a mapping community before that!) so I kinda designed my maps like I would design my Doom maps. I am still getting used to tougher individual enemies and the slower speed. 
Mission Accomplished 
Thanks for all your support, it works fine now! Some trouble with the key I so wanted to place under the moving platform, but otherwise – pretty smooth.

I love making levels, but rarely finish them :).

I was so used to leaks and light surfaces overload that I assumed that there's a trouble with the light by the default xD.

P.S. Now the map looks less embarassing :

P.P.S. I must say it's really increadible work you're doing for Quake community. It's hard to belive that the tools are still being made. 
Glad this is working now. I have faith in this level. You should finish it.

SleepwalkR and ericw are doing a great job developing TrenchBroom and keeping us all mapping after 21 years... amazing. 
Free Space Around Entities 
BTW, how much space should be left around items and monsters for them not to stuck / to appear?

Dogs in my level glued to the walls of their kennels (64x128x64) and some items don't respawn if placed too close to the walls or to the other items, but not always. Like, for example, armor and rockets goes fine together, but rockets and nails don't and niches are apparently very item-unfriendly.

This key, I was speeking about early, finally it got right where I want it, but it's like pure luck. 
All monsters are Shambler-sized in their collisions, to the best of my knowledge.

64 width, 64 height 88 tall -- says the engine source code. 
That can't be right, this fullbright box compiled just fine and didn't drop the enemy into the void with an enemy's hitbox- listed as 32x32x64 in Trenchbroom- a single unit away from the wall. Making it touch the wall still spawns it but it ends up stuck (an error is shown in the console when using developer 1), but even one unit is enough to leave it free to turn around and run. 
It might not be right. I don't work with the qbsp tools. There may be other factors in play than just what the engine says is the monster hull, which is hull->clip_mins: -32, -32, -24 to hull->clip_maxs: 32, 32, 64. 
There are two bounding box sizes: 32x32x56 and 64x64x88. There needs to be some space around and above them for the monsters to be able to move and not produce a warning (or for items not to fall out) - they must not touch a wall or ceiling, but they can be placed right on the ground. As Spud pointed out, a space as small as 1 unit can be enough. 
Quake Collisions And Placing Stuff 
Vertical, have at least 1 unit of space above the heights below. 2 is recommended. The origin(center point) can be put exactly on the floor, though for monsters it is best to put 1 or 2 units above the floor at least to avoid potential position rounding errors sticking them through the floor (should be rare in newer editors).

Horizontal have at least 2 units of space beyond the sizes below.

Items are an effective 62 units tall. Items are 32x32x56 tall and get moved 6 units up on level start so that they can be "dropped" straught down to instantly put them on the floor and also check to see if they are below the floor and thus "fell out of level".

Monsters have 2 different collision hulls regardless of the bounding box sizes shown in Hammer/Worldcraft or other which negke mentioned above. The bounding box size for monsters shown in the editor should be close. Most smaller or narrower enemies use 32x32x56 (hull1), the larger enemies such as shamblers and vores use the 64x64x88 (hull2) size.
Dogs are a little wierd in that they have same size collision as shamblers, BUT...

There is a 4th layer of collisions...the qc code can define any bounding size it wants for an enemy. The engine rounds this size to the hull closest to either of the 2 enemy sizes for all collisions except raytracing and bullets. The qc lets, for unstance, giant monsters such as the gug, vermis, or boglord, get shot more easily in a way that is believable rather than only having bullets affect it right in the center 64units. Also tiny monsters such as fish or spiders don't get hurt if you shoot the empty air above or below them even though there could be 20-30 units of collision hull above these smaller enemies, shooting the air doesn't hurt them.

That is why, even though enemies appear to fit in niches in the editor and make sense from where you can shoot them, the tiny enemies still all need 57 units of vertical space. You can cheat it visually by using func_illusionary so long as the player can't reach the niche. 
That explains a lot. 
Odd BBOX Sizes 
Also note that entities with bboxes will collide with each other according to their actual size, even though when colliding with BSP entities they snap to the two fixed sizes discussed above. Useful applications of this fact are left as an exercise... 
Possibly A Stupid Question But 
Do I need a different gbsp light and vis for Quake II or do the ones we use for q1 work? 
They're Different For Q2 
I think these are the most commonly used ones: 
Falling Through Part Of A Brush 
First up: swear I had the screenshots folder selected but oh well. I have had a quick look through mapping help re: nonsolid brushes but not finding this issue atm.
My brushes look like this in TB2 (view from above)
If i move past the vertical line here I fall through the brush (view from below)
I am using Ericw's latest tools. 
Not sure but you can try downgrading to a different version of the tools first just in case. 
Are the brushes a func_ of some sort? Or plain bsp. Workarounds: clip to split them up into diferent brushes, make new brushes from scratch, make another brush inside them that is 1 unit smaller all around...or to add a clip brush around them.

Check that they DO NOT have an origin key. 
This is an annoying one. Assuming these are worldspawn brushes, it's a qbsp bug, but usually it can be worked around. Try the command in TB to snap the selected selected brushes to integer. Try turning the selected brushes into func_detail (not a direct fix, but it will cause qbsp to chop that area of the map in a different order and might randomly fix the problem) 
Re: Non Solid Brush 
I'll have to give these suggestions a go but I'm half asleep atm. Will update when I do. Thanks 
Hey OGkspAz 
QBSP really doesn't like 45 degree angle world brushes and generally does stupid things when you want to use them to close a space.

In this instance why not make the platform a func_wall to remove it from QBSP completely - I mean the whole chunk selected in red in your first image.

This won't affect the structure or visuals and will shorten the build time by a few microseconds. It might make the red armour drop through to the bottom floor though (can't remember) if so then a small lump of normal geometry inside that platform will fix the problem without making QBSP pee on the carpet. 
Hi, I'm new to this forum.

I've been having some issues, running quakespasm with qompiler/ericw (+fgd) & j.a.c.k.

I have few questions :

1. Exporting bmp 256 color 128x128 pixels from photoshop, and importing (ctrl+e) in wally, exporting quake 1 wad (the texture appear to be right in wally, but totally wrong in j.a.c.k. like if the color were inverted, or dark).
When I compile the map and run the game, the texture appear to be right.

2. When launched qompiler.bat (after un-zipping the latest compatible version of ericw, which is "0.15.10", when I click 1, 2, 3 or 4 (for the different commands in the menu) nothing happen, but I hear a "beep" coming from the cmd window.

3. When I compil a map, quakespasm.exe keep being deleted from the quake folder, for no reason.
I've tried with both "Don't run the game" disabled and enabled (this is when using j.a.c.k. for compiling).

Many thanks and brush well ! 
Starting Something New Seems To Be The Hardest Thing. 
After 14 years making maps (in my case, mostly for Unreal), I seem to have run dry of new ideas. How do you guys come up with new layouts? Everything I try seems to go nowhere or be severely flawed (instead of severely flowed, eheh). 
1. I think what youre seeing is the difference in "gamma" between Wally, JACK, and your Quake engine. (What engine are you using?)

2. Do you have qompiler in the directory that holds the bin/doc folders for erics tools?

For your first use, youll need to make a configuration by following the on screen prompts and entering the options you wish to use. Reference the doc folder for the various options you can use in Erics tools.

3. Im not sure why qompiler would be kicking quakespasm.exe? Its only set to manipulate files directly related to the compilation process. You mention using "dont run game" which is an option in JACK during the compilation process. So perhaps we should start from step one and see if we can spot where things are going wrong.

For starters get your .map file and qompiler in a folder with the "bin" and "doc" folders from Erics tools.

Perhaps call it "Qompiler"

So the hierarchy would look like this:

.map files

Run Qompiler. If you dont have a config saved youll need to choose option 1 and follow the prompts. If you havent a clue what to enter here its likely you can skip entering ANYTHING and just hit enter through the various prompts Qompiler gives you.

You can reference the files in the doc folder for information on the various arguments you can pass to Erics tools.

If you didnt have erics tools, itd tell you. if you dont have any .maps..itd tell you.

When Qompiler is done running it puts your compiled maps into a folder named "maps" and moves all the source .maps into "qompiled" 
btw, i wrote Qompiler so feel free to ask questions specific to it. 
I've had this same issue a few times recently. The ideas aren't coming or I hate what I am attempting. One suggestion I'd make is play more levels you love and try to discover what it is you enjoy about them.

Another suggestion would be to try a jam. There was a Speedmapping Jam last week and there's a 100 brush jam going on right now that has a few weeks left. Working within limitations may be a good way to snap out of a creative rut. 
Thanks for the reply, and for Qompiler.

I was pressing [1], [2], [3] and [4] instead of [N], [L], [E] & [Q].

I still have random issues, but like usual when setting a new engine, a lot of hassles comes with it. Time to handle the tools.. 
Yes, I'll do that. I've played less and less as time went by, this is probably a reason I don't spontaneously have interesting ideas anymore, I need to get back into the game to get back into the right mindset.

I'm not a fan of contests, but I did one a few years back and it was a fun experience (size limite, make a map weighing 512 Kb or less), but my method when I'm on such tight time constraint is to shift through my folder of abandoned projecs and drafts and conflate a couple half-completed levels. 
Multiple Targets 
Probably has a simple workaround, but say I have a monster I want to target a trigger_counter for a door and a path_corner for a patrol. How do I do this? Only one target field in an entity. 
Have a continuous trap spikeshooter attacking a func_button wih health tucked away in a box far off where the player can't hear it.

Put a func_wall blocking the shooter.

Add a killtarget to your monster that kills the func_wall.

There might be a simpler info_notnull hack but I can't remember one atm. 
Holy Shit 
Are you serious? Over 20 years of Quake mapping and no simple workaround for more than one target? 
You Could Wait 200 Years 
but the id1 progs.dat isn't going to change.

If you include customs progs, then lots of them have supported target1, target2..... etc. 
Im Using Quoth 
I still know nothing of progs. Just figured out how to map with Quoth today so you can see how little I know of Quake mapping. How could I set up progs to add targets to entities? 
You Can Do It In Qouth 
Thanks. I thought Quoth would have something for it. Preach to the rescue as usual. 
Still A Little Confused 
Preach's article makes no mention of how to actually use the feature. Do you just add the key manually to the entity or what? I tried adding target2 to my monster to the path_corner but it doesn't work. 
path_corner is handled differently to usual targeting - try just using the default "target" field for the path_corner and the extended "target2" (etc) fields for things that trigger on monster death. 
That Does The Trick 
Thanks. Why or how are they handled differently? 
A target field can always trigger multiple entities that share the same targetname, right? I think the issue there is probably just with the path_corner... if it's not the first entity with that targetname that find() comes across, then the monster won't patrol.

I wonder if that particular multiple target situation would work even in id1 progs if you could guarantee that the path_corner was lower in the edict table. 
I posted that before refreshing to see the other two posts above.

More for sevin:

When a monster is first "initialized" in the QuakeC code (progs) that shipped with Quake, one of the things that happens is as follows. If it has a target specified, it looks for the first entity it finds that has that targetname. If the entity is a path_corner, it starts patrolling.

Later when a monster dies, if it has a target specified, it triggers any trigger-able entity that has that targetname.

So in the original Quake game code they didn't think about supporting the case where a monster is BOTH patrolling and is ALSO meant to trigger stuff on death.

It sounds like that in Quoth only the original "target"/"targetname" fields are used for that patrol behavior, but all of the new additional target/targetname fields can do other triggering stuff. 
When a monster is spawned, it checks to see if is a path_corner, or something else. If it's a path_corner, it makes the monster start walking straight away, otherwise the monster is told to just stand, which is also the default behaviour if it has no target.

I can only assume (without looking at the quoth QC code) that quoth only does the path_corner check for This sounds reasonable because you do not need to target multiple path_corners, so there's no need to overcomplicate things. target2, 3 and so on are thus assumed to be regular targets, not path_corners. 
I posted that without seeing Johhny Law's posts above 
two ships passing in the night ;) 
#19595-#19600 Re: Multiple Targets 
This can actually be done in vanilla id1, at least for the given scenario- no map hacks needed, just some prior knowledge of entity priority. No idea how it'd work with other entities being targeted, but enemies can be set to both patrol a path and activate a relay or counter on death by simply creating the path_corner first, then creating the relay with the same name. As long as the path_corner comes first in the entity list, the monster will follow the path, but still trigger the relay on death.

Basically, the enemy should target two entities with the same name- a path_corner and a trigger_relay placed in the map after the corner (so be careful if you're deleting or remaking things constantly). If the relay comes first, the enemy will still activate it on death but won't patrol to the path_corners. Here's a webm of an example map (ignore the "holy shit I figured out how to get custom conchars working" kludged HUD) and here's the .bsp and .map themselves. The left and center Grunts have the corner loading first, with the leftmost Grunt also having multiple path_corners (it takes a while for him to get there, though); the right Grunt has the relay first so he just stands there like a dork. All three function properly for the counter. 
Make That Three Ships 
Because I just got ninja'd something fierce, goddamn. 
and yeah, like Johnny Law says, it does appear that a "hack" is possible in id1 where it *would* work when both the path_corner and other targets share the same targetname, if you can guarantee the path_corner comes before all the others in the edict list.

On a related note, ever been killed by a monster who was not previously on a path, but then starts walking towards something after killing the player? That's a monster who had a target, which wasn't a path_corner. When his enemy dies, he starts walking towards this. It's a harmless bug, caused by the rather dumb way in which the "is target a path_corner?" check is performed when monster spawns. 
posted that without seeing Spud's post. I probably din't need to mention the id1 hack a third time :p 
So Many Ships In The Night 
Great info above, thank you all! To clarify, I figured that setting the first path_corner and the trigger_counter to the same targetname would allow them both work (thought I didn't know entity priority matters in this case), but I didn't want to do that. I like keeping my named entities descriptive of the entity and its relevance to other entities, so doing it another way would be better. 
And Another Thing 
Do func_doors trigger themselves at close proximity? I have a func_door set of bars with the GK spawn flag that cover another func_door. Finding the GK lowers the bars, but it also opens the door behind it. Why is this? They are not connected through I/O. I just want the bars to lower so I can walk into the door and have it open as normal. I've tried giving the actual door a targetname connected to a trigger_once that enables once you find the GK, but that didn't work. 
If the doors are physically touching each other, they'll act as linked doors, normally used for double doors that open sideways. Tick the Don't link spawnflag on both and test it again. 
Cool. Yeah it should have clicked with me that the beeping meant you were hitting a wrong key. My bad. :)

Yep just dig into the docs for the tools and youll start to piece things together. Qompilers cool for compiling multiple maps at a time, a bit overbearing for single maps but works all the same. Try getting comfy with JACKs compiling UI before relying on Qompiler. 
That Makes Sense 
But if I set Don't link on the left and right doors and the bars, the doors don't open when I walk up to them. The bars lower separately, but I can't go through the door. 
Does the center door (not the gold key one, the double doors you go through after?) have a targetname? If it does, get rid of it- a door with a name will only open upon being triggered (i.e. by a button), not by the player walking up to it. It's an easy mistake to assume that every entity needs a targetname, but as a general rule, unless it's specifically being targeted by something else and requires one, leave it blank.

A screenshot or .map upload might help too, sort of hard to visualize this in the brain without a reference point to what the door setup actually looks like. 
I Fixed It 
But I'm still curious. Just moved the bars away from the doors, which of course does the trick. Would still like to know what I'm doing wrong to make them work while they're still touching.

Here's the .map with the doors/bars touching and set to Don't link. 
Use "r_showbboxes 1" and you can visualize the trigger volume for your doors. 
Issues With Textures 
I'm having some issues with textures :
I tried with wally and texmex, it seems to come from j.a.c.k. (which is on default). I never had this problem with goldsrc/wad3 & hammer. Ideas ? 
looks like its missing the palette and using some greyscale thing instead. specifically the 'gfx/palette.lmp' file.

make sure that your editor's basedir+gamedir paths are correct (as well as just the wad+map paths). 
I've loaded the quake.pal from j.a.c.k. folder, still it doesn't work (I see white textures).
Would it be possible to bypass quake.pal and use wad3 instead ? (ericw/quakespasm)
Many thanks 
Use It As An External/replacement Texture? 
If I remember the screenshots correctly, since you are so off the "path" of a normal texture just use it as external/replacement. In the editor it will still look messed up but ingame it will be fine. 
Aha, I don't get it.
I tried to keep the install fresh & minimal.
Why do these things tend to get obscure ?
However I got it : the Base Game Directory wasn't set on the right folder (quake main folder, instead of id1).
Those "happy" victories remains me when I was learning how to configure worldcraft 1.1 in the year 2000' without internet connection, at the age of 10. I'm so happy the quake community exist! 
Can anybody give me examples of well thought out combat in long hallways? I'd like to learn how set up a good encounter. Are enemies too weak for open areas, apart from Vores or Shamblers who pose a real threat regardless of placement. 
czg's honey has some good examples of that. The whole map pack is really a masterclass in encounter design. 
Cool! I even played it one and a half years ago. 
I've been struggling with this. I think the key to using weaker enemies are the specific combinations you use.

Knights rushing the player in a swarm are actually dangerous working as a unit. Same with Scrags. The more the merrier.

Adding multiple grunts above and farther from the player to any encounter has worked for me as they chip away at the players health fairly quickly no matter what is going on near the player.

I'm no expert, but hope this helps. 
What I like to do is try and grenade either scrags or knights as those die one shot with a direct hit, it's a nice skill to practice.
Guess that trial and error is the key to encounter design. 
Getting A Model To Animate (Quoth) And Adding Skins. 
I've been making a few models using Blender for my latest map, and I have one of them animated now. Its just a prop with a few frames. There are no frame groups set up on it (I don't think this can be done in Blender) I want to make it animated in quoth using custom mapobject entity. Is there anyway to specify a series of frames without having frame groups set up.

Also I want to add a second skin to the model, and again it seems Blender only exports the mdl using the last active skin in the UVmap. Is there a simple way to do these things, or do you have to use python and qmdl? 
Cont'd From 19634 
To elaborate a little, I'm trying to get the butterfly model seen in this pic:

To animate like this:

I'm using the mapobject_custom entity which has a 'frame' key but I have no idea if there is support for multi frames or what the correct syntax is for listing them. I think it would animate automatically, but I don't have any framegroups set. 
Ok, so I've used qmdl and Preach's tutorial here:

and I finally got the model to animate in Quoth with custom_mapobject.

A huge mess was caused by the fact that Blender exports do not have a frame 0. I grouped the frames in qmdl from 0 to 10 and the model appeared as an ugly mass of pixels. This confused me because the same model animated from frames 0-10 in AD. I edited again in qmdl this time grouping frames 1-10 and the model now loads and animates perfectly in Quoth if you enter frame 1 as the start frame. What an exercise! 
In Blender 
Set the start frame to 0 and the end frame to 10 in the Timeline editor. If you leave it at the default 250, your model will be unnecessarily bloated. 
An Exercise In Frustration... 
Thnx @Qmaster. Yeah there are so many ridiculous little nuances to making a model for Quake and then getting it to animate. I really did not like having to install Python and enter commands into it with the qmdl plugin. It feels so detached an out of date with how you can just make a model and slap it into your unity games today. But thanks to Preach's tutorial I just did a monkey see monkey do approach and it works now.

I should go back in to blender and start the frames at 0 and export again to see if it works better that way, apparently Quake wants a 0 frame for some reason... 
Select Next Level, Screenshots 
I've run into two small problems with a new map:

1) In a multiplayer game after the timelimit expires the next map that gets selected is from the single player campaign. I want it to continue with my map though. In my previous maps (made with worldcraft) I somehow managed to set this somewhere but I can't figure out how with TrenchBroom.

2) I'd like to take screenshots in Quakespasm without the weapon visible but don't know how to go about that either.

Any ideas? 
1) You can place a trigger_changelevel somewhere outside the map and point it back and the same mapname. Though I think standard behavior is that a map without any changelevel trigger will always repeat (unless the server has some map list cycle set).

2) Console command r_drawviewmodel 0 
Thanks negke, I'll try that. I had this problem on a ProQuake server and my local Quakespasm, and only with my new map. Thanks again. 
Worked like a charm, thanks again, negke! 
Alright, the weapon model is gone too, but embarrasingly I still need to figure out, how to take the actual screenshot. Man, it's been a really long time... 
You Might Have Already Figured It Out But... 
F12 is the key for screenshot in Quakespasm. 
Thanks esrael. I posted a few shots in the terrafusion discord. 
Hello, there are textures with alpha channel on some maps, usually used for cobwebs and grass. How do they do it? 
Alpha Channel Answer 
Textures in a .wad file, whose name begins with { and use the garish pink color(255?) of the Quake palette will, in engines that support the feature, be rendered as "alpha". 
I Should Have Included This... 
These are called fence textures. You'll want a texture in your wad that begins with a bracket "{". Here's a wad with a couple of grates:

1. make a brush
2. make that brush a func illusionary
3. apply the skip texture to the whole brush
4. then apply the fence texture to just the faces that the player will see
5. use clip brushes to enable collision on the brush if needed. i.e. walking on a grate you would want this.

My map from jam 9 jam_dumptruck has an example. It's in the map source folder. The grates are near the info_player_start (map requires Quoth to play.)

Good luck! 
Since I'm so full of fail tonight a third, and final(?) post on this!

In editor create a brush, apply a "skip" texture to the whole brush then select a single face and apply your "alpha'd"(cobweb) texture.

Now, turn that brush into a func_detail_fence or a func_detail_illusionary(non-solid) and add a key/value pair of: _mirrorinside "1"

This requires you to use ericw's tools for it to compile correctly.

If you need any more specific help than what I have stated... ask away. 
Thanks to all. It's amazing how helpful this community is. 
Thanks to all. It's amazing how helpful this community is.

Does vanila Quake have grates/fences textures? I'm asking, 'cause I don't recall it to, and default wad has none. 
It does not, and vanilla Quake doesn't actually support alpha-masked geometry textures, only 2D elements (HUD and sprites)- one of the few if any objective steps backwards compared to Doom. 
Why they is black? How fixed it? 
It's in quakespasm.
In fitzquake normal light, but for this monster only.

I think because they stand on func_train. In the air, far from surfaces, the monsters are also black in both engines. 
They are lit by the point directly under them. Either add a light source on the ground below inside a black func_illusionary brush or possibly add _minlight to them. 
I have a brush of the sky that the floor is made of. I made the bottom surface with a different texture. It returned normal lighting 
Create A Func_illusionary Floor With Sky Texture 
About 16 thick and 16 above the floor with a normal texture. 
there is a TF channel 
I'm wondering if there is any way to set it so when a level is started, it plays a song from quake, I know there is a property for entities called "music" but i don't know what to use the property on if that is what you use for the music 
In Vanilla Quake Or A Mod? 
Also, i have the music files working in the normal game 
Add a sounds key to worldspawn with a number for the track you want.

sounds | 3 
I've been working on a death match map that has moving parts, I've noticed that for some reason, things aren't targeting properly. I have 2 moving doors that both use buttons, one of the doors has the targetname da1, with a button targeting it with the target da1, then I have a door with the targetname db2, and a button with the target db2, and what happens is one of the buttons doesn't open a single door, whilst the other button opens both! I need some help. 
This is a very common issue. By default, Quake groups doors which are close by into a single system. If you want to opt-out of this behaviour, you can add the DOOR_DONT_LINK spawnflag (3rd tickbox, numeric value 4) to each of the doors. 
I have another question, why do item_blank entities go through the floor sometimes? 
Bonus Content 
You might wonder why this door linking feature is included. It doesn't seem all that helpful at first, and often confuses mappers (even after they've encountered it before, it's easy to be caught out again!)

But door linking actually has good reasons for existing as well. I'm going to borrow a clear example from Dumptruck's tutorials on Trenchbroom. Take a quick look at theis gold key door setup.

Here, the bars are separated into two different entities, so that they can move in different directions. If they were not linked together, you would require two gold keys to get past, one to unlock the left-hand bars and another to unlock the right!

It's also worth noting that the way that both of the left hand bars are combined into a single entity is crucial to pulling this off. Door are linked if their bounding boxes overlap or touch. The bounding box extends between the left-hand bars, so that they intersect the right hand bar. If all three bars were separate entities, none of them would link, and you'd need three keys to open them all. 
Item Fall Out 
Avoid overlapped items.
Make sure they aren't sticking more than 6 units into the floor.
Make sure there is at least 56 units of vertical space.
Make sure you have at least 1 to 2 units of space on all sides, preferably 4 as a safe minimum.
If you are using JACK/Worldcraft, the fgd file may show the box in an incorrect visual object position relative to the actual origin (look for the X in the 2D views):
•In vanilla Quake, origin is in the bottom left corner
•In AD and other mods, custom items may use the center bottom of the visible item as the origin point instead.
Also, they might fall out if you place an item inside a solid brush such as a door. 
Minor Correction 
Origin in bottom left corner is for ammo and health boxes only; all else use center bottom. 
does anyone have entity definitions for the team fortress mod? 
or at least the entity names? 
come to our discord channel we can help you. ask in the #mapping channel. :) 
Where can I find the index number for enemies? I've been searching for information on how to make monsters attack other types. Is there a way to do this within worldcraft? I can't find the entity index online 
Type Edict In The Console In-game 
But entity edicts changes everytime you delete earlier enemies or items or doors etc. 
Contemporise Maaaaaaaaaannnnnnnnn... 
Sounds like, someone is living in the past

A) Why you use worldcraft? its 2018 now

B)Default 'Quake' has no method of making enemies attack each other. Look at the source code and new fields available in Arcane Dimensions... 
The spam here is utterly pathetic. Metslime is there any plans to modernize this place? 
And That Is Modernize? 
you are bit obsessed with modernizing, as it were better. 
you either just suggested google as a form of help or your in a position to easily be confused with a bot linking to google.

if the former, youre a prick. if the latter, your opinions on literally anything will be nullified by bots posting spam.

also, the place being more modern would remove your position of being confused with bots and having a worthless opinion as a result but :shrug: 
oh hai.

the fact that anyone can post anonymously, without logging in, is a bit silly.

if anon posting was disabled then i think that would remove a lot of the spam problems.

and anyone who is not a spammer who wants to post anonymously is just a malicious dick anyway. will we really miss those posts? 
Aw Dang 
And here I find myself wishing for the ability to see the IP address again just to see if all these anonymous users are the same guy trolling. 
Just Curious 
What is the reason for allowing anonyposting? Surely spam would drop to a tiny fraction of current levels if only account holders could post, right? 
I Could Guess Several ... 
- Allows people that want to post but don´t know if will be joining the community, which are usually lurkers which are usually double the number of registered users. If they begin to post easily it will be easier for them to finally join, and we don´t have a surplus of users here on Func, even less recently with the migration to Discord. The more ways to help with that the better.
- Allows to post even if forgetting the password or with account problems. I was in both situations myself.
- Allows for faster posting or posting without having to worry about the password being leaked for those of us that use many computers, with several being public. Have been in this situation some times.
- Allows to post on the work with less problems. I know there are several that do this.
- And the most important: why not? Also, and most important: most of the problem is about people being more hostile to anons that to registered users no matter if they say the same, and we are quite hostile already on certain topics. The problem is no big but its not uncommon to see overreacting when an anon appears.
- And there are many others, really. 
I only sort of half agree with your post but you do make some valid points.

Maybe a worthwhile change could be to just not allow the Name field to be blank. I can't think of a single reason why anyone wouldn't want to fill in the name field unless it's a shitpost. 
80% of the anon posting I'm seeing is anti-anon trying to make some point. Where is all this malicious troll shit posting? I must be reading the wrong threads. 
hi bob, you must be new here. 
This Sure Is Some Cool Mapping Help Guys 
(and yes I am aware of the irony) 
I thought that too, but passed on saying because what that would change is people filling it with anything to pass through that requirement.

I can't think of a single reason why anyone wouldn't want to fill in the name field unless it's a shitpost.

Fear of verbal reprisal or harrasing from the most vocal parts of the community when talking about certain topics that are considered taboo, or those considered holy by some fans. Or to summarize, cowardy. 
i think i can solve that. A random question, let's see ... if i turn a brush entity like a trigger into a point entity to avoid a limit, does it still keep the bbox? Does the player need to go to the point to trigger it?

By the way, the previous meessage was me. Forgot to put the nick. 
Mapping Help 2: Anon Conversation Boogaloo 
I was thinking about it from an anti-spam perspective. I'll concede that if blocking anon posting is not an option, then I'm all out of ideas of how spam and shitposting can be reduced. 
Mapping Help Probably Includes Entity Help. 
Entity Enemy Help. [EDIT]
Posted by kibbles on 2018/05/29 01:08:43
I've been searching for information on how to make monsters attack other types. Is there a way to do this within worldcraft? I can't find the entity index online

#1 posted by kibbles on 2018/05/29 01:10:46 spam
I tested smartedit adding enemy 6 to key and values to a monster enemy and placed all the monsters near it, he didn't attack
He Protec But He Also Attac
#2 posted by anonymous user on 2018/05/29 01:19:28 spam
Post in Mapping Help if you don't want a smac.
Need Help With Mapping?
#3 posted by anonymous user on 2018/05/29 01:23:35 spam
Get in line like everybody and ask in mapping help thread.

#4 posted by mankrip on 2018/05/29 03:04:44 spam
IIRC, in vanilla Quake the .enemy reference is cleared by the QC code during entity initialization. You need custom QC code. 
Make Enemies Atrack 
I had a thought just now...if you make a trigger hurt, and set the .owner field to the edict number of another monster, then drop a monster into the hurt trigger, and cleanup by killtargetting the hurt trigger soon after...runs off to double check T_Damage code. 
Make Enemies Atrack 
I had a thought just now...if you make a trigger hurt, and set the .owner field to the edict number of another monster, then drop a monster into the hurt trigger, and cleanup by killtargetting the hurt trigger soon after...runs off to double check T_Damage code. 
I know it is a bit of a creep, but I've been rumbing into the QTest file and I wondered if it would be possible to get access to the progs.dat.
As there is no progs.src the file bounces off as soon as I try decompiling it.

For what it is worth, I would like to play some SP maps in it, but there is no way to reach the bsp files as they all are in a different shape.

I know it's a silly question, but I just have that old fashion feeling how it would look like to add all given monsters in a usefull way.

Now it is just a stand-alone for DM with a rather broken way to use the entities. 
I use Quoth2 for my new map. How can I make a pendulum using info_rotate? 
qtest's .dat format is slightly different. from what I recall, the opcodes are mostly the same, it gains line number info, but it also lacks information about which variables are locals and which are not. if you were to adapt a qc decompiler, it would just end up treating all locals as globals. I don't think there'd be much else of an issue in tweaking a decompiler though.
however the bsp format is different too.

iirc, TimeServ made some tweaks to FTE years ago in order to run qtest's .dat paired with bsp29 maps. Whether that still works (and whether the map's entities have changed too) is a different matter. It doesn't support qtest's bsps (issues with surface triangulation), and I have no idea about the hud. Its also not software rendering. 
Thanks Spike! 
The qtest progs.dat is 312kb. I don't think there is a monster.qc included, as a small comparisment showed.

I took the first test1.bsp, which is "the place of the two deaths". In the original Id dm I placed some monsters, and then took both bsp files. With Texpath I could add the monsters to the test1.bsp file, but it immediately gave the "higher than 311kb buffer" warning.

So I think there is only info about weapons/ammu/health and deathmach players.

I tried decompaling with proqcc.exe -dec progs.dat but it ends up with "Error opening defs.qc".
No idea how to use FTE for decompiling.

@digs - Maybe not what you want, but here's the
doe pendulum qc. Maybe that helps, but it's not rotating. 
Thanks, but I do not want to use any additional scripts. I thought that this is possible in the limits of the chosen mod. It's a pity if this is impossible 
Do you want to add Qtest features into a mod? What does it have that you want?

Let me know where to download it and I can add it into Keep for you. Which reminds me. I never did add in some of your stuff. Would you mind if I did? No reason to leave a mod behind. 
It's certainly possible to create a pendulum using the rotating entities in Quoth, where are you getting stuck? 
I looked through the description of all the rotations, but did not find how I can do it. I do not even know where to start. I thought that you could force the door to open and close, but it only seems to open or just close. She can not return to the position in which she was 
All Aboard The Train 
You might want to look at using the func_rotate_train class as a controller, instead of the func_rotate_door. It's more complex but has the flexibility to do what you want. I'll see if I can put together an example map. 
@spy- thanks for the link, I'm registerd at but this has slipped off my attention.

@Qmaster- It was just my curiosity while playing Qtest1. I wondered why there were these monsters while they were not used. As I made a remake for the serpent, and a shield Ogre from the prequel screens, I thought it would be nice to make some Sp maps for it with the original monsters.

For what I seen in the q1test of Mega lol, he added the original quake monstes into the dm maps. My concern was to keep the authenticity of the original qtest, eventually added with a shield ogre. 
Hold Your Colour

Start by running pendtest.bsp in Quoth, observe the pendulum slicing. Notice how you can collide with the flat of the blade without taking damage, but it slices into you when you stand in the path of the rotation.

There's a lot going on to make this one object work, so follow this guide while looking through the map files in an editor to get an idea of how it works.

   External Models
The new idea (and the one that requires Quoth rather than plan Hipnotic) is to create the rotating entity as an external model, and then reference that model from the main map. This avoids the need to use an info_rotate entity (which historically made the rotating entity hard to texture and light correctly).

Take a look at the file first. You can see this just contains the brushes to make the physical, visible pendulum. Two things are important to note here
1) The brushes in this map are assigned to worldspawn, not part of an entity
2) The metal pivot at the top of the pendulum has been aligned exactly with the point '0 0 0' in the map. This point will be the centre of rotation for the object

Although I've been lazy in this test map and skipped lighting, another benefit of this file is that you can add lights to it. This lets you create lighting that looks reasonable at every angle the pendulum swings to.

The last thing to find out is how the external model is included after it's compiled. Open up in the editor. Normally, the brushes for a rotating object would be made into a "rotate_object" entity. In the case of an external model, we add a point entity to the main map with classname "rotate_object_point"; if you look at the example in pendtest, the key "model" "maps/pendulum.bsp" shows the format to specify the external model.

The Controller
Each rotating object in hipnotic requires a collaboration between a visible "rotate_object" entity, and a second entity which controls that visible entity. In this case, we are using a using a "func_rotate_train" to control. The targetname field on the visible entity links to the target field on the controller. The other keys we set on the controler are the noise it makes, the obituary text, and the damage it inflicts - 10hp is probably a bit low for such a huge chopper, but it is a test map.

The Paths
A rotating train needs a series of path entities which describe the sequence of rotations. For the back and forth rotation we want, only two "path_rotate" entities are needed. It's important to note that lots of different behaviours are possible at each step on the path, depending on the spawnflags used. In the example map the following are set: Angles & Stop rotate & Speed sets movetime

The first flag is the key to how our rotation works - we are stating that the waypoint specifies an angle for the object to face at the end of the movement (as opposed to setting a rate of rotation). "Speed sets movetime" is a bit of a convenience, it lets us say that the rotation must take 1 second directly, rather than having to calculate a speed of travel that makes the rotation look sensible. Stop rotate is cosmetic, it just adds a very short pause between each swing.

There's some subtlty to the angles chosen here: '410 0 0' and '-50 0 0'. The important thing to know is that after each step of the path completes, the angles of the object get normalised to the range 0-360. For example: after travelling to '-50 0 0', the angle is transformed to into '310 0 0', meaning that the object rotates forward to get to '410 0 0'. If we specified '50 0 0' instead of '410 0 0' the object would rotate the long way round, which is NOT what we want.

Finally, note that the path_rotate entities target each other to form a loop, while the "path" key of the func_rotate_train links it to the start of the path.

The Movewalls
The movewalls are needed to give the blade collision. All of them are given the same targetname as the original rotate_object, so they are moved by the controller in the same way. For demonstration purposes I've applied the "visible" spawnflag and an alpha value of 0.5 so that you can see what they're doing in the demonstration map. This spawnflag is very helpful for debugging, but in a final release can be turned off again.

There's also an argument to be had over the "damage on touch" spawnflag. On the one hand, I like the fact that you can touch the flat of the pendulum without taking damage, but on the other hand, you only get pushed if you get hit by the edge of the blade but aren't trapped by the walls on the other side. Perhaps just setting this flag on the end movewalls would be a good compromise. 
thank you very much for such a detailed answer. I am a little depressed that I will have to use an external bsp for my pendulum. I wanted to use only one file. I tried to replace the rotate_object_point with the rotate_object. But when I move the pendulum to a point other than zero, my pendulum starts to shake. But for rotate_object_point all works well. Probably have to use this method.

Thanks again 
All In One File 
The method doesn't RELY on the external model, it's just the simpler way of doing it. If you're set on having one file, you can refer back to the CZG tutorial, in particular the first paragraph. You need to make sure that you've included an info_rotate to mark the centre of rotation (instead of positioning it at '0 0 0'), and ensure that you've set the targets/targetnames up as CZG writes.

I have often though it would be useful if there was a way to take an external BSP model, and embed it into a BSP map, as if it had been a brush entity. Either compiler support for merging BSP models in when compiling the main map, or some kind of extra tool to run afterwards. If there was a BSP library for Python I'd have a go... 
I added info_rotate to the object and now it works well with rotate_object. Thank you! 
Help With Sound In Quake 1 Mapping 
I need help, I'm very new to mapping and was wondering, how to add sounds to my sky. You know that familiar sound of quake's sky. I use trenchbroom and tried to search on the internet, but couldn't find any info or tutorial on how to do it. Thank you guys in advance. 
I think you just need to run vis to get that? (make sure the map is sealed too) 
yeah run vis to get the automatic ambients for sky,water,slime,lava 
also more info on texture names & sounds here: 
Funny How This... 
stuff comes up when i am working on the exact tutorial that covers this info! 
Yeah I asked this on your latest video @dumptruck_ds, it's because of your videos I came to this site to begin with. Looking forward to more of your tutorials. And to everybody else, thanks for the info. 
Great news. Well this is the place to come for any Quake questions. I guess I need to do a more in-depth compiling tutorial soon. That would have helped. Welcome! 
hello everyone

In terms of performance, is it better to have several sky brushes or a single big bush? Let's say I have a wall with 3 windows; should I make three individual brushes with the sky texture or a single big brush with the sky texture behind the wall?

It makes absolutely no difference, type r_showtris 2 in the console in game to see how your brushes are turned into triangles. 
Alright, that's good to know. Thanks! 
Just started mapping for Quake 2 and I wanted to know if you guys recommend any command line tools for:

1) bsp, vis, rad. Right now I'm using qbism/q2tools-220
2) creating wad's from PCX?
3) creating font textures?
4) creating skies?

Also, is there any documentation for special Q2 textures like there is for Q1? 
Welcome. There aren't as many q2 mappers around these parts. A few. But don't take the silence personally.

Have you visited tastyspleen? 
Not Really Mapping Help...

Those images that look like they are from Deluxe Paint, the ones with the grid, where are they from?

I tried google image search and did not find anything. I reckon at some point Romero released some stuff like this, similar how he did with Doom.

Does anyone have a link to this?

Would be much appreciated. :) 
Ericw's Tools And _mirrorinside 
Here's a conundrum for anyone familiar with ericw's tools' extra options:

_mirrorinside (part of the extra options added by qbsp) causes any default brush entity to act as a sort of clip brush, which allows players and enemies to both see and shoot each other through it regardless of what faces are visible or textured with what, but can't be walked through. This applies to both stationary func_walls as well as func_doors (and I assume any other brush entity that acts similarly) and obviously illusionaries as well, which act normally (can be passed through). Any entity that requires being shot (i.e. buttons with health set) become inoperable due to all gunfire passing right through.

It's not listed in the readme anywhere that _mirrorinside should only be used on illusionaries and similar entities, and it does properly mirror the exterior to the interior of any brush entity, so I assumed all was good, but now I realize something's kind of fucky. Interestingly func_details are not affected by this- i.e. a func_detail_wall remains a solid wall that can be neither shot through nor walked through- which makes sense as so far as I can tell one of the main purposes of _mirrorinside is making truly flat fences and similar using a detail brush and making every side but the one you want skip, thus mirroring the one that's left. Just not sure if this is a bug or undocumented behavior, given _mirrorinside seems pretty experimental to begin with- can provide an example .bsp and .map if needed. 
Editing Md2 Model Headers 
Hi everyone, I'm trying my hand at Quake 2 modding and I was hoping someone here could help me out.

So far I'm trying to use Blender, I installed scripts for importing .md2 files but I'm struggling because the .pcx skins aren't supported by Blender... I converted them to .tga but I can't change the .md2 file's header to use the converted skin instead... :\

Any recommendations would be welcome. 
52 posts not shown on this page because they were spam
First | Previous | Next | Last
Post A Reply:
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.