This FAQ is Authored and
Copyright © 2000 by: Jonah Bishop |
Section 1 - Information About Maps
Section 2 - Things You Should Know Before Starting
Section 4 - Making All The Effects
Ending the Level and Making Secret Areas
Sector Objects (Tanks, Turrets, etc.)
Section 5 - General Information
Section 6 - Utilities for Shadow Warrior
|
Copyright © 2000 by: Jonah Bishop |
|
Table of Contents | |
0.1 Who made all of this? My name is Jonah Bishop and I am the maintainer of both this FAQ and the Duke Nukem 3D Map Editing FAQ. I personally hope that this FAQ will help you to the fullest extent that it can, and I hope you have TONS of fun in making Shadow Warrior Levels. 0.2 How can I contact the author? Being a student brings the pressures of school and homework, and it unfortunately brings the fact that I don't have much time for answering tons of Build questions. If you do need to get in touch with me, however, just drop by Wangsdojo and enter into the Editing and Hacking public forum. Then leave me a message, with something such as "To Jonah Bishop" in the subject of the message. 0.3 What you should have gotten In addition to this file (MPFQSW15.TXT), the following files should have been included in the MPFQSW15.ZIP file:
In addition, the maps.zip file contains all of the tutorial maps used with the how-to's in this FAQ. The MAPS.ZIP file should have contained the following:
All file names above that appear in boldface type, indicate that they have either been added or updated since the last release of this FAQ. 0.4 Revision History --- Version 1.0 The FAQ is created. Everything is brand new. --- Version 1.1 8 new how-to's added, one how-to renamed for convenience. A few spelling errors corrected. --- Version 1.2 Added 7 new maps and 10 new how-to's. The palette list in section 5 was added, and the list of level names was updated with the filenames of the levels in the .GRP file. Did some revisions to the TAG listings in the how-to's, by changing the dash (-) in some places to an equals sign (=), to avoid confusion with negative values. Other minor revisions in the TAG listings as well. --- Version 1.3 Updated all URLs pointing to Map FAQ Central. Added 8 new how-to's to section 4. They cover Lighting Effects, fog and haze, miscellaneous, and more. --- Version 1.4 Updated the table of contents slightly. Removed section 0.3.1. Updated all sections (other than the how-to sections) to remove formatting problems (all text should now freely flow with word wrap and other features). Added 17 how-tos to section 4. Added the swsounds.txt file to the zip file. Several new example maps added as well. --- Version 1.5 Minor changes to reflect the web site change for this FAQ. This FAQ now resides at Wangsdojo. 0.5 Credits and Acknowledgements I would like to thank the following people for helping me with this version of the FAQ (in no particular order):
0.6 Where to get this FAQ A text version of this file can be downloaded from: 0.7 Printing Information Feel free to print this version of the FAQ if you like. The text version has some parameters that must be set to view the FAQ properly, so please read this section of the FAQ if you plan to print the text version. 0.8 The Online Version You're looking at it already, so this section shouldn't matter. :-P 0.9 This FAQ's Home This Map Editing FAQ has a new home (it is no longer at Map FAQ Central). The new home for this FAQ can be visited at: 0.10 Licensing Information The file "license.txt", which can be viewed by clicking here, outlines what you can and cannot do with this FAQ. There was some wrongful activity occurring in previous versions of the FAQ, in which the information provided in this FAQ was changed and redistributed. Please follow the guidelines set in this file, so that everyone can get an honest version of the Map Editing FAQ - Thanks! |
|
Table of Contents | |
1.1 What are maps? Maps are basically levels in the game. All the sprite information, wall information, tags, and everything else in a level is kept here (with the exception of a few things). With the Build program, you can make your own maps to distribute as you like. 1.2 What do I use to make my own map files? To make your own map files, you must use the program Build, which comes on the Shadow Warrior CD. 1.3 Can I make maps for other games with Build? The Build provided with Shadow Warrior can ONLY make maps for Shadow Warrior. Any other Build based computer game will not work with this Build, as the program has changed to allow for different tags, formats, etc. 1.4 What is so good about this version of Build? This version of Build is *much* better than the one that came with Duke Nukem, as well as any other game, as the game's engine has changed. This new Build engine used for Shadow Warrior allows for the following effects:
|
|
Table of Contents | |
2.1 Introduction Well, this is it. You're beginning your trek into the world of Shadow Warrior Build, and you're confident in your training from the world of Duke Nukem 3D. Well, here's the bad news: You have to *FORGET* everything that you learned in Duke Nukem 3D Build. Shadow Warrior is completely different, and it uses a very complex tagging system. Don't feel like you will not be able to do this: It will get *much* easier as you practice making the certain effects. Read this section before going anywhere else in the FAQ...it will answer some of the basic questions you may have. 2.2 2D and 3D Modes There are two modes in Shadow Warrior Build, and they are exactly like the two modes used in Duke Nukem 3D Build: 2D and 3D modes. 2D is the graph layout of your level, and it is where you add sprites, draw walls, and tag the different sprites used in the game. 3D mode is where you will choose textures for your level, set heights of objects, and more. To switch between the modes press the [ENTER] key on your numeric keypad. 2.3 Placing Sprites Placing sprites is an extremely easy thing to do. All you must do to add a sprite is press the [S] key in 2D mode, and at the place you wish to place the sprite. You can also press [S] in 3D mode, but the alignment is much easier in 2D mode...especially with the grid. 2.4 The Special Sprite Unlike DN3D, SW only has one sector effector sprite. This sprite is known as the ST1, and it can perform *TONS* of functions...in fact it performs almost *all* of the functions in the game. The tagging system used for this sprite is quite complex, so bear with me as I explain your new friend's language. 2.5 The Tagging System The tagging system used in SW is very complex, and it will involve a great deal of patience and practice on your part to perfect. There are many different tags used in the game, the descriptions of which are listed below. 2.5.1 The 15 Standard Tags Every sprite in SW comes equipped with 15 tags that enable you to change all kinds of things with the sprite. A tag is merely a variable that contains information regarding the sprite. To enter a value for a tag, point to the sprite, then press the QUOTE key plus the number of the tag. To access TAG11 through TAG15, press SHIFT+QUOTE+the number of the tag. Note that TAG1 and TAG2 are the hitag and lotag, respectively, and so can also be altered with the Alt-H and the Alt-T keys. The following is a list of the 15 tags, their function, and the range of values they can hold. We will go into more depth about each when we come across them in the how-tos. A few of the more important tags are described below this section.
2.5.2 The 11 BOOLEAN Flags A Boolean flag can hold only two possible values: 0 or 1. Every sprite in Shadow Warrior makes use of 11 Boolean flags. To enter a value for a Boolean flag, press the SEMICOLON key plus the number of the tag. To enter a value for BOOL11, press SHIFT, plus SEMICOLON, plus the "1" key. Again, we will cover these points when we come to them in the how-tos. A few of the BOOLEAN tags are described below, due to their importance in use. 2.5.3 TAG1 (The Hitag) The hitag used on a ST1 sprite tells the ST1 sprite what function to follow. A list of all of the ST1 hitags can be found in section 5 of this FAQ. 2.5.4 TAG2 (The Lotag) The lotag used on a ST1 sprite, is a completely random number chosen by you, the level designer. This lotag links the current ST1 to either another ST1 or some other sprite or sector, so that certain effects can take place. These are sometimes called "match tags". These are best described as matching the ST1's function to a trigger, such as a switch or a trigger sector. 2.5.5 TAG4 (The Angle) TAG4, as you can see from the list above, is a sprite's angle. By changing the TAG4 value of a sprite, you also change the angle it's facing. Be very cautious of this, because a great many ST1 functions rely on having an exact value in TAG4. If you use the ">" or "<" keys on that sprite, the value will shift by 128, which is probably a large enough change that the ST1 will no longer behave as you'd expect it to. In the case of ST1 134 (SOUND_SPOT), the game will probably quit to DOS with an error. Another pitfall to beware is rotating Right-Alt selected groups of sectors. Since all of the sprites within the selected group are rotated with the sectors when you do this, their TAG4 values will often become grossly incorrect. 2.5.6 BOOL1 If the BOOL1 flag is set to 1 on any sprite, Build will cause that individual sprite to behave as though it were an ST1 sprite. This is generally only used to create breakable sprites. 2.5.7 BOOL11 BOOL11 is a flag used by all sprites in the game, not just ST1s. If the BOOL11 flag on any sprite is set to 1, then that sprite will remain stationary rather than ride up and down on a vator. |
|
Table of Contents | |
3.1 Now that I have the editor, how do I use it? Build is a very powerful tool, but it is also quite complex. As you learn and get used to the commands, you will find that things become quite easy to understand, and in no time you will be Building your own very cool levels! To start Build, you first must make sure that you have either of the following choices: 1. You have a copy of Build in your main SW directory, you have extracted all of the art files from the .GRP, and you have all other necessary tools in the same directory as your game. 2. You have created a separate directory with a copy of the *ENTIRE* game in it. This will be your "Working" directory, so that, in the case of a mess-up, you do not corrupt your original game. The second option is *strongly* recommended, especially if you have the necessary disk space to place an extra copy of Shadow Warrior for working purposes. Type Build at the DOS prompt to enter the program! 3.2 Making your first level Before you begin making your level, you need to know a couple of obvious things. One is that your first level is going to be horrible. It is better to build up your experience before you post your level, so it is advised to wait until you make a level you feel should be posted. Another point is that you will not start out as a good builder. Unless you have a SERIOUS level making background with other games similar to this, you will not make a good level for a few months. The building process takes time, but it is worth it to be patient. Do not feel like this is going to be too hard. Building levels is EXTREMELY fun, and you can do some pretty neat stuff in the process. 3.2.1 Making a one-sector level To start our first level, start the program by typing Build at the command prompt. You will be placed into 2D mode once you enter. If it looks as if you are in the game, press the [ENTER] key on the KEYPAD. This is how you change editing modes. In 2D mode, you should see an arrow. This is your current position in the level, and it shows which direction you are currently pointing in. Press the [G] key to resize the grid. Press it a few times until you get to the largest grid size. We will now make a sector. Point the mouse at a vertex and press the [SPACEBAR]. This has started the editing process, placing a vertex at the grid location you pointed to. Move the mouse. You will see a line following the mouse cursor. This is a wall. Press the space bar on another grid location, and continue to do so until you have 3 sides. To close the object and stop drawing walls, move the cursor over the very first vertex you drew, and press [SPACEBAR]. The sector will be closed and you will have finished drawing. A cube or rectangle shape is ideal for starting out. Just follow the grid. You now can press the [ENTER] key on the numeric keypad to enter 3D mode. Your level is now started! The walls should look pretty boring right now, but we will change this quite soon. 3.2.2 Adding another sector to the level Go back into 2D mode and draw another sector, inside the one you just drew. If you enter the level now, there will be a solid wall blocking your way. We need to make this sector valid player space, so that we can walk into it. In 2D mode press [ALT]+[S] (read as: the alt key and the s key) on the sector (move the mouse over the inside sector and press the above keys). The sector should turn red. Go back into 3D mode and you will see that the sector that was blocking you has disappeared. It is still there, but you are now able to walk through it. In just a moment we will raise the ceiling height of this sector to make it a light. 3.2.3 Adding textures to the walls/floors/ceilings In 3D mode, press [V] on one of the walls, floors, or ceilings. The screen will show the tile that is currently in your level. Press [V] a second time to go to the tile selection screen. You now can use [PGUP], [PGDN], or the arrow keys to scroll through the tiles. Once you have selected the tile you want to use, press enter on it. The wall will have changed to that texture! You do the exact same procedure for floors and ceilings. If you want to use the same texture you just chose for one of the surfaces on another surface, just press [V] once, scroll over to the tile you chose, and press [ENTER]. When you press [V] once on a wall, floor, or ceiling tile it shows all the tiles you are currently using in your level, and you can choose directly from this. Now we will change what the texture looks like on the wall. 3.2.3.1 Panning the texture After you place the texture you want where you want, it might look as if the whole thing is not showing up. To "squish" the texture to your liking, you must use the 2,4,6,8 keys on the numeric keypad. If you press and hold down the 5 key in combination with one of the above, the texture will squish by a larger amount. You cannot "squish" floor textures and ceiling textures. To change between 2 sizes (small and large), press the [E] key on the floor or ceiling you wish to change. 3.2.3.2 Moving the texture If you do not wish to squish the texture, but you just want to move it (or you have squished the texture and want to move it) press and hold down the right [SHIFT] key and press 2,4,6,8 at the same time. The texture will shift instead of squish. 3.2.4 Adding sprites to the level Adding sprites is quite an easy process. Simply enter 2D mode, and press the [S] key on a grid location. A little circle with a tail and possibly some numbers will show up. The tail indicates the directions the sprite is facing, but it usually does not matter which way the sprite points (enter 3D mode to take a look at it. If it looks weird, just rotate it with the [,] and [.] keys). Press the [V] key on the sprite and choose a sprite just like you did to choose textures. Remember to press [V] twice to get to all of the tiles, unless the sprite you want to use is already in the level (which will put it on the first page). 3.2.4.1 Pasting sprites to the floor, ceiling, or wall To make a sprite look as if it is hanging from the wall or lying on the floor (or stuck to the ceiling), press the [R] key on the sprite. The first time you press it, the sprite will lie flat on the wall (according to the direction of the sprite). The second time you press [R] on the sprite, it will lie on the floor or the ceiling for that matter, which ever you choose. 3.2.5 Raising and Lowering the floor/ceiling Remember that sector we made a while ago that turned into red lines? Enter 3D mode and point at the ceiling. Press the [PGUP] key on the ceiling (roughly where the sector we made is), and the ceiling will raise up. To lower the ceiling press [PGDN] on it. The same can be done to floors. Make the inside sector a light and in a little while we will shade the sectors in the room. 3.2.6 Making a sky (Parallaxing) For our little level, press [V] on the ceiling and select one of the sky textures. After you have it selected, press the [P] key on the ceiling. The ceiling is now "parallaxed", making it look as if you are really in an outside area. 3.2.7 Making sloped surfaces Making sloped surfaces cuts down on the need for many "stair" sectors to get to a certain place (which hurts the framerate). To make a sloped surface, either go into 2D or 3D mode (2D is a little easier) and point at the wall of the sector that you want to be the sector's "first wall". This wall will be the wall that the sector rotates on (the "line of rotation" so to speak). Press [ALT]+[F] on the wall to make it your first wall. Now enter 3D mode and press the [ and ] keys on either the floor or ceiling (which ever you want to slant; you can do both at the same time). If the sector is not sloping the way you want it to, go back into 2D mode and select the proper wall, making it your "first wall". To set the floor or ceiling back to being level, just press the [/] key on it (this also restores most attributes about the floor or ceiling). 3.3 The Art of Shading Shading is the most important object for you to use in making your level! A level without shading is *very* boring, and it shows a lack of interest from the level designer. When used properly, shading can be what makes the level. I have personally played levels that use intense shading techniques, and I was very happy with the way that things turned out! It should be noted that shading is a *very* difficult thing to master, and you should spend a great deal of time on shading the level (besides choosing textures, shading is the most time consuming portion of level building). 3.3.1 Using shading in your level There are a few things that you must remember before learning to shade. Light travels in a STRAIGHT line! Also, opposite sides of a room will be shaded differently. For example: +XXXXXXXX+ I I I I +XXXXXXXX+ In this sample room, the walls made with X's would be slightly darker than the walls with I's (or vice versa...it's your choice). This allows the eye to clearly tell the brain where the corner of the room is. Try it if you don't understand. If two walls meet in a corner, and both are the same shade, you will have a much harder time figuring out where the corner of the room is. But if one of the walls is a little darker (five units darker is what I usually use), you will be able to see the corner much more clearly. 3.3.2 Basic shading techniques There are a few ways that you can shade objects in the level. All of these keystrokes must be made in 3D mode. [+] and [-] : Use the keys that appear on the keypad. This changes the shade by 1. ['] and [S] : Use this to enter a number to shade with. Just point at the object to shade, press these keys, and type in a number. The larger the number, the darker. 3.4 Checklist Here is a checklist of things that might be good to do before making your very first complex level. Before starting on your level: [ ] I am comfortable with the editor I am using Before Uploading your level: [ ] I have filled out a MAP authoring template |
|
Table of Contents | |
4.1 Introduction Welcome to the hard stuff! In this section, we will explore the many effects and cool things that we can do with the SW Build engine. The following effects in this section will take some time to master, but they *can* be done (or they wouldn't be in the game, now would they?). All you need for this section is a little bit of time, and some patience as well. And you'll be Building your SW levels in no time! |
|
Table of Contents | |
4.2 Regular, DOOM Type Doors Map Name : REGDOOR.MAP This type of door structure is extremely easy to make, and it will be the most commonly used door in the entire level-making process (on average that is). Just follow these simple instructions and you're on your way! STEP 1: Make your door sector. It should look like this: __ __ __ : : : : : : : : : : : : : C: A: B: : : : : : : : : :__:__:__: Sector A is the door itself, and sectors B and C are the "door frame" sectors. Choose the appropriate textures. LEAVE THE DOOR SECTOR AT THE CEILING...I.E. - DO NOT LOWER IT TO THE FLOOR! STEP 2: Place an ST1 sprite in the door sector. Give the sprite a hitag of 92, and a unique lotag. Give TAG4 a value other than 0 (I think it has to be something other than 0...I'm not sure about this though). This will determine the speed of the door. STEP 3: Enter 3D mode and press the [F] key on the ST1 sprite twice. This flips the sprite over, and tells the ST1 to use the function on the ceiling, not the floor. STEP 4: Give the ST1 sprite a BOOL1 Flag value of 1. This places the ST1 in the "ON" position, so that it is closed during at the start of the game. STEP 5: For sound effects, place another ST1 sprite in the door sector (or near the sector) and give it a TAG1 of 134, a TAG2 with the exact same value of the other ST1's TAG2 value, and give TAG4 the same number as the sound you want to play (check out the SWSOUNDS.TXT for a list of all the sounds and their tags). OPTIONAL STEPS STEP 6: Give the ST1 sprite a BOOL3 Flag of 1. This keeps the door from crushing the player. STEP 7: Give the ST1 sprite a BOOL6 Flag value of 1. This keeps the player from operating the door while the door is in motion. STEP 8: Give the ST1 sprite a BOOL7 Flag value of 1. This allows other actors to operate the door. Take a look at SPRITAGS.TXT for a complete list of all of the tags available for this function (it's number 92). 4.3 Swinging Doors Map Name: SWNGDOOR.MAP I AM ASSUMING YOU HAVE MADE A SWINGING DOOR IN ANOTHER BUILD BASED GAME, SUCH AS DUKE NUKEM 3D. I AM *NOT* EXPLAINING HOW TO MAKE THE DOOR ITSELF HERE, BUT AM RELAYING THE NECESSARY TAGS THAT ARE REQUIRED TO MAKE THIS TYPE OF DOOR. Throughout this how-to, I will be assuming that you are making *TWO* doors, one above the other (with respect to 2D mode...one door is "north" of the other). STEP 1: Make your swinging doors using the standard BUILDing procedure. If you have no idea how to make these sectors, check out the EXAMPLE.MAP that comes with the BUILD program, and look at column E row A. It's kinda hard at first, but you'll figure it out. Or you can take a look at SWNGDOOR.MAP. STEP 2: Place an ST1 sprite in each door sector. The upper door ST1 should have the following tags:
STEP 3: The lower door should be given these tags:
STEP 4: Place two ST1 sprites at the place in the door sector where you want the door to PIVOT (this is usually extremely close to the corner of the door itself). Give each one the following tags:
STEP 5: For sound effects, place a ST1 Sprite near the swinging doors, and give it the following tags:
4.4 Sliding Doors Map Name: SLIDOOR.MAP The construction process for this effect is easy, but quite difficult to explain using words. Take a look at SLIDOOR.MAP to see how it was constructed (there is a step by step in the map itself). Here are the tags that can be put on the ST1 sprite that should be in the doorway:
4.5 Locked Doors Map Name: LOCKDOOR.MAP This is a very simple effect to make, so follow along. STEP 1: Make the door you wish to lock. STEP 2: Place one ST1 sprite in the door sector, and give it the following tags:
STEP 3: Place a door lock sprite on both sides of the door (somewhere near the door on the wall). You don't need to have two locks, but it is convenient for opening the door from both sides. Give both the following tags:
STEP 4: Place the correct color key somewhere in the level. This is important, because the right color key is needed to open the door. YOU DO NOT NEED TO CHANGE THE PALETTE OF THE LOCK...THIS IS AUTOMATICALLY DONE BY THE BUILD PROGRAM. |
|
Table of Contents | |
4.6 Sinkable Water Map Name: SINKWATR.MAP This effect allows the player to "sink" into the water sector, making the impression that the player is actually in water. To make this work, following the few steps provided. STEP 1: Make your water sector. Texture it anyway you want (water tile on the floor of the sector). STEP 2: Place a ST1 sprite in your sector and give it the following tags:
4.7 Diving Water Map Name: WATER.MAP This effect allows the player to travel under the water, just as in Duke Nukem 3D. This effect is quite easy to make as well. STEP 1: Make your above water sector. Give it the appropriate textures. STEP 2: Make your underwater sector. IT SHOULD BE THE EXACT SAME SHAPE AND SIZE AS THE ABOVE WATER SECTOR! Give it the appropriate textures (the water texture should be on the ceiling this time). STEP 3: Place one ST1 sprite in BOTH the above and below water sectors. THEY SHOULD BE IN THE EXACT SAME PLACE IN BOTH THE ABOVE AND BELOW WATER SECTORS! Give the ST1 in the ABOVE water sector the following tags:
Give the ST1 in the BELOW water sector the following tags:
STEP 4: Place one ST1 sprite in the above water sector. Give it the following tags:
STEP 5: YOU'RE DONE! See WATER.MAP if you do not understand. 4.8 Multi-Sector Diving Water Map Name: CPLXWATR.MAP This effect allows there to be multiple sectors in the underwater sector, while there is only one above water sector. You can use this effect to make all kinds of things underwater (boxes, ships, etc.), WITHOUT having to make the EXACT same sectors above water. STEP 1: Make your two water sectors (see section 4.5 on how to do this). STEP 2: Make the sectors you wish to have in the underwater sector. I made a rectangular sector in my level for a box. STEP 3: Place one ST1 sprite anywhere in the sectors you have added underwater and give it the following tags:
4.9 Water Currents Map Name: WCURRENT.MAP This effect makes a current in a water sector, so that when the player enters the sector, he is taken with the flow of the water automatically. STEP 1: Make your water sector to be affected. STEP 2: Put one ST1 sprite in the sector and give it the following tags:
STEP 3: Put another ST1 sprite in this sector. Point the sprite in the direction you wish the player to travel. Give it the following tags:
4.10 The Drip Generator Map Name: DRIP.MAP This effect causes a drop of water to fall from the ceiling of the sector to the water below, and it also makes a sound. STEP 1: Make the water sector to be affected. STEP 2: Put one ST1 sprite in the sector and give it the following tags:
STEP 3: Raise the ST1 sprite all the way to the ceiling (if you are making drops that is). 4.11 Making Waves Map Name: WAVES.MAP This effect allows you to create waves in water. The waves can be very smooth, or can be very blocky (see WAVES.MAP to see what I mean). STEP 1: Make several FOUR SIDED sectors (all are valid player space), and give them the appropriate textures. STEP 2: Give each sector a SECTOR LOTAG. The tags should increment by 1, so the first sector lotag would be 400 (for example), the next would be 401, and so on. The sector lotags should correspond to the following information: For waves on the floor: USE SECTOR LOTAGS 400-419 For waves on the ceiling : USE SECTOR LOTAGS 420-439 For waves on both floor and ceiling: USE SECTOR LOTAGS 440-459 NOTE: You can only have 5 sets of waves in any one map. You do *NOT* have to use all the tags in one set, so don't feel like you have to have 20 sectors for waves (your tags may only go up to 405 or 406). Look at WAVES.MAP if you don't understand, or if you want to learn how to make a current and sinkable set of waves. Very easy stuff. 4.12 Making Lava Eruptions Map Name: LAVABALL.MAP This effect allows you to create eruptions that spew either lava balls, or small bits of lava itself. STEP 1: Make the sectors that will have something erupt from them. Give the sectors appropriate textures. STEP 2: Place ST1 sprites in each sector where you want lava to erupt from. Give the ST1 sprites the following tags:
STEP 3: If you gave the ST1 sprites a BOOL1 tag of 1, you need to place an ST1 sprite in all of the sectors that you want the player to be in to cause an eruption (i.e. - this works like a "touchplate"). Give these sprites the following tags:
|
|
Table of Contents | |
4.13 Parallaxing Skies Map Name: PARALLAX.MAP Parallaxed skies are done quite differently from Duke Nukem 3D. This is really easy to. STEP 1: Place the texture you want to parallax on the ceiling of the sector you want to have the parallaxed sky in. Press the [P] key on the ceiling in 3D mode to parallax the sky. It may look weird at first, but it *will* look correct in the game. STEP 2: Place one ST1 sprite in ANY parallaxed sector. YOU ONLY NEED TO HAVE ONE OF THESE SPRITES IN A PARALLAXED SECTOR SOMEWHERE IN THE LEVEL, BUT YOU DO NEED TO HAVE IT! Give it the following tags:
These values are the xrepeat of the sky texture. STEP 3: Make sure you only have one of the above sprites, or the sky may behave strangely. 4.14 Making Textures Move Map Name: TEXPAN.MAP This effect allows you to make the textures on either a wall, floor, or ceiling move, which in turn can create some neat effects. FOR FLOORS AND CEILINGS... STEP 1: Make the sectors that you wish to affect. Place one ST1 sprite in the sector, and give it the following tags:
FOR WALLS... STEP 1: Make the wall that you wish to affect. Place one ST1 sprite *NEAR* the wall to affect (not on the wall itself), and make sure that the sprite is pointing at the wall to affect. Give it the following tags:
|
|
Table of Contents | |
4.15 Stacked Sectors Map Name: STACKED.MAP This effect is most definitely one of the coolest effects in the entire game itself. Stacked sectors are the technical term for "True Level over level", and it allows you to make some cool looking areas. This effect is a little challenging to make at first, but it's not too hard. Throughout this how-to, I will be assuming that the player will come to this "level over level" area from the top floor; i.e. - the player will look down to the floor below. See STACKED.MAP to understand what I am talking about (the player starts on the 2nd floor). STEP 1: Make the upper level of the "level over level area". Make sure that you have a valid player space sector somewhere in this upper level, a place where the player can drop down to the lower level when in the game. Lower this sector's floor to wherever you like it (you don't even have to lower it if you do not wish to do so), and change the floor texture of this sector to texture #341. This is the "Floor Mirror" texture, and it is needed to make the effect work properly. STEP 2: Make the lower level of the "level over level area". Again, make sure that you have a valid player space sector somewhere in this lower level. THIS SECTOR SHOULD BE THE EXACT SAME SIZE AND SHAPE AS THE VALID PLAYER SPACE SECTOR MADE IN STEP 1. Change the ceiling texture of this sector to texture #341. Raise the ceiling to where you want it to be. STEP 3: Level 1 and level 2 must be constructed with proper Z heights, because Shadow Warrior won't do it for you. By this I mean that the floor of level 2 must actually be higher than the ceiling of level 1. The difference between the two is called the "overlap." At least some overlap is necessary for room over room to behave correctly. To build overlap correctly, follow these guidelines: 1: The height of the floor mirror (on the ceiling) in level 1 must be the exact same as the height of the -floor- (not the floor mirror) in level 2. 2: The height of the floor mirror in level 2 must be the same as the height of the -ceiling- (not the floor mirror) in level 1. STEP 4: Place one ST1 sprite in the valid player space sector of the lower level, and place another ST1 sprite in the valid player space sector of the upper level. Make sure that these sprites are in the exact same position in relation to their sectors; i.e. - if the sectors were overlapped, the two ST1 sprites should also overlap each other. Give these ST1 sprites the following tags: UPPER LEVEL ST1
LOWER LEVEL ST1
STEP 5: Place one more ST1 sprite in each valid space sector; one in the upper level, and one in the lower level. THESE TWO SPRITES DO NOT NEED TO BE IN THE SAME PLACE IN RELATION TO THEIR SECTORS. If the upper and lower level sectors were overlapped, these sprites would not need to overlap as well. Give these sprites the following tags: UPPER LEVEL ST1
LOWER LEVEL ST1
STEP 6: The sprites that you placed in the above step now need to be placed in every single sector that the player will be able to see the other level from. For example: If I were standing in a hallway in the upper level, and I could see through the floor in the adjoining room to the lower level, I would need to have the exact same sprites as I placed in STEP 5 in the hallway. Give the sprite the exact same tags as you gave them in STEP 5. STEP 7: You need to place the BOUND_FLOOR_BASE_OFFSET and BOUND_FLOOR_OFFSET sprites in their correct position. These two ST1's (hitags 202 and 203, respectively) are used to drag groups of sectors over top of each other at premap. The BASE_OFFSET serves as an "anchor point." The next OFFSET processed is moved to the same x,y location as the BASE_OFFSET, dragging every sector connected to it along for the ride. So place two ST1 sprites, one on the lower level and one in the upper level, in the exact same position in relation to their sectors. Give the sprites the following tags: UPPER LEVEL ST1
LOWER LEVEL ST1
STEP 8: Remember the floor and ceiling with texture #341? Go into 3D mode and press the [P] key on both the floor and the ceiling with this texture, so that you Parallax the texture. I'm not 100% sure if this is needed or not, but it is used in all of the level over level situations in the game. You're all done! Take a look at STACKED.MAP if you still do not understand something, and just pull it all apart. 4.16 Transparent Water Map Name: TRANWATR.MAP This effect is a bit harder to understand, but it follows the exact same concepts as the stacked sectors how-to above. STEP 1: Make your stacked sectors just as we did in the how-to above (section 4.14). STEP 2: Place one ST1 sprite in *ALL* of the sectors that are to be underwater, and give each a TAG1 value of 8. STEP 3: Place one ST1 sprite in the sector underwater where the player will be able to surface. Give it the following tags:
STEP 4: Place one ST1 sprite in the sector above the water where the player will submerge into the water itself. Give it the following tags:
STEP 5: Place another ST1 sprite in the sector above the water where the player will submerge into the water itself. Give this sprite the following tags:
|
|
Table of Contents | |
4.17 Ladders Map Name: LADDER.MAP This effect allows you to create areas on a wall that the player can climb up while in the game. A very easy effect to make. STEP 1: Create the area you wish to be your ladder. THE LADDER IS REQUIRED TO BE PLACED ON A RED LINE! DO NOT PLACE THIS ON A WHITE LINE IN 2-D MODE, OR IT WILL NOT WORK! To make it look like a ladder, place some sprites on the wall, make them point away from the wall, and press the [R] key on them once. Change their texture to something that resembles a ladder. These sprite are not needed, as you can just change the texture on the wall to look like the ladder, or you can have the wall look nothing like the ladder at all (you could make hidden ladders with that idea...). STEP 2: Enter 3D mode. Face the wall that will be your ladder, and move the mouse cursor over the wall itself (NOT ON THE SPRITES THAT ARE ON THE WALL). Press [']+[T]. In the upper left hand corner of the screen, you should see the words "WALL LOTAG : 0". Change this value to 305 (just type in 305). STEP 3: Place one ST1 sprite near the wall to climb, BUT NOT ON THE WALL ITSELF! The position of the sprite itself is very important, because it is the location at which the player sprite will start to climb. Give it the following tags:
You should also make sure that this sprite is centered with the ladder that the player will climb. 4.18 Shooters Map Name: SHOOTERS.MAP This effect allows you to create shooters. STEP 1: Place one ST1 sprite on the wall. Change the angle to face directly away from the wall, and raise it up on the wall a good bit. This is where the shots fired will spawn from. Give the ST1 sprite the following tags:
STEP 2: Now that you have these shooters, you need some way to activate them. The way to do this is through an "activation sector". Just give the sector that you wish to have activate the shooters the following tags:
4.19 Making Sprites Destructible (Simple) Map Name: NONE This effect simply allows you to make most non-ST1 sprites destructible. STEP 1: Create the sprite that you want to destroy. STEP 2: Give the sprite the following tags:
4.20 Making Sprites Destructible (Complex) Map Name: NONE This effect is a more complex way of making sprites (including ST1's) destructible. STEP 1: Create the sprite that you want to destroy. STEP 2: Place an ST1 sprite somewhere on your map, and give it the following tags:
STEP 3: Now give the sprite that you created in step 1 the following tags:
4.21 Automatic Sprite Deletion Map Name: NONE This allows you to delete almost any sprite you wish from the game by means of a trigger action (a switch or touchplate). The sprites you can delete are decoration sprites, vator ST1's, room over room view, and spike ST1's. STEP 1: Place the sprites you wish to delete upon triggering. STEP 2: Place 1 ST1 sprite *exactly* on top of each sprite you wish to delete upon triggering. Give each ST1 the following tags:
STEP 3: Place either a switch or a trigger sector somewhere in your map. Give the switch or sector a hitag that matches the TAG2 value in step 2 exactly, and a lotag of 211. |
|
Table of Contents | |
4.22 Teleporters Map Name: TELEPORT.MAP This allows you to create teleporters in the game. Extremely easy to do. STEP 1: Make a "source sector". This will be the sector that the player has to enter in order to get teleported somewhere. Make a "destination sector" elsewhere on your map. This will be the place in the level where the player will be teleported to. The destination sector does not have to be the exact same size as the source sector, but it must not be smaller than the source sector. STEP 2: Place one ST1 sprite in both the source and destination sectors. Change the angle of both to the direction you wish the player to face when he comes out of the teleporter. Give each sprite the following tags:
4.23 Offset (Random) Teleporters Map Name: RANDTELE.MAP This effect allows you to randomly teleport through a series of teleporters. Take a look at the included map if you don't quite understand (it is a little hard to explain). STEP 1: Make a "source sector". This will be the sector that the player has to enter in order to get teleported somewhere. Make several "destination sectors" (up to 4) elsewhere on your map. These will be the places in the level where the player will be teleported to. The destination sectors do not have to be the exact same size as the source sector, but they must be smaller than the source sector. STEP 2: Place one ST1 sprite in the source and destination sectors. Change the angle of these ST1's to the direction you wish the player to face when he comes out of the teleporter. Give each sprite the following tags:
4.24 "Warp Plane" Teleporters Map Name: WPLNTELE.MAP This effect warps you to the opposite Z plane when your view goes above or below the Z plane in question. Take a look at the included map if you don't quite understand. STEP 1: Make the start and end teleporter sectors. Raise one of the sector's ceilings a little ways up, and lower the other's floor a little ways down. STEP 2: Place one ST1 sprite in each sector. Give the ST1 in the lowered sector the following tags:
STEP 3: Give the ST1 in the raised sector the following tags:
STEP 4: Raise the ST1 sprite in the raised sector as far up as you wish the player to teleport from or to. Also, lower the ST1 in the lowered sector to as low as you want the player's view to pass by in order to teleport from or to the other sector. |
|
Table of Contents | |
4.25 Making A Mirror Map Name: MIRROR.MAP This is a very easy effect to make, but it is quite hard to explain through the use of words. Take a look at MIRROR.MAP if you don't understand. STEP 1: Making a mirror is a little bit like making a mirror in Duke Nukem 3D, but there are some differences. Create the sectors for your mirror, but DO NOT CREATE A LARGE ROOM BEHIND THE MIRROR...THIS IS NOT NEEDED IN SW AS IT WAS IN DUKE3D! STEP 2: Place a 1-Way wall where the mirror should go by pressing the [1] key on the floor near the place the mirror should be in 3D mode. Give it a texture of #340. STEP 3: To make Lo Wang say something when you look into the mirror and press space, give the red wall in front of the mirror (in 2D mode) a wall lotag of the sound number to play, and a hitag of 900. 4.26 "Copy-Sprite" Mirrors Map Name: COPYSPRT.MAP This effect reproduces sprites upon entry into a sector containing the proper ST1 sprite. Take a look at the included map to check out this cool effect. STEP 1: Create two sectors that will mirror each other. Take a look at the map to see what kind of sectors I used. STEP 2: Place one ST1 in each sector. Give one of the ST1 sprites the following tags:
STEP 3: Now give the other ST1 the following tags:
Now you will find that when you enter the sectors in the game, a copy of your sprite will appear in the other sector that you tagged. Now go into the other sector. Same thing - A 2-way mirror! Cool! |
|
Table of Contents | |
4.27 The End Button Map Name: NONE STEP 1: Place a sprite on a wall where you want the end button to be. In 2D mode, change the angle so that the sprite faces away from the wall. Now go into 3D mode and press the [R] key on the sprite. Give it a texture of 2470. STEP 2: Give the sprite the following tags:
4.28 Ending Sectors Map Name: NONE STEP 1: Make a sector that the player must step in to end the level. Give this sector a sector lotag of 116 by pressing the [T] key in the sector in 2D mode. 4.29 Making Secret Areas Map Name: NONE STEP 1: Make the sector you wish to be the secret area. Give it a sector lotag of 217. |
|
Table of Contents | |
4.30 Turrets Map Name: TURRET.MAP This effect allows you to create player controlled turrets, which can be set to fire many different things through the use of different tag values in the ST1 sprites. This effect is quite simple in nature but it is quite an involved building process. STEP 1: Make your turret sectors. Raise them to the appropriate heights in 3D mode, and give them appropriate textures. Now enter 2D mode and turn off the grid. Move the cursor to the OUTSIDE of one of the OUTERMOST walls and press [ALT]+[T]. This allows you to enter the lotag on this side of the red wall. Give it a value of 504, telling the game that this is the outermost area of the turret. You need only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE OUTERMOST WALLS. STEP 2: Press the [H] key inside the center sector, and enter in the value of 96. This tells the program that this type of sector object is a turret. STEP 3: Place one ST1 sprite just above and to the left of the top left of the turret. Give it the following tags:
Now place one ST1 sprite just below and to the right of the lower right of the turret. Give it the following tags:
These two sprites are called the "bound_so_upper" and "bound_so_lower" sprites, and they form an invisible rectangle that the program uses to know just exactly what sectors and sprites to rotate when the turret is in operation. Now press the [T] key inside the center sector, and give it the same value as you gave the TAG1 value of the "bound_so_lower" sprite. STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value of 1. This tells the program that this sector is the sector the player must be in to activate the turret. STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value of 16. Now point the sprite towards the front of the turret. This tells the program in which direction the front of the turret is. STEP 6: Although optional, you can place one ST1 sprite in the center sector with a TAG1 value of 68. This tells the game that the turret can only turn a certain amount of degrees in either direction, which you specify with the TAG2 value. A TAG2 value give you a rotation limit of 90 degrees on each side (180 degrees total). STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value of 134. This is the sound effect sprite. Turrets only need one operational sound, so give it a TAG4 value of the sound number you want to play (149 is the most common value...use this for now). Now change the BOOL2 value to 1. This allows the sound to stop when the turret is not in use. STEP 8: Place one ST1 sprite in the center sector and give it a TAG1 value of 76. This tells the game that this turret can be destroyed (this is an optional sprite). The TAG2 value is the damage the turret can take before breaking, and a good value for this is from about 500 to 1000. Change the TAG 5 value to either -1 (to start the turret out broken), or leave it as 0 (to make the turret start with "full health"). Now place one ST1 sprite where you want the smoke to spawn when the turret is broken. Give it a TAG1 value of 69, a TAG3 value of 3, a TAG6 value of 3, and give it a unique TAG2 value. STEP 9: Place one ST1 sprite somewhere in the turret, and give it a TAG1 value of 134. Give it the same TAG2 value you gave the sprite in step 8, and change the TAG4 value to 276. STEP 10: Place one ST1 sprite near where you want the shots to come out of the turret at. Raise it up in 3D mode to be at the height you want it to be, and get back into 2D mode. Give the sprite a TAG1 value of 62. To change the ammunition type of the turret, change the TAG3 value to one of the following:
STEP 11: Enter 3D mode and press the [R] key on the floor of every sector. This prevents the floor from moving around while the turret is being rotated. STEP 12: If you do not want enemies to enter the turret, place an ST1 sprite in every sector of the turret and give it a TAG1 value of 38. YOU'RE DONE!!! Look at TURRET.MAP if you need help understanding something. 4.31 Automatic Turrets Map Name: AUTOTURT.MAP This effect creates a turret that follows the players movement and, if told to do so, will shoot at the player. Again, this effect is simple in nature, but it involves a good bit of work to create. STEP 1: Make your turret sectors. Raise them to the appropriate heights in 3D mode, and give them appropriate textures. Now enter 2D mode and turn off the grid. Move the cursor to the OUTSIDE of one of the OUTERMOST walls and press [ALT]+[T]. This allows you to enter the lotag on this side of the red wall. Give it a value of 504, telling the game that this is the outermost area of the turret. You need only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE OUTERMOST WALLS. STEP 2: Press the [H] key inside the center sector, and enter in the value of 96. This tells the program that this type of sector object is a turret. STEP 3: Place one ST1 sprite just above and to the left of the top left of the turret. Give it the following tags:
Now place one ST1 sprite just below and to the right of the lower right of the turret. Give it the following tags:
These two sprites are called the "bound_so_upper" and "bound_so_lower" sprites, and they form an invisible rectangle that the program uses to know just exactly what sectors and sprites to rotate when the turret is in operation. Now press the [T] key inside the center sector, and give it the same value as you gave the TAG1 value of the "bound_so_lower" sprite. STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value of 16. Now point the sprite towards the front of the turret. This tells the program in which direction the front of the turret is. STEP 5: Although optional, you can place one ST1 sprite in the center sector with a TAG1 value of 68. This tells the game that the turret can only turn a certain amount of degrees in either direction, which you specify with the TAG2 value. A TAG2 value give you a rotation limit of 90 degrees on each side (180 degrees total). STEP 6: Place one ST1 sprite in the center sector and give it a TAG1 value of 81. This tells the game that this is an automatic turret that follows the players movements. STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value of 76. This tells the game that this turret can be destroyed (this is an optional sprite). The TAG2 value is the damage the turret can take before breaking, and a good value for this is from about 500 to 1000. Now place one ST1 sprite where you want the smoke to spawn when the turret is broken. Give it a TAG1 value of 69, a TAG3 value of 3, a TAG6 value of 3, and give it a unique TAG2 value. STEP 9: Place one ST1 sprite somewhere in the turret, and give it a TAG1 value of 134. Give it the same TAG2 value you gave the sprite in step 8, and change the TAG4 value to 276. STEP 10: Place one ST1 sprite near where you want the shots to come out of the turret at. Raise it up in 3D mode to be at the height you want it to be, and get back into 2D mode. Give the sprite a TAG1 value of 62. To change the ammunition type of the turret, change the TAG3 value to one of the following:
STEP 11: Enter 3D mode and press the [R] key on the floor of every sector. This prevents the floor from moving around while the turret is being rotated. YOU'RE DONE!!! Look at AUTOTURT.MAP if you need help understanding something. 4.32 Boats Map Name: BOAT.MAP Making boats is quite a bit simpler effect to make than making tanks, which will be explained in the next how-to. This, as are the turrets, is quite a lengthy building process, but it is a very straight forward effect to make. STEP 1: Make a rectangle sector that will surround your boat by just a little bit (it should be a little larger than your boat will be in other words). Make sure that you make this sector valid player space. Now enter 2D mode and turn off the grid. Move the cursor to the OUTSIDE of one of the OUTERMOST walls of this rectangle, and press [ALT]+[T]. This allows you to enter the lotag on this side of the red wall. Give it a value of 504, telling the game that this is the outermost area of the boat. You need only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE OUTERMOST WALLS. STEP 2: Make your boat sectors. They should all be valid player space. THEY ALSO CANNOT BE IN ANY WAY CONNECTED TO THE RECTANGLE SECTOR THAT SURROUNDS THEM! Raise the sectors to the appropriate heights, and give them appropriate textures. Now give the center sector (the sector the player must be in to activate the boat) a sector hitag (press the [H] key in the sector in 2D mode) of 98. STEP 3: Place one ST1 sprite just above and to the left of the top left of the outer rectangle sector. Give it the following tags:
Now place one ST1 sprite just below and to the right of the lower right of the outer rectangle sector. Give it the following tags:
These two sprites are called the "bound_so_upper" and "bound_so_lower" sprites, and they form an invisible rectangle that the program uses to know just exactly what sectors and sprites to rotate when the boat is in operation. Now press the [T] key inside the center sector, and give it the same value as you gave the TAG1 value of the "bound_so_lower" sprite. STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value of 1. This tells the program that this sector is the sector the player must be in to activate the boat. STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value of 16. Now point the sprite towards the front of the boat. This tells the program in which direction the front of the boat is. STEP 6: Place one ST1 sprite in the center sector and give it the following tag values:
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value of 134. Vehicles are usually suited best with two sounds, an idle sound and an operation sound. Set TAG4 to the sound you want to play, and TAG5 to the second sound. For a slowly idling boat, give TAG4 a value of 511 and TAG5 a value of 510. For a fast idling boat give TAG4 a value of 510 and TAG5 a value of 143. Give this sprite a unique value for TAG2. Make sure that the BOOL2 value is 1. STEP 8: Place one ST1 sprite in the center sector. Give it a TAG1 value of 76. The TAG2 value is the amount of damage the boat can take before it breaks. A typical number for this is anywhere from 200 to 400. Change the TAG 5 value to either -1 (to start the boat out broken), or leave it as 0 (to make the boat start with "full health"). STEP 9: Place one ST1 sprite near the back of the boat, and give it a TAG1 value of 134. Give this sprite a unique TAG2 value, and a TAG4 value of 276. STEP 10: Place one ST1 sprite where you want smoke to come out of when the boat is broken. Give it a TAG1 value of 69, and a TAG3 value of 3. Give this sprite the same value for TAG2 as you gave the ST1 sprite in Step 9. STEP 11: Go into 2D mode and, if you already have not, make some sectors that look like raised guns (this is optional). You can give these sectors nice textures, and raise them to the height that you desire. STEP 12: Place ST1 sprites at the end of each gun, and raise it so that it is the height that you want the shots to originate from. Give these sprites a TAG1 value of 62. Now change the TAG3 value to the type of ammunition you want. Here are the choices:
STEP 13: Enter 3D mode and press the [R] key on all the floors of the boat, BUT NOT THE RECTANGLE SECTOR SURROUNDING THE BOAT. This will stop the floors from moving while the boat is moving. 4.33 Tanks Map Name: TANKS.MAP Tanks are the exact same effect as boats, but they are a much more complex effect to get to work properly (making the tank treads move with the tank itself is quite a pain to get right). But, with time, this can be an effect that you can make in no time at all. STEP 1: Make a rectangle sector that will surround your tank by just a little bit (it should be a little larger than your tank will be in other words). Make sure that you make this sector valid player space. Now enter 2D mode and turn off the grid. Move the cursor to the OUTSIDE of one of the OUTERMOST walls of this rectangle, and press [ALT]+[T]. This allows you to enter the lotag on this side of the red wall. Give it a value of 504, telling the game that this is the outermost area of the tank. You need only to do this on one wall, BUT MAKE SURE IT IS THE OUTSIDE OF ONE OF THE OUTERMOST WALLS. STEP 2: Make your tank sectors. They should all be valid player space. THEY ALSO CANNOT BE IN ANY WAY CONNECTED TO THE RECTANGLE SECTOR THAT SURROUNDS THEM! Raise the sectors to the appropriate heights, and give them appropriate textures. Now give the center sector (the sector the player must be in to activate the tank) a sector hitag (press the [H] key in the sector in 2D mode) of 98. STEP 3: Place one ST1 sprite just above and to the left of the top left of the outer rectangle sector. Give it the following tags:
Now place one ST1 sprite just below and to the right of the lower right of the outer rectangle sector. Give it the following tags:
These two sprites are called the "bound_so_upper" and "bound_so_lower" sprites, and they form an invisible rectangle that the program uses to know just exactly what sectors and sprites to rotate when the tank is in operation. Make sure that these sprites include the turret sprite, so that it too can move with the tank. Now press the [T] key inside the center sector, and give it the same value as you gave the TAG1 value of the "bound_so_lower" sprite. STEP 4: Place one ST1 sprite in the center sector, and give it a TAG1 value of 1. This tells the program that this sector is the sector the player must be in to activate the tank. STEP 5: Place one ST1 sprite in the center sector, and give it a TAG1 value of 16. Now point the sprite towards the front of the tank. This tells the program in which direction the front of the tank is. STEP 6: Place one ST1 sprite in the center sector and give it the following tag values:
STEP 7: Place one ST1 sprite in the center sector and give it a TAG1 value of 134. Vehicles are usually suited best with two sounds, an idle sound and an operation sound. Set TAG4 to the sound you want to play, and TAG5 to the second sound. The best values for a tank are a TAG4 value of 149, and a TAG5 value of 147. Make sure that BOOL2 has a value of 1. STEP 8: Place one ST1 sprite in the center sector. Give it a TAG1 value of 76. The TAG2 value is the amount of damage the tank can take before it breaks. A typical number for this is anywhere from 400 to 700. Change the TAG 5 value to either -1 (to start the tank out broken), or leave it as 0 (to make the tank start with "full health"). STEP 9: Place one ST1 sprite near the back of the tank, and give it a TAG1 value of 134. Give this sprite a unique TAG2 value, and a TAG4 value of 276. STEP 10: Place one ST1 sprite where you want smoke to come out of when the tank is broken. Give it a TAG1 value of 69, and a TAG3 value of 3. Give this sprite the same value for TAG2 as you gave the ST1 sprite in Step 9. STEP 11: Go into 2D mode and, if you already have not, place a turret sprite where you want the gun turret to be (Tile #764). Raise it to the appropriate height. STEP 12: Place one ST1 sprite at the end of the gun, and raise it up so that it is the height that you want the shots to originate from (right at the same height of the gun is ideal). Make sure that this sprite isn't exactly at the end of the gun, but a little ways out beyond the end of the gun (Look at TANKS.MAP to fully understand). Give this sprite a TAG1 value of 62. Now change the TAG3 value to the type of ammunition you want. Here are the choices:
STEP 13: Enter 3D mode and press the [R] key on all the floors of the tank, BUT NOT THE RECTANGLE SECTOR SURROUNDING THE TANK. This will stop the floors from moving while the tank is moving. STEP 14: Now for the tank treads. This is probably the hardest thing to get exactly right, but it is possible to do. Make sure that the floor relative is set to the "on" setting in the tank tread sectors (press the [R] key in 3D mode). Place one ST1 sprite in each tread sector, and give them the following tags:
STEP 15: Place sprites near the wall sections of the treads (where the tread wraps around), and point each at the red wall to be affected (the tread wall in this case). Give them the following tags:
You're all done with your tank! Take a look at TANKS.MAP if you need help understanding something...just pull it all apart and you should get it. |
|
Table of Contents | |
4.34 Basic Lighting Effects Map Name: NONE Basic lighting effects include a number of things, the first of which we will cover being regular lighting effects (known as "still lighting"). 4.34.1 Still Lighting Map Name: NONE Still lighting is the lighting you see around the levels that doesn't flicker or move in any way. This lighting is set by you, and is accomplished by pressing the [']+[S] keys on the desired floor, wall, ceiling, or sprite in 3D mode, and entering a value. Shading is what makes or breaks a level, so use it throughout. 4.34.2 Switchable Lighting Map Name: NONE Switchable lights are very cool, and make the level very user friendly, and it creates the effect of a true location. To make a switchable light, do the following: STEP 1: Place a switch somewhere, where you will control the light. Give the switch the following tags:
STEP 2: Create the light(s) to be turned on or off. Shade everything in BUILD to look when the light is to be off. STEP 3: Place one ST1 sprite to be used for your lighting, and give it the following tags:
STEP 4: Repeat the above procedures for different lights or for multiple sectors in lighting. 4.34.3 Movement Lighting Map Name: NONE Movement lighting is lighting which flickers or fades in or out. STEP 1: Create your light to be used. STEP 2: Place one ST1 sprite in the light sector, and give it the following tags:
STEP 3: You're all done! Use these effects in your level, but don't put too many in one area; it looks kinda bad having tons of flickering lights in one area. |
|
Table of Contents | |
4.35 Fog and Haze Map Name: NONE To make fog or haze, you must set the palette of every wall, floor, and ceiling to the type of haze you wish to have. This can be accomplished by pressing the [ALT]+[P] keys on the desired objects in 3D mode. Here is the list of "appropriate" colors (you can use whatever value you want): 1 - White (Used for Fog) |
|
Table of Contents | |
4.36 Masked Walls Map Name: NONE To make a masked wall, enter 3D mode and point to the red line that you wish to make a masked wall (they only go on red lines). Press the [M] key on that area, and there you go! 4.37 One-Way Walls Map Name: NONE To make a one-way wall, enter 3D mode and point to the red line that you wish to make a masked wall (they only go on red lines). Press the [1] key on that area, and there you go! 4.38 On-Demand Wall-Damage Map Name: WALLDMAG.MAP This effect allows you to make walls that move when hit with an explosive weapon (this allows you to make things that could possibly show "battle-damage"). STEP 1: Make the walls that you wish to move when hit. Keep in mind that it will be the *vertices* that move, not the wall lines themselves. STEP 2: Place one ST1 sprite over each vertex you wish to move. Give each sprite the following tags:
4.39 Blocking Actors Map Name: NONE This effect allows you to create sectors that enemy actors cannot enter physically. The player can still enter these areas, and enemies can shoot into this sector. Useful to do when making turrets, boats, etc. STEP 1: Create the sector(s) you wish enemies to stay out of. STEP 2: Place one ST1 sprite in each sector and give it a TAG1 value of 38. 4.40 Automatic Wall Deletion Map Name: NONE This effect is an interesting way of making two sided walls (red lines in 2D mode) destructible. STEP 1: Create the masked, 1-way, or blocking wall that you want to destroy. STEP 2: Give the wall you wish to destroy a lotag of 307, and a unique hitag. STEP 3: Place an ST1 sprite somewhere on your map, and give it the following tags:
|
|
Table of Contents | |
4.41 Invisible Ramps Map Name: NONE This effect allows you to create "invisible ramps" on which the player can walk up or down in the game. STEP 1: Create the ramp in BUILD, just as it would look if it were visible. STEP 2: Place one ST1 sprite in the ramp sector, and give it a TAG1 value of 99. Upon playing the game, the ramp will not appear (it will actually "level out"), but all movement still acts as if the ramp is there. 4.42 Slides Map Name: SLIDE.MAP Using this effect, you can make slides that the player travels down, regardless of whether he touches the slide or not (i.e. - Lo Wang will still slide down, even when in mid-air over the sector). Actors other than the player are not affected by this effect. STEP 1: Create the slide sectors. STEP 2: Place one ST1 in the sectors you will slide down, and give them the following tags:
4.43 Misc. Vators (Lifts, Pistons, Etc.) Map Name: VATORS.MAP Vators are basically sectors that move vertically. Doors, lifts, pistons, crushers, and more can be made using vators. This is why these effects are probably the most used out of all the effects in Shadow Warrior. This section will cover miscellaneous vators, such as lifts, pistons, and other types (doors are covered at the beginning of section 4). Note: This effect is quite complex in nature, so take your time when making these. STEP 1: Create the sector you wish to be a vator. STEP 2: Place one ST1 sprite in this sector, and give it the following tags:
STEP 3: Raise the ST1 sprite to the height that you want the vator to be when it is at it's highest position. If you want it to start at it's highest position, set the BOOL1 tag to 1. Otherwise, set the BOOL1 tag to 0. If you are tilting the ceiling of a sector, make sure that you flip the ST1 sprite over (so that it is upside down). STEP 4: If the vator is switch or trigger activated, place a trigger somewhere in your level. Give it a hitag value equal to step 2, TAG2. Take a look at the example map if you don't quite understand. The "off" position is the position of the sector as it looks in BUILD. The "on" position is the height of the ST1 sprite. Flip the ST1 sprite upside down (by pressing [F] twice on it) to do a ceiling vator like a door or crusher. Any vator can be locked by placing one ST1 sprite in the same sector, and giving it a TAG1 value of 29. Two SECT_VATOR sprites can be placed in a sector to operate the ceiling and floor separately. 4.44 Earthquakes Map Name: NONE This effect allows you to create earthquakes. The earthquakes available here are much more powerful and useful than in Duke Nukem 3D. STEP 1: Create a sector in which you want the earthquake to be triggered. Give that sector the following tags:
STEP 2: Place one ST1 sprite in this sector, and give it the following tag values:
4.45 Slopes on Demand (Dynamic Slopes) Map Name: SLOPDMND.MAP This effect allows you to make a sector slope up or down when triggered by a switch or touchplate. This can be very useful for creating slides while playing a level, or making areas accessible that once were not. Dynamic slopes act much like vators do, but instead of the floor height rising to the ST1 height, the floor slopes to the ST1 height. STEP 1: Make the sector that you wish to be tilted when triggered. Make sure that the floor will slope the way you want it to by setting the first wall on the sector. The first wall is the "hinge" that the sector will rotate upon. To change this, press [ALT]+[F] in either 2D or 3D mode on the wall that you wish to be the first wall. STEP 2: Place one ST1 sprite in the sector you wish to be tilted. Give it the following tags:
STEP 3: Raise the ST1 sprite to the height that you want the slope to be when it is at it's highest position. If you want it to start at it's highest position, set the BOOL1 tag to 1. Otherwise, set the BOOL1 tag to 0. If you are tilting the ceiling of a sector, make sure that you flip the ST1 sprite over (so that it is upside down). STEP 4: Place a trigger somewhere in your level. Give it a hitag value equal to step 2, TAG2. Take a look at the example map if you don't quite understand. 4.46 Copy Sectors (Very Cool Indeed) Map Name: COPYSECT.MAP This is the single most powerful effect that the map designer has access to in Shadow Warrior. This effect was used numerous times on almost every level made by 3D Realms. What this effect allows you to do is quite impressive. Once a trigger of some sort is triggered, the sectors that you designate to do so, will be replaced by exact replicas of those sectors, with minor alterations. Here is an example of this effect, as it appeared in Shadow Warrior. You have a room that has glass along one wall, and this glass has a crack on it. On one side of the glass is a ton of water, and the inside is dry. When you blow up the glass with a rocket or other explosive, you want the inside to become filled with water (making it an underwater area). You would use this effect to create that scenario. Take a look at the included map for this how-to, so you can see exactly how this effect is accomplished. STEP 1: Create the sectors you will want to change. These sectors will be known as your "destination sectors". Now you can either select these sectors, copy them, and move them to another location, or you can create the sectors over again from scratch. Make this second set of sectors the way you want your area to look after you set off some sort of trigger. These sectors are known as your "source sectors". It is *very* important that your source and destination sectors be congruent. This effect might cause big problems if they are not congruent. STEP 2: Place one ST1 sprite in each sector of the first set of sectors that you created. Give each sprite the following tags:
STEP 3: Now place one ST1 sprite in each sector of the second set of sectors that you created (the way it looks after the trigger is set off). Give each sprite the following tags:
STEP 4: Here are some special notes pertaining to the TAG2 and TAG3 values. TAG2 is an event number (flip a switch and the copy occurs), so it is used to separate different sector copies that you have in your level (several of the 3D Realms levels had up to 6 or 7 different sector copies). TAG3 serves to identify which source sector belongs to which destination sector when copying multiple sectors at the same time. Take a look at these values in the included map if you don't understand. STEP 5: Place a trigger of some sort somewhere in your level (we will use a switch for right now - you can change it later). Give the switch a TAG2 value of 211, and a TAG1 value of the same unique number used in step 2, TAG2. Now when you enter your level, and you flip the switch, the sectors should copy themselves almost instantly. Take a look at the example map if you are having trouble, and just pull it apart (I use a crack sprite for the trigger in that map). |
|
Table of Contents | |
4.47 C-9 Effects C-9 is one of the coolest effects available in Shadow Warrior. C-9, just like in Duke Nukem 3D, is what makes things blow up. Choreographed explosions are always fun to make, as are cracked walls. 4.47.1 Regular Triggered Explosions Map Name: C9EFFECT.MAP This effect is just what it says it is: making regular explosions spawn when you want them to (choreographed explosions). STEP 1: Place ST1 sprites in every location you want an explosion to spawn from. Give each sprite the following tags:
STEP 2: Place a trigger somewhere (we'll use a switch). Give the switch a TAG1 value equal to step 1, TAG2. Also give the switch a TAG2 value of 211. Now when you flip the switch, the explosions will go off. Cool stuff. 4.47.2 Cracked Walls Map Name: C9EFFECT.MAP This effect allows you to create cracked walls that, when blown up, leave a hole in the wall. STEP 1: Create the hole in the wall itself, making it look just like you want it to when the wall has been blown up. Several sectors, with slopes on the floors and ceilings can be used to your liking (there are basically no restrictions on how the hole must look). STEP 2: Place one ST1 sprite in each sector that is a part of the hole. Give these sprites the following tags:
STEP 3: Place a crack sprite (#80) over the hole on the wall. Make sure that it appears on the correct side of the wall. This means that you should be able to lower this sprite down in 3D mode (by pressing [PGDN]), and it should *not disappear* as it travels down the wall. If you aren't sure about this, play your level, and if the crack sprite doesn't appear in the game, it's on the wrong side of the wall. To place it on the correct side, press [CTRL]+[PGDN] on the sprite in 3D mode, then press the [O] key (the letter o, *not* the number zero) on the sprite. You then can raise it up to the desired position (be sure to save your work after doing this). STEP 4: Give the crack sprite a TAG1 equal to the ST1 sprite's TAG2 value (from step 2), and give it a TAG2 value of 257. You're all done! Take a look at the example map for some variations on this effect, and if you don't fully understand how to make this effect. |
|
Table of Contents | |
4.48 Why Boss Meters Don't Work Map Name: NONE The Boss Meters that appear in the registered version of the game, were preprogrammed to appear in those levels only. Unless you name your level the exact same as the levels that include the bosses in the game, the boss meter will not appear. 4.49 Respawning Objects in Multiplayer Games Map Name: NONE To respawn objects in multiplayer games, follow these simple instructions: STEP 1: Place an ST1 sprite where you want to spawn the object, and give it the following tags:
Flag the ST1 as a Multiplayer only item (F8 menu, option 2), and the item will only spawn during a WangBang game. |
|
Table of Contents | |
5.1 ST1 Tag List Here is a complete list of all the ST1 Tags. This list only shows the different functions that are available, not the different flags for each function.
5.2 Sector Tag List Here is a list of the sector tags used in the game: Sector Triggers
Sine wave floor or ceiling
Sector Object Tags
5.3 Wall Tag List Here is a short list of the Wall Tags that are used in the game: Sine wave wall effect
Other Wall Tags
Sector Object Wall Tags
5.4 Level Credit List This is a list of every level in the registered version of Shadow Warrior, and the credits for the level designers.
5.5 Palette List
|
|
Table of Contents | |
6.1 Editart Editart can be found on the Shadow Warrior CD under the /GOODIES/BUILD directory. Editart must be installed into a directory with all of the .ART files extracted from the .GRP file. There are a total of 25 .ART files (TILES000.ART-TILES024.ART), and they take up about 25 MB of disk space, so make sure you have enough space to place them in your directory! 6.1.1 Editing Your Own Tiles At first, Editart can seem to be quite impossible to understand, and quite confusing to navigate around in. But after some use with it, you will find that it is quite easy to use. Editing Existing Tiles To edit existing tiles, start up Editart and go to the tile you want to change. You can do this by either pressing [G] and entering the number of the tile, pressing [PGUP] or [PGDN] to get to your tile, or by pressing [V] and choosing the tile you want to edit by means of a tile selection screen (just like in BUILD). Once the tile you want to change has been selected, you can press [F12] to take a screenshot of the tile, or you can edit it within Editart itself. * If you choose to take a screenshot: Edit the tile in your favorite painting program, save it, enter Editart once again, select the tile you edited, press [U], select the file you saved your tile as (.pcx or .bmp only I think) and select the tile with the mouse and press [Enter]. The tile will now be updated with your new artwork. * If you choose to edit the tile in Editart: Select the tile to be edited. Edit the tile to your liking (please look at BUILDHLP.EXE for the keys to Editart). Now when you change tiles, it will ask you if you want to save the current tile. If you like your changes, press [Y], but if you do not want to save your work, press [N]. 6.2 GRP Utilities These utilities can be found on your SW CD under /GOODIES/BUILD. They allow you to extract things from the SW.GRP file (kextract) and put together your own .GRP file (kgroup). 6.2.1 Kextract Kextract is a nice little program that will bring out every object in the SW.GRP file. This includes all of the .art files, .map files, .voc files, .mid files, and there are some more. I would not suggest you use kextract to extract all of the files. It takes up a TON of disk space and it puts about 2000 (If I remember correctly) files on your disk. If you want to fool around with that many files and that much disk space having been wasted, go right ahead. But all I usually extract is the .map files (for reference when making my own levels) and the .art files (for use in Editart). The usage for this program is this: Kextract sw.grp [files you want to extract] This program must be in the same directory as SW.GRP in order to work properly. 6.2.2 Kgroup Kgroup is also a nice little program that compiles your own .grp files for future use or distribution. The usage for this program is this: Kgroup [grouped file] [@file or filespec...] At the time, this is the only information I have on this utility. 6.3 RTSMaker With this utility, it is possible to make your own Remote-Ridicule sounds for use in WangBang play. All you have to do is follow a couple of steps and you can have your own sounds ready for taunting your enemies in WangBang! This program, as well as a sample script file, can be found in /GOODIES/RTSMAKER on your SW CD. The usage for this program is this: RTSMAKER [nameofscriptfile] This compiles an RTS file RTSMAKER -u [nameofscriptfile] - This unpacks an RTS file The script file format is as follows: <Name of RTS file> You can make such script files in any text-editor. Look at sample.txt for an example of how to do this. |
|
Table of Contents | |
7.1 MAP Authoring Template The map authoring template is a small text file that tells others about your map, what the story line is (if any), whether there is new art, music, SFX, or effects, and other useful information. One has been included with this ZIP file, under the name TEMPLATE.TXT. Fill this out before sending your level to any site for uploading! It is very useful! 7.2 Uploading Your Level The final step is to upload your level. Upload your level to Wangsdojo: |
||
Copyright © 2000 by: Jonah Bishop |