BUILD Troubleshoot

By Michael Mittag; MITTAG@Ubaclu.unibas.ch
Comments are welcome. Also, is there some other builder nearby? (Basel, Switzerland).


This text is not meant as an introduction to BUILD, but to help you if (when) you encounter problems. Its use is free in any way that does not involve making considerable amounts of money and not giving me at least 50%.

Of course I don't take any responsibility for anything you mess up using this text. I mean, first thing I say is to save every second second, so you should be reasonably safe anyway.

There are four parts:
DO's and DONT's
WHO is WHO
HELP with...
UNRESOLVED QUESTIONS


DO's and DONT's (How To Behave)

Save often, save soon, use different names. Quite some of the things you'll do will be impossible to undo later on, and there's always the occasional crash.

Delete often, delete soon (save first). Once things start to behave funny, delete. Usually there's no way to fix, and the longer you wait, the more work will be lost later on.

Don't delete valid player space by pushing all edges into one. Well, I'm really just guessing because I got a lot of "Division by zero" errors until I stopped this. Instead, delete the sector first, *then* move all the points (along the now white line) into one. Also check the statistics below to see whether build and you have the same idea of how many walls or sectors you just deleted.

Keep your walls tidy. If you add some already divided NPS (white wall in 2D with some points along it) to player space (red wall), you have to stop (hit space) on every point along it. If not, your wall will be double, causing you all sorts of problems later on. You detect this by:
- "You must insert a point" message though there clearly is one
- If you move the point, part of the wall follows and part stays
- Weird behaviour with doors, esp. swing doors
- New walls between one critical point and anywhere else
If you encounter this, fiddle for a minute to see whether you can fix it or whether it just gets worse. If second (which is the usual case), delete the wall. Deleting a wall means: delete the less valuable of the two sectors along it, so it'll be white again, and easier to handle.


Some other helpful things (less fatal, though):

Keep your doors ajar (so you can see all walls, ceilings and floors) until you have them textured, shaded and operational. Opening them again later on is a bit tricky. For swing doors, use big ugly blocks that stand diagonally in the way, again so you see the walls. Anyway, insert the doors rather late, so you can freely walk around while playtesting without having to stop at the first door that refuses to work.

Use cheat codes to playtest. I mean DNCLIP, DNKROZ and DNSTUFF. Undo (retype) DNCLIP after you crossed that wall, since it's bad for your health.

Start texturing and shading early. Once you start dividing everything up, you also double the work involved in changing a thing.

If you place a sprite flat on the floor or wall, it'll be single-sided. If you move it somewhere else later on, it'll be invisible from the other side. To get a flat sprite, either use the R-key (3D) or place it with one corner in the air.

Keep track on which sprites are blocked and which you can walk through. That is: All internal stuff like SEs, touchplates and invisible seenines (X-shrienked) should appear blue in 2D, everything players can walk into is purple.

Try translucent black (palette 4) flat sprites (got that?) for nice shadow effects. I mean, the shadow of a grille on the wall of the vent shaft and so on. Well, maybe better of something you can't shoot. Like one of the nonshootable Grates. Well I guess you got the idea.

