ef2-ubertools-gdk/Documentation/content/radiant_firstroom.html

351 lines
23 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ÜberTools Game Development Kit</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript">
/***********************************************
* Switch Menu script- by Martial B of http://getElementById.com/
* Modified by Dynamic Drive for format & NS4/IE4 compatibility
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
if (document.getElementById){ //DynamicDrive.com change
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}
function SwitchMenu(obj){
if(document.getElementById){
var el = document.getElementById(obj);
var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
if(el.style.display != "block"){ //DynamicDrive.com change
for (var i=0; i<ar.length; i++){
if (ar[i].className=="submenu") //DynamicDrive.com change
ar[i].style.display = "none";
}
el.style.display = "block";
}else{
el.style.display = "none";
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<a name="top"></a>
<table width="702" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3"><img src="../images/header.jpg" width="702" height="101" border="0"></td>
</tr>
<tr>
<td width=158 valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" class="menu">
<!-- Keep all menus within masterdiv-->
<div id="masterdiv">
<img src="../images/navigation.jpg" width="158" height="27"><br>
UberTools GDK
<div class="menutitle" onclick="SwitchMenu('sub0')">&raquo; Introduction &amp; Contents</div>
<span class="submenu" id="sub0">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#2">Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="../start.html#3">Source Files</a><br>
</span>
<br>Level Design<br>
<div class="menutitle" onclick="SwitchMenu('sub1')">&raquo; Setting Up UberRadiant</div>
<span class="submenu" id="sub1">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html">That Scary Error Msg</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#2">General Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#3">Display Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#4">User Interface Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#5">Keyboard Shortcuts Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#6">Colors Tab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_setup.html#7">Game / Paths Tab</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub2')">&raquo; Building Your First Room</div>
<span class="submenu" id="sub2">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html">Editor Interface Basics</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#2">Choosing Your Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#3">Building The Room</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#4">Adding a Light</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#5">Adding a Player Start</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#6">Compiling Your Level</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_firstroom.html#7">Viewing the Level</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub3')">&raquo; Constructing Terrain</div>
<span class="submenu" id="sub3">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html">Setting up the Tools</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#2">Creating Terrain</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#3">Modifying the Textures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="radiant_terrain.html#4">Adding More Terrain</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub4')">&raquo; Additional Reference</div>
<span class="submenu" id="sub4">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_lighting.html">Lighting System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="ldesign_terrain.html">Terrain Texture Blending</a><br>
</span>
<br>Scripting<br>
<div class="menutitle" onclick="SwitchMenu('sub5')">&raquo; Scripting Tutorials</div>
<span class="submenu" id="sub5">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_syntax.html">Scripting Syntax</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_waves.html">Spawning Waves</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_flying.html">Creating Flying Creatures</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_tripwires.html">Setting Up Tripwires</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub6')">&raquo; Global Script Synopsis</div>
<span class="submenu" id="sub6">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts.html">Introduction</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">global_accelerated</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_accelmove.html">Movement.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_archetype.html">global_archetype.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_array.html">global_array.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_cinefx.html">global_cinematicFX.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_common.html">global_common.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_debug.html">global_debugUtils.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_flyin.html">global_flyin.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_math.html">global_math.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_ploadout.html">global_playerLoadout.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_soundpan.html">global_soundPan.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_spawnwave.html">global_spawnWave.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_transport.html">global_Transport.scr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="scripting_globalscripts_tripwire.html">global_tripwire.scr</a><br>
</span>
<div class="menutitle" onclick="SwitchMenu('sub7')">&raquo; Classes Reference</div>
<span class="submenu" id="sub7">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_g.html">Game Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cl.html">Client Module</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="allclasses_cg.html">Client Game Module</a><br>
</span>
<br>Older Documentation<br>
<div class="menutitle" onclick="SwitchMenu('sub8')">&raquo; Heavy Metal FAKK2</div>
<span class="submenu" id="sub8">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_camera.html">Camera Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_clientsidecmds.html">Client Side Commands</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_gui.html">GUI Documentation</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_ingameutils.html">In-Game Utilities</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_max2skl.html">MAX2SKL Reference</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_shadermanual.html">Shader Manual</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_soundsystem.html">Sound System</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="fakk2_tiki.html">TIKI Model System</a><br>
</span>
<br>Other<br>
<div class="menutitle" onclick="SwitchMenu('sub9')">&raquo; Web Links &amp; Credits</div>
<span class="submenu" id="sub9">
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_links.html">Web Links</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="other_credits.html">Credits</a><br>
</span>
</div>
</td>
</tr>
</table></td>
<td width="13" background="../images/vert_line.jpg"><img src="../images/vert_line.jpg" width="13" height="1"></td>
<td valign="top" width="533"><p class="header"><br>
building your first room</p>
<p class="subheader"><a name="1"></a>1. Editor Interface Basics</p>
<p align="center"><img src="../images/tut02_editor_layout01.jpg" width="512" height="384" /></p>
<p>NOTE: Depending on how you setup your editor the above screenshot and
directions below may be somewhat different for you but still useful.</p>
<p>The &Uuml;berRadiant interface may look very complex but thankfully
you do not need to know very much before you can successfully build your
levels. Noticing the orange text, you will see that I have labeled four
different view ports and one bar of text field boxes with clickable arrows
and buttons.</p>
<p><strong><br>
2D Views</strong></p>
<p>Starting at the top, the <strong>Top View</strong> is the main view port
window you are likely to be working from. It is also the default view
the editor starts up with. You can see which view port you are currently
using by looking in the exact same spot the drop down menu is covering
in this screen shot, the upper left corner. In addition to the Top View
window, you can press<strong> CTRL-TAB</strong> to switch between <strong>Front
View</strong>, <strong>Side View</strong> and <strong>Top View</strong>.
</p>
<p>To the left of the main view port window is a slim view port that is
the <strong>Height View</strong>. This view is helpful if you want to
raise the side of a brush vertically or move any object in a vertical
only direction. </p>
<p><strong>To move within all 2D Views (Top, Front, Side or Height)</strong>:
Right click and drag will move in all directions. In the Height View if
you right-click and drag you will only move up or down.</p>
<p><strong>To zoom within all 2D Views</strong>: You can use the mouse wheel
or INSERT to zoom in and DELETE to zoom out. The Height View does not
have any zooming capability.</p>
<p><strong><br>
3D View</strong></p>
<p>On the right side of the editor you will find the <strong>3D View</strong>
port. This view represents a camera that you can use to fly through your
level. You control the camera with your mouse or arrow keys. </p>
<p><strong>Move forward or backward</strong>: Right click anywhere in the
view and drag your mouse forward or backward. Alternatively you can use
your forward and back arrow keys.</p>
<p><strong>Turn (pan) view left or right</strong>: Right click anywhere
in the view and move your mouse left or right. Alternatively you can use
your left and right arrow keys.</p>
<p><strong>To move vertically</strong>: Hold CTRL-Right click and drag UP
to move upward and drag DOWN to move downward. Alternatively you can press
'd' to move up and 'c' to move down.</p>
<p><strong>To look up or down</strong>: Hold SHIFT-Right click and drag
UP to look upward and drag DOWN to look downward. Alternatively you can
press 'a' to look up and 'z' to look down.</p>
<p><br>
<strong>Texture View</strong></p>
<p>The Texture view is where you can view all the textures being used for
your level or all the textures that are available to you. To view only
the textures currently being used press <strong>'u'</strong>. To turn
that of press 'u' again. When you are browsing through the Texture View
window you can <strong>use the mouse wheel</strong> to scroll up or down
as well as <strong>right-click dragging</strong> to scroll up or down.
Holding down SHIFT will speed up the scroll.</p>
<p><br>
<strong>Texture Manipulation Bar</strong></p>
<p>Finally, down at the bottom of UberRadiant you will find a bar of text
fields and buttons that are used to manipulate the textures you have applied
to a brush. Once you have a brush selected or faces of a brush selected
you can change the textures position and size.</p>
<p><strong>To alter the textures position</strong>: The Shift H: and V:
boxes that have arrows poining up/down can only be used when the text
box to the right has a number entered. This number relates to how many
units the texture should move when you press the arrow buttons. 8 units
is usually a good number to enter and then when you use the box to the
left of it by pushing the arrow buttons you will see the numbers increment
by 8 each time (0...8...16, etc). Alternatively, within the 3D view you
can hold ALT right-click and drag to move the texture.</p>
<p><strong>To alter the textures size</strong>: This works exactly as it
does for altering a textures position. A number of units must be entered
into the blank text box before the box with the arrow buttons can be used.</p>
<p><strong>To alter the textures rotation</strong>: This works exactly as
it does for altering a textures position and scale. A number of units
must be entered into the blank text box before the box with the arrow
buttons can be used. Alternatively, within the 3D view you can hold CTRL+ALT
right-click and drag up/down to rotate the texture.</p>
<p><strong>Fit, X Flip and Y Flip</strong>: These buttons allow you to fit
a texture to a face or flip the texture on the X or Y axis. Alternatively,
you can fit a texture to a brush or face by pressing CTRL+f.</p>
<p>The rest of the buttons relate to patches which are entirely different
beasts from brushes and are not covered in this tutorial. They are typically
used for more advanced geometry.</p>
<p class="subheader"><a name="2"></a>2. Choosing Your Textures</p>
<p>To begin making your first room, you will need to choose a texture set
to work with. For the purpose of this tutorial any one will do, select
one by navigating to the Textures menu at the top menu bar.</p>
<p>After choosing your texture set you may have to wait upwards to 15 seconds
for all the textures to load. Regardless of how long it takes you should
see that it's working by looking at the console msgs or the text in the
3d view window.</p>
<p class="subheader"><a name="3"></a>3. Building the Room</p>
<p>Now that you have your texture set loaded you can begin building your
level. First, press the number '4'. This will set your editor to use a
grid size of 8 units. In the 2D Top View left click and drag from anywhere
to anywhere. Your brush should be at least 256x256 units. You should see
a box outlined in RED. This box is known as a brush and can be manipulated
in many ways. To <strong>resize the brush</strong> left click outside
of any side you want to change and drag in the desired direction. To <strong>move
the brush</strong> left click anywhere inside of it and drag to your desired
location.</p>
<p>Once you have your first brush drawn out you can deselect it by hitting
the escape (Esc) key. To toggle selection of a single brush you can SHIFT+Left-click
on it in any of the views (2D or 3D).</p>
<p>With the brush selected, left-click on any texture you find in the texture
window that looks suitable for a floor texture.</p>
<p align="center"><img src="../images/tut02_room01.jpg" width="512" height="384" /></p>
<p> Next we are going to copy this floor brush and make it into the ceiling
for our room. With the floor brush selected, tap quickly the space bar.
If you hold down on the space bar you will end up with MANY copies of
your floor brush. After the copy, you should see another brush selected
in red above your old brush (which is now deselected). Move the new brush
exactly on top of the old one and then in the Height View, left click
inside of it to move it UP at least 128 units from the original brush.
</p>
<p align="center"><img src="../images/tut02_room02.jpg" width="512" height="384" /> </p>
<p> Feel free to find another texture to apply to the ceiling so it looks
different from the floor. Then, deselect the brush.</p>
<p>Next, switch to the Front View by pressing CTRL-TAB once. Now drag out
a new brush as you did for the floor. This time it will be used for one
of the four walls. Make sure the brush touches the floor and ceiling in
the Front View. </p>
<p align="center"><img src="../images/tut02_room03.jpg" width="512" height="384" /></p>
<p> Feel free to choose a new wall texture for it. Then, press spacebar
to copy it and move it to the other side of the room in the Front View.
</p>
<p align="center"><img src="../images/tut02_room04.jpg" width="512" height="384" /></p>
<p> Before we forget, lets save this room. Choose File &gt; Save As... and
give it a name, I chose room01. Hopefully, you set up your editor correctly
and the default directory is 'maps' under the 'base' directory. You could
create a sub-directory under maps if you choose to keep your maps seperate
from other user made levels.</p>
<p>Continuing with the task at hand, deselect the last brush you made for
the wall and CTRL-TAB twice to the Top View. Now, drag out a brush for
the north wall, shown below.</p>
<p align="center"><img src="../images/tut02_room05.jpg" width="512" height="384" /></p>
<p> To complete the room, press space bar to copy the north wall and move
to into position for the south wall as shown below. </p>
<p align="center"><img src="../images/tut02_room06.jpg" width="512" height="384" /></p>
<p> Again, now would be a good idea to save your level. </p>
<p class="subheader"><a name="4"></a>4. Adding a Light</p>
<p>Now we should add a light to the room to make it interesting for the
player (they can see what you built!). Lights have many different properties
to play with to get the desired effect, however I will only discuss how
to add a basic light to your level. </p>
<p>Deselect all brushes and while in the Top View, <strong>right click</strong>
in the center of your room to bring up the <strong>Entity list</strong>.
Choose <strong>'light'</strong> from the list. Next, CTRL-TAB to another
view and click inside the light entity to move it up towards the ceiling.</p>
<p class="subheader"><a name="5"></a>5. Adding a Player Start Location</p>
<p>The last thing we need for our level to work correctly is the player
start location. Deselect the light entity. CTRL-TAB to the Top View and
right-click anywhere inside the room. With your entity menu open, select
<strong>Info &gt; Player &gt; Start</strong>. Using the 2D views (Top,
Side, Front) position the player start where you want it. Make sure the
player start entity or ANY entity at all is completely inside your level
and not stuck inside a wall. Doing so may cause errors. The finished room
should look similar to the one below, except for the textures which were
totally up to you.</p>
<p align="center"><img src="../images/tut02_room07.jpg" width="512" height="384" /></p>
<p>Finally, save your map again.</p>
<p class="subheader"><a name="6"></a>6. Compiling Your Level</p>
<p>At the top menu bar, locate the <strong>Build Map menu</strong> and choose,
<strong>'Full Compile'</strong>. You will see new dos prompt window appear
with the status of your level compiling. Soon it should finish and you
will now have a levelname.bsp file in the directory where you saved your
levelname.map file. The .map file is what the editor builds and the compiler
creates the .bsp file so that the game can display your level.</p>
<p class="subheader"><a name="7"></a>7. Viewing the Level in the Game</p>
<p>Run your game as you normally would. At the main menu screen, press the
<strong>tilda key '~'</strong> to bring down the <strong>console</strong>.
Within the console, type <strong>'devmap mapname'</strong>. Using 'devmap'
allows you to enable cheats such as <strong>'noclip' or 'god'</strong>
mode. Noclip allows you to fly through walls and god makes you unable
to die.</p>
<p>This wraps up the tutorial on building your first room.</p>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan="3"><img src="../images/footer.jpg" width="702" height="36" border="0" usemap="#Map"><br>
<img src="../images/hor_line.jpg" width="702" height="1"></td>
</tr>
<tr>
<td colspan="3" class="legal"><table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td class="legal"> Copyright &copy;2003 Ritual Entertainment, Inc. All rights reserved.<br>
Please do not email Ritual Entertainment with questions about the
UberTools Game Development Kit. It is provided as is and is not supported by Ritual Entertainment.</td>
<td><a href="http://www.ritual.com/tech/overview.html" target="_blank"><img src="../images/uber_logo.jpg" width="43" height="56" hspace="4" border="0"></a></td>
<td><a href="http://www.ritual.com" target="_blank"><img src="../images/ritual_logo.jpg" width="100" height="56" hspace="4" border="0"></a></td>
</tr>
</table>
<p align="center">&nbsp;</p></td>
</tr>
</table>
<map name="Map">
<area shape="rect" coords="601,10,693,28" href="#top">
</map>
</body>
</html>