Configuring EFRadiant:
After the program finishes loading all of the
information from your game files it may need a .qe4 or .prj
file.
If you recive the
following when EFRadiant loads then you need to find your project file (.qe4
or .prj)
The picture below shows EFRadiant's menu.
The menu is where most of the non-building work will take place.
If a window entitled QERadiant
Preferences did not appear click on>E>dit in EFRadiant 's menu and select Preferences....
After you have selected your .qe4 .prj file from above you should see the following,
Since every computer is different your directories and settings may vary but should be in the range of those listed below.
Go up to File and select New Project, a window should pop up asking for text, type myproject in the field and press Enter.
Building Your First Room
Once you have finished setting up EFRadiant's configurations you should be able to start editing.
Hold Left Click-button and drag the red outline of a box around until you see something like in the picture below.
Press Escape to deselect the brush that you have just created.
Hold
Shift and left clickon that brush again to reselect...
Now press escape to deselect the brush and create another brush by dragging from one point to another and position it so that the above screen is the screen you see.
Applying textures to a brush : Select the brush (shift and use the left mouse) then click the textures in the texture box. If you don’t like the textures there in the scroll down box go up to textures and select another set of textures just like you did before.
Applying textures to a single brush surface : To select a single face (being what a surface of a brush is called) then apply the texture by clicking on one of the pictures in the bottom right window.
Adjusting textures to meet your needs is just as simple, select the face or brush you want to adjust and press ‘S’. A window should pop up and have a ton of mumbo jumbo in it, you just type in your changes and hit enter.
You (should of) just loaded the BORG textures, now select a brush you would like to cover in that texture by pressing shift and clicking the mouse button on whatever brush you wish to change and select the texture from the bottom.
You should now have a brush that is textured, wasn’t that fun?
NOTE: In the last release of this tutorial the picture shows the fog texture as being the one carved, since that was the non special fog texture it worked, However you must change the texture to something other than a special/shader texture when you CSG_Subtract it (you can change it back after your done!).
First, make a brush from the inside of one box into the other. Make it so that if you were to delete everything in that box you would have a nice looking hallway; make sure that it’s not inside the floor or the ceiling by adjusting its size in the grid views mentioned in Section 1 ‘Building your first room’.
Inside of the room is a little square selected brush poking out (should be the hallway brush we created between the rooms) which is connected to the other room in the same manner; Above the floor and poking inside just a bit.
Note we are not done with our hallway yet, we'll work on it a little later on.
Now it is time to make sure we can make things relative to the player’s size by inserting a little box that will be where the player first starts. This little box can be created by right mouse clicking once inside the main view. This should bring up a long menu of sort that has a lot of names in it. If your list is chopped off at the bottom and you can’t see all of it try increasing the resolution of your view through the windows settings tab in the display section of your control panel. If all else fails write me.
When you see the menu go down to info and wait for another menu to pop up, then select INFO_PLAYER_START at the bottom of the second menu. This should have spawned a box on your grid. This means that at that exact location is where the player should start. Make sure that the player box (the red thing you just made) is inside the player space look at it from all views possible to ensure this; make sure that he isn’t outside of your level or inside a brush. Just put him inside your happy little square room.
Press escape a few times to de-select any brushes or entities you may have selected. You know when items are selected because they have a white outline and they also should have a red tint to them.
Select the hallway brush we created earlier that is sticking out of the wall in both rooms. With the hallway brush selected go up to Selection in the top menu, down to CSG in the newly formed menu and select the ‘CSG Subtract’. This should of cut everything inside of the hallway’s brush.
CSG_Subtract:
CSG_Subtract is the method of
selecting a brush and deleting any other brush parts inside of it. In other
words it will delete part of (or all of) the other brushe(s) occupying the same
space depending on the space the selected brush occupys. This does not mean that
it works all the time, for some unknown reason green"> CSG_Subtract doesn't
always perform. However, this function will not inhibit you from developing a
level. It may slow you down in that you will have more work to do by manually
forming your walls around other objects.
CSG_Subtract TIPS:
1) Make sure you have one (or more) blocks selected, these are
the brushes
that will make holes in the larger unselected brushes that are to be cut.
In
other words: any brush you select will be the brush that will be cutting another
brush.
2) Sometimes the CSG_Subtract method works and it does it so
efficiently
that the computer doesn't choke for a second. Try moving
the selected brush
(the slicer) to discover if the
surrounding brushes have been modified. If
there is a hole where the
slicer was then CSG_Subtract has achived it's goal,
otherwies you
will need to reattempt it or manually perform the subtract.
Entities Intermediate
Below the information text box there are several check boxes, below that is a entity features box, below that are two text boxes that will input information into the entity features box above them.
As you can read in the information box there are several commands exclusive to the light entity, some of which are ‘light’, ‘scale’ and ‘radius’. To change these things from their default settings you must type new key and value data into the boxes. Click on the text box labeled Key to select it and type ‘light’.
Press TAB to select the text box below the Key box. This will allow you to type a number as to the brightness of the light, we should put in about 400 or 500 to make it brighter than usual but not to bright as to make everything a blinding ugly color. Your boxes should look just like the figure in Figure 2.2 shown below.
Figure 2.2
This shows the key text box being populated with light, and the value box being populated with the text 400 making your light 400 bright.
Press Enter in order to make these changes to the entity.
Now you should have an info_player_start, a light entity, and two boxes with a hole in each and a gap between the two. If you don’t have that or a variant of that you should make them now (refer to the preceding if you don’t know how)
Next make a wall that is three grid squares wide to match the gap, make sure that in the grid menu on the top of the screen the option snap to grid is selected. Do not hollow these walls out, they are walls not rooms. Make this wall fit in between the blocks as shown in Figure 2.3 below. You could make a hallway brush between the two rooms and then hollow it out and delete away the two unneeded walls but that would mean that you weren’t practicing creating walls.
The hollow out method is fine if your making a small level but because of the fact that in a room created by the hollow method the walls are all connecting in a manner that causes a bit of overlap. Overlap is where two brushes occupy the same space. Two brushes in the same part of the level decrease the speed of your level by a tiny bit per incident. That is why it is ok for a small map but if you are making a good mulitiplayer map you don’t want a million and one brushes all occupying the same space (more on this later).
Figure 2.3
As shown in the figure above there is one wall three units in length.
Make another brush in an XY view; this view is a top view, As it will help you with a ceiling for the hallway.
Make a brush.
The brush selected as being the ceiling, your map should look like a room (a little bit at least).
If you had a problem with the CSG Subtract before you should create a ceiling brush that totally covers the gap now present in your ceiling. In other words if you can see gray in your level from the inside of your rooms you should place a brush there in order to stop the view of the gray.
Now that you have created a ceiling you must make sure that it is at an appropriate altitude (Y), select your view into the 3-D view and note that there are two brushes in there. One brush is our attempt at a ceiling and the other brush is your wall. Select your wall that might be in the way and hit backspace to delete it regardless as to weather or not its in your way. Select your ceiling and then press the plus and or minus keys to raise and lower it so that there is a clean corner connecting your ceiling and your walls.
For your solo assignment you should finish your hallway and add a few more lights into the other room. If you are having trouble in this continue on to the next page in this section, however if you feel confident skip to the next section entitled "Save, Compile". If you need to quit then go to save and compile for saving information.
Newbies: I urge you to reconsider retreating from the brain expansion pain you have probably just endured, reading any manual/tutorial can be an utter hell if your in an uncomfortable position or an itchy rush. If your tired of this tutorial and don’t believe that you will recover then please write me commenting why, and I will revise my tutorial in a better way using your comments and supply you with some web sites that are posting other tutorials for EFRadiant. Don’t give up, you have come further than most.
How do you: Save your maps it's very simple which is why you can’t quit just yet otherwise all the work you did before would be lost. Click on the disk at the top of EFRadiant this should then pop up with a message box asking you what you want to save it as or if you have already told it the prefered file name you want it will not ask you; instead it will automatically save it for you..
If you are having trouble so far review the windows help in your windows /help directory you shouldn’t even be this far if you need help with the standard functions of Windows.
What does Save Selected do? Save selected saves whatever you have selected, nothing more. So if you have 2921 brushes on your map and have one of them selected when you hit save selected only one brush will be saved into the file.
What does Open do? Open is as basic as ‘Save’ as open opens an entire new map that you select from a location on your hard drive.
What does Load do? Load is a little different than open. For instance if you have you have a room on one map that you want to put in another map you would open one of the maps and load the other. Once you load a map you are copying all the brushes and entities onto your current map. If there are any brushes on your map and you select a map with three brushes you would then have the three brushes in your map with the four others.
Retrieving backups is really easy and yet complicated. In the even your EFRadiant crashes while your playing god backups should be regularly stored in the snapshots directory of your map directory. Stvef/baseef/maps/snapshots and there should be a few autosave.map files in there or a variant of that.
One thing you must have setup in order to do this is SourceSafe that is to my belief just an AutoSave plug-in, I could be wrong. Just load them up into EFRadiant using the Open option to see what they are.
This is how you set it up partially to save maps while your working on them.
In EFRadiant click on SourceSafe Configure. From there it’s pretty self explanatory but for the sake of newbies I have mine setup like this:
INI File: \\RAVEND\VSS\SRCSAFE.INI
Project Path: $/stvef/Baseef/Maps
SS – Checked (SourceSafe active)
BehavEd Path: c:\games\stvef\tools\BehavEd.exe
Of course you will need to modify this to meet your systems settings.
To run the map in the game elite force there are a few methods, one of the most common is the easiest and in my opinion the best way. Once in the game’s main screen or while in game play press the ‘`’ or ‘~’ key (they are the same key, right next to the 1 key). This will bring down a console (command prompt) from there type DIR MAP and press enter you will get a list of maps inside your map directory. You should then see a list of BSP files. Type ‘Map YourMapName.bsp’ without quotes and your computer should load your map.
Compiling
This tutorial I made is for EFRadiant
, not QERadiant (even though it works with both) . Though the
only real difference is the name you can get misunderstood easily in a
forum on this topic as some of their features do differ. Save your file by going
up to file and clicking on "Save As... ", this will prompt you with a
Save A s... prompt. You should save the map your working on in your
BASEEF/MAPS directory (if your using EFRadiant , otherwise save the file into
the BASEEF/MAPS directory). Once you have saved your file and returned to
the main EFRadiant/ QERadiant screen click on "BSP" (directly across from the
File menu)and go down to the "BSP_FULL" or "BSP -Light -Extra" depending
on the version of your editor. This should make a DOSwindow appear with a lot of
information in it. For now disregard that information and wait four
or five minutes (depending on map size) until it is done compiling your map
into another format for the actual game to read.
Brushes, as you may have noticed, are not always restricted to rectangular shapes. With advancements over the past few years you would see the progress as Duke Nukem 3D allowed slanted walls, Quake allowed brushes and ultimately nowadays there is rarely a 3D game that doesn’t allow curves and clips to be incorporated into a map. Most people don’t know what the point of making a curved surface is but look around the Quake 3 Arena levels, or look at the warp core on the engineering deck in Elite Force. There are tons of examples of how curved surfaces make games look much better. So you know what they are and where they are and why they are, but you just want to know how to make them…
Making circular brushes is rather easy simply make a brush or select one and using the menu above the views where it reads ‘file’, ‘edit’, … ‘curves’ and click on your choice. Example: Curves Cylinder. Very simple and the best way to find out what does what in the curves section is to try each and every one of the options so you know what does what first hand.
Clipping brushes is a tad bit more difficult, here you select a brush and press ‘x’. After that you click anywhere near (or far) from the brush and then press somewhere different (in the view of course) and it will show you what your brush will look like cut. That may not be where you want it so click and drag the numbers to where you want the brush to slice. Do not try to cut models or some curved brushes as in most current versions of EFRadiant will cause it to crash. Something my dad is constantly reminding me is to ‘save often’ because you can spare a few Megs rather than end up spending hours remaking a map that crashed without a backup.
There are some options that are featured up in the menu section of the application. Create a square brush and make it nice and perfect. With that brush selected go up to brush and select the first option ‘3 sided’. This should of changed your block into a triangle. Now select brush and go down to 4 sided and so on.
Those all go up to 9, now click on arbitrary sided and enter the number 16, this will make a circle that works. Unlike a curved surface it is not perfect but it is solid and you can let the player view it from any angle safely. This is a great option and very useful for those of you who want to make a circular room.
Don’t enter more than about 20 into the arbitary sided device or your efradiant WILL crash, but sometimes when I am board I like to crash so as an experiment enter 99 and watch your level crash. You might want to save first.
REGION (from the menu)
I have also learned about this as that it is more of a level design tool rather than making any difference in the actual game. This allows you to select a room and all of its object by clicking the region that it is. You first select a room and click region 1, then that makes it region one. Press escape deselecting everything you may have had selected. Now go up to region and select region 1, Region one should now be selected. It’s pretty simple but in complex maps I think you should be able to appreciate it.
MISC (from the menu)
Miscellaneous is a menu option that has a random assortment of useful tools. Benchmark when pressed tells you how long it takes to look at your map. A simple brush should take about .16 seconds a more complex map like the first level of StarTrek Voyager Elite Force will take about 6.92 seconds on my Pentium III 500, 5 Gig free HD, 128 MB SDRAM happy little military grade super computer.
The ‘COLORS’ and ‘THEMES’ (inside the misc menu) options allows you to select colors for EFRadiant and when I mention white squares and gray lines I am referring to the default colors. This tutorial will only reflect the default colors and you probably shouldn’t change yours as this document might get confusing if your using different colors and themes.
SELECTION (from the menu)
If you would like to flip and or rotate a brush select the brush and go up to ‘selection’ and go down to flip or rotate and select one of the options until your happy with what it does keep trying.
Setting the Playmode
Edit for Multiplayer or Single
player???
To select which one you are editing for go into your EFRadiant
directory and locate the two files SP_entities.def and
HM_entities.def. If you are going to make a single player map simplify
your life by renaming the HM_entities.def to HM_entities.bak, Likewise if
you are going to make a Holomatch map you should rename your SP_entities.def to
SP_entities.bak.
If you change your mind about the playmode rename you
files accordingly. Do NOT delete your def files, simply rename them
to another file type such as .bak.
Pendulum
Create a little block with the
origin texture on it and then create a block of any shape that you would like to
move. Select both brushes and convert them into a func_pendulum,
Press escape to deselect them, Now reaquire thier selection by holding the
shift key while clicking on either one of them, If they are now both
selected you can now compile and test your pendulum to meet your
standards. The important thing is that you select your origin brush and
the brush(es) that you want to move together.
Text in the game
In the game you can actually see what is
being said through text (captions) on the lower part of the screen. In
fact the ending of the level message is placed in a file called extra.pre that
sits in a directory named after your map. If you map's name is mymap.bsp
then the name of the file would be mymap.pre in the real_scripts/mymap
directory.
First make a text file and name it extra.txt
Open the text file
and the desired sound as shown below:
sound/mysound.mp3 "die janeway, die die die"
Rename the text file to a pre file (extra.pre) and when the
sound is used it will display the text "die janeway, die die die".
It is also
said that if you don't want any text for a sound you type the following
instead:
sound/mysound.mp3 NOTEXT
Simple as pie, and not one of those complex pies
either.
PK3 file guide
What are PK3 files? They are zip files,
yep that's right, compressed files that can be read by most compressors (IE
Winzip)
Not that winzip is the only decompressor out nor is it the
best, it's just the one I have. However what ever decompressor you choose it
must be able to recurse the directories.
The game requires that you have a
directory for you file types and one for you maps and ect... which are all
pretty obvious that sounds go into the sounds folder and pictures go into
textures.
If you are making a map that you would like to distribute
place your bsp file in a directory called maps and zip it up, rename it to a PK3
file and send it out (after you test it).
Put map files (bsp,
aas) in the maps directory
Put texture files (tga, jpg) in the texture
directory
Put sound files (mp3, wav) in the sound directory
Put scripts
(ibi, pre) files in the real_scripts directory
Put shaders
(shaders,txt) in the shader directory
Put desired level loading screen
in the levelshots directory (must have same first name as your map
mymap.jpg)
You may not need some of these directories, for instance:
If
you don't have any custom textures you wont need to create a Texture
directory.
Doors
Okay, the doors are an old rock band that put out
some good tunes but have since died out of the pop music list.
Func_Doors on
the other hand are very much a part of the hot list as they are responcible for
more than just doors, they can be use for lifts and such.
For the meantime I
will describe that it is best to have a door tied to a trigger_once (though it
will open as many times as the player walks in it)
There is an example in my
included map TOD1 in the vent system area but here are the basics:
Make a func>func_door and texture it with a pretty door
texture.
give it a "targetname = door1"
Now your done unless you want
the door to only open if the player is in a specific area.
If so then just
continue.
now make a trigger>trigger_once with a common>trigger
texture on it.
give it a "target = door1"
Next enter another trigger like the one above where ever
you want the player to be able to open it from the other side.
Elevators/Lifts
Create the
brush(es) are going to have as the lift with an elevator like
texture.
Make the elevator brush(es) a func>platform.
Make two trigger>multiple
brushes with the texture of common>trigger as thier complete and only texture
on them.
Put a path_corner entity where you want the elevator to lower to
and another path_corner where you want it to rise to.
Press esc to deselect
anything you might already have selected an
Select the top
path_corner then select the bottom path_corner entity and hold down
ctrl and the K key until you see a line drawn between them.
Now, select
the bottom path_corner entity and then select the top path_corner
entity and hold down the ctrl and the K key.
Select either one of those
path_corner entities and press N to bring up thier properties.
Key =
wait
Value = 3400
This means that the elevator will wait 3.4 seconds
before returning to its start place.
Select the
func_platform brush(es) select the path_corner that is farthest away from
it and hold down ctrl and the K key until a line is drawn between them.
Make sure that your elevator is
directly under or over the path_corner entity that it is going to other wise it
will slant (unless that is what you want it to do)
Teleporters
There are two main types of teleporters:
1) Seemless teleporters -- Player doesn't notice they are being
moved
2) The blue startrek transporter
beam-in effect
1) To make a player move without a blue fog around
them you must make a script file with behaveed
you can see
the included map files.
Basically you input the code affect "munro"
and set origin a ref_tag's name
Next you place a trigger_once and
a run script in you map where you want the player to transport from.
Connect
the two by clicking on the tirgger_once and then the spawnscript
and holding down the ctrl and K key,
then tell the runscript to
use your script.
2) To make a player move with the fancy shmancy startrek
transportation effect create a trigger_transport and point it to an
Info - notnull by
selecting the func_transport and notnull and holding ctrl and K until they are
connected. Bang you are done.
See the included examples.
END
Contacting the author:
This is version
01.03.2001 of this tutorial. Send Questions or comments to TICKNSWISTED@STNY.RR.COM.
That’s
the end of this tutorial in which I will soon update and expand as I become
masterful in whatever I decide to learn next about EFRadiant.
Notes from the Author:
I am seventeen and working on making
Tour Of Duty's Art, Movies, Story, Programming, while writing this tutorial and
going to school.
Obviously that takes up some of my time but I know that if a
handful of people learn from this tutorial then the community will flourish with
great mods,maps, and a wide array of awsome products.. My only goal
is to have people make what little play time I do have: interesting by making
cool interesting quality 'stuff'.
This tutorial is hardly finished,
infact I will probably be working on this thing when in my casket (let's hope
not).
Now don't go thinking I am even close to being a rocket
scientist 'cuz I ain't to bright in my school's view, then again I
don't think they're to bright either.
Other goals of mine include
learning another programming language other than Visual Basic 5.
I am working (little) on learning C++.
Legal Notes, Disclaimer, Other Information:
Windows 98/95/NT/ME, Internet Explorer, Microsoft Word and all related materials are property of Microsoft. EFRadiant, Elite Force and all related materials are property of Raven and or Activision. Quake, Quake II, Quake III, Q3Radiant and all other related materials are property of ID Software, Inc.. Pentium II/III are property of Intel.
This document is copyright 2001 by Eric Schafenberg. You may distribute this file by any means you deem fit provided that it is unmodified and provided that it is not being sold for a profit. You can include it on or distribute it by any media you like so long as you abide to the above mentioned.
Original version 10/19/2000 is the basic
loads of mistakes, crass language first version of this tutorial.
Delta
version 10/23/2000 has pictures and more information in the general
areas.
This version 01/3/2001 is a final release for the third version (next will be the fourth).