Use water (ST0) on watery sectors anyway (even when you don't teleport), so the fx are correct. Duke sinks in, bullets go splash and you can (sometimes) place invisible underwater tripbombs. What a nasty bunch we are! (If you want to light up my day, mail me about your experiences with this one. Actually it does not work all the time, maybe current or slope plays a role).



WHO IS WHO (SE, ST, Special Sprites, Maskwalls, Texture, First Wall)

SEs and STs are quite the same thing (they serve the same purpose). They tell Duke what a sector is or does (e.g. whether it's a door).

SPECIAL SPRITES do the timing and events.

Sprites, Maskwalls and Textures can be used for special effects, once you know which does which in connection with what (if you mix this, nothing much will happen):

DOORS are walls. Floor doors are walls that are elevated from the floor, etc.

MONITORS are texture (upon bare wall). They seem to brake when the wall comes from the ceiling, but not otherwise. Vendmachines break anyway.

GLASS is a maskwall. Press M in 3D on the floor before the glass and use the glass texture (no other will break). Use B to block and H (Ctrl-H in 2D) for hitscan, T for translucence (looks nicer). Make sure the glass is translucent from both sides. Yes I know how I sound.

GRILLES and VENTS (the blades) are sprites.

FAKE WALLS (the ones you can walk through) are of course maskwalls.

FIRST WALLS are more important than you'd think. They serve two purposes:
- Ceiling and floor texture are aligned to them
- Slopes start from the firstwall downward or upward

This (the second one) has the following effects:
- Of course which of the two directions your slope runs (North-South or East-West, so to speak)
- On long slopes, the first wall side can be positioned accurately (pgup/pgdown), the opposite wall basically ends up where the slope carries it.
- See C-9 for some more conequences.

- Let's assume you have a shadow that crosses your slope. You'd of course divide the sector, probably not in exact 90 degrees. If your firstwall is on the dividing line, this will tilt your slope and make your texture run somewhere you wouldn't like it. Let's face it: if you divide a slope, Build will auto-messup it, so I best continue by telling you how to fix it:
On virgin slopes, hold left button on the floor/ceiling and toggle through all (usually four) possibilities using Alt-F. If you've already done so before on that sector, this might not work. In this case, the professional moves around and presses buttons and keys. It might help to keep your fingers off Leftbutton for some time and try again later.

Hints:
- If you change the firstwall, slope the sector anyway so you see the change.
- If you change the slope, the firstwall is where the height stays the same.



HELP with...

DOORS: Check above (so you didn't by accident use maskwalls or sprites for doors). Also, Build sometimes seems to dump sector tags, so if nothing at all happens in the game, check whether there's still a sector tag beneath all the SEs. See also Texture Behaviour for the aesthetics.

SWING DOORS: They're not as hard as it seems, just:
- The door must be inside one sector for its entire swing, or mess.
- The door must be connected to floor and ceiling for its (etc. like above)
- The door SE must have an individual hitag. If not, all your doors will open and close at the same time. Spooky. Well, at least embarassing.

EXPLODING THINGS: All very nice and easy really, except that it's a lot of work. On barrels, individual hitag seems to mean that they only explode on direct hit, while zero hitag means they join the party.

C9: If you have some holes in a C9-ed wall, probably a problem with the firstwall (see there). At pre-map, the *first walls* of the floor and ceiling are joined. See that they're the ones furthest (farest? most far?) away from each other in Build.

TEXTURE BEHAVIOUR: If your texture inapropriately moves or does not move with your elevator or door (follow me?), use "O" (the letter) in 3D to change the orientation. You can use Pageup/Pagedown on the thing in question to check (the texture will behave the same in the game).

If you can't change texture size, check whether top and bottom walls have the same texture. I know that in theory this can not be otherwise, but if it is, copy top texture to bottom and you can size again as you desire.

SIZE: It's a great game, and it comes XXL. Everything. To get size right:
- set a Trooper on the scenery (don't be afraid, he's harmless - yet)
- while holding keypad 5, twice tap (keypad) 8, then twice (keypad) 4.
This will give you quite an accurate idea of how big man-size is.
In the game, press f7 for an out-of-body experience and another view of things. *It's a shame to produce a really decent level and put some bigger-than-duke chairs in the middle of it*.

SHADE: Duke isn't too bright either, nor is build (as it comes). Well, what I mean is that you might try pressing f11 some seven times or so to get the brightness level equal to the game. If you look at some original levels, they're almost pitch black in the uncorrected Build.

TIMING: Seems like 50 or 60 equals one second in all relevant tags. I'm talking of, e.g., seenine. Or door auto-close. Or masterswitch.

TWO-WAY SUBS: Now that's one for the advanced. It's like kicking your own balls (I mean difficult and painful). I've got two of them (I mean subways, as you'd have found out instantly) in my first map and they cause half the problems around. If your problem is:

- They don't move: check whether everything is where it should be according to plan (type "BUILD E2L8" to load the duke level with the subs). Then reset some sprites. That is: delete them and set them again. Try the masterswitch if you use one. Then try the SE. Forget to set the direction and it'll drive off wrong way, through some nearby wall. Happens to everyone.

Yes, I really got a case where resetting the masterswitch last thing I do before save decides upon whether the thing runs or not. (This takes a lot of time to find out, since logically testing all reasonable hypothesis results in completely random results, so I'm rather proud on this one).

- They leave a trail of disaster: Sorry, don't have any good answer. It seems to be critical that they are based on one sector running around all else. Sorry, just drawing one around the existing car will only result in more disaster (try and see for yourself). Copying might be better. Or simply dump it all and use sprites.

BAD SPRITE CLIPPING: Use more and smaller sprites. The engine can handle quite a lot of them without slowing down.

BAD SECTOR CLIPPING: Try dividing concave into convex sectors. Maybe the other way around, I always confuse the two. What I mean in words I understand: If you have a hammer-shaped sector and get problems, divide it into two rectangles. So you don't have any edges going inward, bluntly put.

TROOPER CAPTAINS: Use your standard ho-hum everyday trooper and paint it red (palette 21 (Alt-P in 3D for Palette)). Figure out your own line about military ranks here.

THINGS WON'T BREAK: Well, kick harder. Or better still, check above so you used the correct thing (I mean sprites for grilles and so on). Also, monitors seem to prefer breaking when they originate from the top part of the sector.

ROTATING SECTOR ROTATES STRANGELY: Use the direction of the SE sprite to choose whether to rotate the sector or all of its points. Well, just change them all and there you go. If you use several sectors and miss one, it looks strange. Not strange in an interesting way, really just messed up, especially on the map.



UNRESOLVED MYSTERIES:

- Any safe way to get two-way subs with everything working?
- I still got my problems with drop floor/drop ceiling. I got a nice drop floor just putting a touchplate above sector floor (the floor was at touchplate height and lowered as I stepped on it), but I didn't follow this up yet.
- I'm working on water. (I said working, not walking)
- Also, is there a list of all the available sounds? Duke once bugged on E3L1 (right at the beginning, after I shot the Lizman jumping up if you want to try yourself) and I got them all played to me which sounded quite nice; you don't realize in the game how many "Ugh","Agh" and "Umphs" there really are. (Sounds like he gets beaten up really, if this was not such an impossible thing to think).
- How do you include firstlevelbosses that are killable without the game jumping to the endsequence? (It's possible even on episode one, as the "Faces of Death" level shows, and they didn't fiddle with sprite tags).
- There seem to be quite a bit of undocumented tags around. I mean, some of the Duke-Actors have sprite tags, which is a thing itself never mentioned in the docs.
- What about the Goudraw-Height-map?
- How do you get correct texture alignment on C9-ed walls?


