Quake 2: Maps


      Scope
      A tutorial for QOOLE 2.5 for Quake 2


      If you're reading this you need to already know how to group brushes in Qoole 2.5 and how to apply function in that group. Also you need to know how to edit texture properties for a selected face on a brush. With that in mind let's begin.

(If you are not a programmer ignore the next 2 paragraphs. If you are this is very helpful information)

      In the code of quake 2, in files like g_func.c, you'll see that when a brush with function in quake 2 is activated it checks first to see if the brush is a member of a chain. A chain is better known as a group. If it is a chain, the member of the chain react to the function relative to the first brush. Pretty much all map editors for Quake 2 call this chain a Group. Almost all moving brushes in Quake 2 are groups.

      In most map editors the editor pretends to be an IDE for a programming language. They have object and function viewers. This is usefull and not all at the same time. It hints that the brushes you are working with are programming objects. They are not. The only things in a level that even pretend to be their own unique objects are entities. Brushes however are not objects. In fact in the code they simply have properties. They only react to other peoples and the levels functions.

      O.k. so most of you skipped the last two paragraphs. Basically a group of brushes is a main brush followed by a chain of related brushes. This chain is kind of like a container. Everything in that group are affected exactly the same by anything you apply to them. If you apply a new texture it affects them all. If you try to move one they all move. However in QOOLE 2.5 you can very cleverly change which group your looking at.

      See the entire map is one giant group. Everything contained in the level is all in a giant supergroup pretty much named "level." If you focus on that group everything in the level will be selected and act accordingly. However QOOLE defaults to a scope right below the level. So instead of grouping all of the objects together you can manipulate them independantly. And anything your group below this level show up as a group.

      Now you have the option to change your scope. Next to the render and snap buttons on the tool bar are 2 buttons that look like an incomplete triangle. One is scope up and the other is scope down. Scope up takes you up one level and scope down takes you down one level. The game starts in a scope right below the level supergroup. If you scope up you will select the entire level because you will currently be looking at the scope of the level supergroup. You can also scope back down to the group below the level supergroup. If you are on the group right below the level supergroup and you have a group selected you can scope down again to manipulate what's inside that group.

A generic example of scope level if you were in a normal map with a group currently selected is:
ScopeNameDescription
1Level Super GroupEntire map selected. All actions affect all brushes in the map
2Normal scopeRight below the level super group. You can edit all brushes, entities and groups inside the level independently
3GroupThe brushes in the group you had selected can now be edited individually
4Sub-GroupAny groups contained inside of another group. Sub-Groups can be infinitly deep

      The purpose of groups and scopes is to add functionality to a map. All fans and rotating doors are groups. It's almost impossible to make a fan without needing to edit it later. Scoping down onto that group allows you to make those finishing touches, like adjusting texture properties, that are required for the look and feel of a map. The advantage of understanding scope as opposed to using an object viewer is that you can get a feel for how brush chians actually work. You'll have a better idea of what is going to happen when an action acts on a brush chain.