Actors
Playerstarts, Placing Actors, and Moving ActorsBack to Adding | Up to Your First Level directory | Continue to BotPathing
Home | UT2004 Tutorials | Key Terms | Multiplayer DesignActors are the fundamentals of everything in the Unreal Universe that isn't already preset for you, like the gameplay. More specifically, they are objects that you place in your map which do things. Often, actors just sit there 'being,' as in the case of most brushes. Other times, actors provide specific information, such as an order for a bot to "jump from here to there." Sometimes actors have a visible effect, like elevators or emitters (actors which create effects like smoke, steam, and waterfalls). Regardless of what they do, actors are the Grandparent of everything else; they make up basically everything in your map. For reference, when I use the word "actor" from here on, it usually refers to placeable items (see below) not including basic brushes.
Actors are categorized using a Class System. This means that there is a hierarchy of classes, viewable in the Actor Browser, which is also called a Tree. By clicking on the little Plus sign next to a word in the actor browser, you're "expanding" it; the Plus sign will become a Minus sign, and a list of new actors will appear below the original. Clicking the new Minus sign will change it back to a Plus and hide the actors that you just made visible; this is called "contracting." The actor at the top of the list with the plus/minus sign next to it is called the Parent, and the actors which appear under it when the symbol is a minus sign are called Children. Children are also called subclasses, and the verb subclass means to create a new class which is the child of another. Children 'inherit' their parents' attributes, which is to say that everything about an actor which is set out in that actor's code gets passed on to its children/subclasses without having to rewrite that code. This means that subclasses are always more specific than their parents, and it allows for much more efficient programming. Also, actors that are "placeable"--actors which can be placed by a Level Designer into a map--will have an asterisk (*) next to their name. For another, perhaps clearer explanation, go to Key Terms and check out the entries on Actor, Parent, Child, Class, Expand, and Contract.
To select an actor, left-click once on it. To continue selecting more actors, hold [ctrl] and continue to left-click once on each actor which you wish to add to your selection. When you're done, release [ctrl]. Right-clicking on an actor automatically selects it, but also brings up a context menu; if you have an actor selected and you right-click another actor, the first selected actor will not be unselected. Another way to select actors is to right-click on one and click on Select from the context (pop-up) menu; there will be several options to "Select All" of the same kind of actor, all actors, and variations. Double-clicking on an actor brings up its Properties window, also accessible from the context menu. Selecting most actors will cause them to turn a greenish color, while selecting brushes will cause their wireframe to appear slightly thicker and with a more intense version of the original color.
To move an actor or actors, simply select it, hold down [ctrl] and [LMB] (LMB means 'left mouse button') and move the mouse in the direction you wish to move the actor. Note that this only works in the viewport that is currently active, usually a 2D viewport. To move actors (and, in fact, all objects) in the 3D view, the same combination will move actors along the X-axis, [ctrl] + [RMB] moves actors on the Y-axis, and [ctrl] with both mouse buttons moves actors along the Z-axis. Try it now with the RBB (Red Builder Brush).
To add actors, a subtracted space is required, so go ahead and subtract a cube (at least the default size of 256^3). In the new subtracted space in 3D view, right-click on the bottom surface and choose "Light" or "Add Light" from the context menu. You will see a lightbulb appear a little bit above where you right-clicked. Move the light into the center of the room on all 3 axes. You will have to use multiple viewports to accomplish this. Now, click the Build tab at the very top of the screen and choose Build All from the drop-down menu. (This step is called "Rebuilding," and must be done every time you wish to see the full effect of an action in UnrealEd and before you wish to test the map.) A window should pop up briefly (as your map gets more complicated, rebuilds start taking longer and longer...) and then you should see that your room, rather than being the generic washed-out ambient lighting, is now lit by the actor in the center of the room. You will learn more about lighting in a later chapter.
Now, place a playerstart in the room. Do this the same way you placed the light, using the right-click context menu. Place it in the center of the room.
Because I'm teaching a lesson, delete the playerstart (select it and press the [Delete] key). Open the Actor Browser (there's a button for it below build, and you can also access it from the Browse menu next to the Build menu at the top, but the Texture browser should open when you open UnrealEd and you can simply click on the Actors tab from there). Navigate down the class tree (the notation '>>' means to continue by opening the subclass of the previously mentioned actor and selecting the next option from the new list) and left-click once on Actor>>NavigationPoint>>Playerstart to select it. Now go back to the 3D viewport and right-click on the floor. You'll see a new option: 'Playerstart' is now at the top of the list! You can use this method to add any actor you want into your map: when you select an actor in the browser, it automatically places itself at the top of the context menu. Note that the option to add actors is only available when right-clicking on the surface of CSG brushes.
If your actor(s) haven't come up like you expected them to or if they've created themselves somewhere far away from where you intended them to be placed, you probably need to adjust the grid size. Right-click on the blank gray space in one of the 2D viewports, choose Grid from the context menu, and choose 8. Most mappers recommend not going below that grid size in order to minimize wacky BSP cuts, but working with larger gridsizes is fairly common when creating the CSG shell for a level because it's easier to align the brushes. It's necessary to switch to a lower grid size when placing actors, however, because they will only enter into a map on a grid vertex (though they can be moved to any location). Actors, once placed, don't have to be "on the grid," but it often helps for alignment purposes.
By the way, playerstarts could be considered the most important actors in UnrealEd. Their purpose is to designate the locations where players will spawn in a map; without them, there could be no play. There are several important considerations to remember when placing playerstarts: they should be close enough to a weapon that newly spawned players don't get "spawn-raped," or killed again before they can arm themselves, but far enough away from powerful weapons that they don't immediately dominate the game; they should not be in obvious locations for the same reason; there should be at least as many playerstarts as the maximum amount of players allowed in a map; and playerstarts should not be placed in remote locations away from the action (better, there shouldn't be any remote locations such as this). Playerstarts are also part of the Bot Network, which you'll learn about in the next lesson; bots automatically assume that playerstarts are reasonably safe locations, and they use them as waypoints.
If you haven't already, add a playerstart into your room. Rebuild and click the Play button (it looks like a joystick in the upper-right hand corner of the UEd window). You can now spawn in your map and run around in your little room. For variation, press tilde (~) or tab to bring down the main or mini-console, respectively, and type "addbots 1" without the quotes to add a bot into your map. He'll be pretty stupid and won't like to move away from the playerstart, but you'll learn how to remedy that in the next lesson.
It's worth noting at this point that in the Tools menu at the top (which has a lot of useful functions, by the way) there is something called Map Check which will check your map for errors. It will usually return the same errors that you get after rebuilding, but sometimes it returns useful information that you may not have otherwise noticed. You can visit this page if you don't know what one of your errors means.
Because I don't have a better place to add it, I'm going to point something out here: there is a Groups Browser that allows you to sort actors by a group name (you can add or remove items from a group at any time, and you can have an actor in multiple groups). You can also show and hide these groups. The controls are pretty self-explanatory. The best application of Groups is to hide them, and then instead of doing a full rebuild, choose "Build Visible Actors" in the Build Options. This greatly reduces the build time. Groups are also useful for hiding things like pathnodes and lights so you can work on certain features. To make better use of the "Build Visible Actors" feature, there is also a "Hide Selected Actors" button on the sidebar that looks like a closed eye. Pressing [CTRL]+[ALT]+[SHIFT] and left-click-and-dragging the mouse allows you to select all actors within the box that this allows you to draw (in 2D viewports only) which helps as well. There is also a Select option on the right-click context menu that allows selection of all similar actors.
Review
Actors make up nearly everything in the Unreal Universe.
Actors are categorized using the Class System.
The class system is like a tree, organized into descending levels of Parents and Children/Subclasses.
To select an actor, left-click on it. To select multiple actors, hold down [ctrl] and left-click on the desired actors.
Right-clicking on an actor brings up a useful context menu; double-clicking brings up the actor's Properties.
Move actors by holding [ctrl] + [LMB] and moving the mouse.
You can add any actor you want into a map by selecting it in the actor browser, right-clicking on a CSG surface, and choosing the "Add [selected actor]" option from the context menu. Sometimes you may have to adjust the grid size for this to work properly.
Playerstarts, logically enough, are the places where players spawn and respawn into a map.
-Place them at a reasonable distance from weapons and hotspots for fighting.
-Don't place them in obvious locations to prevent spawn-camping.
-Place at least as many playerstarts in a map as the Maximum Playercount lists.
-Don't place them in exposed locations.Rebuild to see the effects of an action on a map as well as before playtesting.
Using the Group Browser and the Hide Selected Actors tool allows for quicker rebuilds and uncluttered editing.
Top | Back to Adding | Up to Your First Level directory | Continue to BotPathing
Home | UT2004 Tutorials | Key Terms | Multiplayer Design