Gary L. Simmons  rev 10/14/03  http://battlecatslitterbox.com/Forge/tBC/tBCSplitPoly.html
Litterbox Forge tips  Battle Cat's Split Poly Technology


Forge Tips | Split Polys | Light Walls | Ladders | Windows | Ledges | Bridges | Platforms | Shadows | Switches

The Battle Cat's Split Poly Technology!

I have had many requests to publish a step by step guide to making the Battle Cat's Split Poly Technology. I mean you people won't back off will you? Gimmie Gimmie Gimmie all the time. OK, first off let me say that I'm sick of all the whining and fussing and big red bloodshot eyes from crying and throwing tantrums so i will stop doing all of that and just tell you all how I make them. ::rimshot::

"What is a split poly", you might ask. For a spectacular definition of a traditional split poly then visit Hastur's Workshop and click on the split poly link.

More important for the purposes of this exercise is the question, "What is the Battle Cat's Split Poly?" Well in simple terms normal polys are two dimensional polys that are extruded into three dimensions by Marathon during run time. tBC's Split Polys are one dimensional polys that Marathon extrudes into two dimensions during run time. You can pile up them like a stack of pancakes

 

producing legions of textures on a wall in vertical alignment or dramatic vertical lighting changes on a wall. With tBC's Split Polys you can put split polys on surfaces and structures never before allowable. You can put split polys on the outside or the inside of bridges, split polys above or below a platform door, or on the platform itself. These split polys will easily fit above or below an open window you can look and shoot through. Put a switch on a wall without building a recess for it, put a switch on the side of a platform the same way. TBC's Split Poly Technology will even allow you to make climbable ladders that are flat against a wall. Make up your own uses.

There two distinct methods of making these special split polys, the simple way and the complex way. I will give you some general instructions then describe the complex way first because I discovered this method first when attempting to break the 3 texture limit that FrigidMan discovered. Following that is the simple way, then as I create them, I will provide links to tutorials for applications for these techniques.



General Instructions


Remember when you create one of these special polys, make sure you completely finish each poly before you close it and move onto the next. This is important because once you have "closed" the second one of these split polys it is permanent, there is no opening it up to work on it again. By "completely finishing" it, you should use your View menu to:

1a) Set the floor or ceiling elevation depending on the structure you build,
1b) Set the floor and ceiling textures.
1c) Set the polygon type to be monster and item impassable.
1d) Set the floor and ceiling lights
1e) When creating a split poly bridge, you must set the liquid before closing the poly.

Why all these extra steps? Because, although these are one dimensional polys extruded into two dimensions, in some cases the lights and textures tend to "bleed" out where one elevation meets another. The monster impassible polygon type is set because if the floor elevations are right, your monsters will be crawling up your walls like cockroaches. Worse yet is if you have monsters generating randomly, they will be spawning inside closed split polys, trapped like rats and squawking like demented chickens. Same goes for randomly generating ammo and weapons only without the pathos.

When you create sets of stacked split polys there are two ways to change ceiling or floor heights. Create an area with negative space, draw your split polys into the negative space and keeping the floor height the same, change the ceiling height of each split poly proceeding from the upper ceiling height to the lowerAnatomy of a tBC split poly ceiling height. If you are working the other direction, create your same negative space but this time keep the ceiling height the same while changing the floor heights from the lowest to the highest floor. If you do not proceed in this order in each case you will wind up with only two stacked polys that can be textured. Confusing? Not really, all will come clear as I give examples of each usage for the Battle Cat's Split Polys.

When creating a line to be the base of your split polys, make sure it is directly on a grid line or a 45 degree angle of the grid lines. This allows your "Constrain to Grid" setting in your map manager to exactly place the apex of your split poly directly on the base line insuring that you have a one dimensional poly. Otherwise you will not be able to stack polys. If you don't like using the "Constrain to Grid" feature, just bite down on a bullet, constrain to the damn grid for the creation of the split polys and set it back when you are through. Don't try to shoot that bullet now, it will probably blow up in your face.

When using a lot of stacked split polys, remember that they take up a lot of memory to render. The more stacked polys in view, the more memory it requires and the slower the game will run. If you have a fast computer with a lot of memory you will not experience problems but there are still a lot of slow machines out there. Be kind. If you have a bone breaking stack of split polys, then let it be eye candy you pass through on the way to a fight. Nothing sucks worse than having a big fight while the engine is bogged down only to crash because of memory constraints. Well, actually, 8 years of Clinton sucks worse.

Sometimes when you try to fill a split poly Forge will tell you that it is having trouble filling that poly. Often you can remedy that by simply dragging the apex of the split poly to a new location. In some cases you must break up the split poly differently with some new lines or try it from a different side of the wall. Get your hands dirty. Experiment. Also, Forge sometimes gets confused when you try to fill polys next to a BC Split Poly. If you are doing an example I give you, follow my instructions exactly in the order I give them, then you can avoid that problem. I don't always tell you there will be a problem filling polys in each tutorial, I presume that you have read the general instructions and know to do the steps in order.

Sometimes you may experience a freeze when crossing a split poly. This usually happens when you dwell on the exact base line. "Dwelling" can include walking along and over the exact base line. I believe the freeze could be memory related because if you move through it you do not lock up, it is when you linger there. If there is a place where a player would naturally pause on a split poly line, try to gently move him on his way with some flowing media or redesign the problem area. Another cause (I suspect several things are happening here) is the alignment of the split polys apex vertices on the base line. If you move through a narrow passage way where you are forced to walk directly through the exact center of a split poly apex vertex, especially stacked split polys, you can suffer consistent freezing that can be permanently remedied by moving that vertex/vertices off to one side.



The Complex Split Poly


There are 2 special polys needed to create a 4 texture stacked split-poly wall. A triangle poly and a trapezoid poly .

Mentally divide your wall into 4 sections. These can be any heights you want so I will only refer to them generically on this chart.

E Ceiling Height
D Upper Mid-Height
C Mid-Height
B Lower Mid-Height
A Floor Height
be jabbers


This diagram illustrates steps 5 through 16 below
Filling a complex split poly


  1. Set your Map Manager to "constrain to grid". (important!)
  2. Set your Map Manager to "show grid". (helpful)
  3. Set your Map Manager to 1/8 WU grid size. (size optional)
  4. Select a wall that lies directly on a grid line, make sure there is a center point on the grid equidistant (equidistant is NOT arbitrary) from the two ends of the wall. The area behind the wall should be negative space.
  5. Delete the poly in front of the wall.
  6. Draw a triangle in front of the wall with the triangle's base points on the vertex at each end of the wall with the apex above the center point you determined earlier.
  7. Draw a trapezoid poly in the negative space behind the wall with the base of the trapezoid sharing the same vertices as the base of the triangle poly.
  8. Fill the triangle and trapezoid polys.
  9. The triangle poly has the floor height of B (see chart above)
  10. The triangle poly has the ceiling height of D
  11. The trapezoid poly has the floor height of C
  12. The trapezoid poly has the ceiling heights of D
  13. Drag the apex of the triangle poly to rest upon the line of the wall keeping it centered on the wall.
  14. Fill in the poly(s) you deleted in front of the wall.
  15. Drag one free corner vertex of the trapezoid poly to rest upon the line of the wall. Do not let it touch the center point or the end point of the triangle poly vertices.
  16. Drag the other free corner vertex of the free trapezoid poly to rest upon the line of the wall. Do not let it touch the center point or the end point of the triangle poly vertices.
  17. Check the ceiling and floor heights of the original poly(s) you deleted and refilled and go into visual mode and texture your map.
  18. Repeat steps 4-17 for each wall of negative space you want to convert to 4 vertical textures.

Hey that was gruesome wasn't it? You can download an example map (13K) of the complex one and pick at it. Looks a lot worse in print than to actually do it. Make sure you perform steps 1a through 1e as outlined in the General Instructions above before you perform step 13. Print this out and refer to the example map. If it does not work you probably did not follow the steps in the exact order given. I have not had a lot of time to explore this technique, but I believe there is a LOT of potential here for pushing the Marathon engine to the point of internally hemorrhaging. The way Marathon is fooled into thinking there is a fourth texture surface by the juggling of floor and ceiling heights is very interesting and must be pursued. Let me know what you discover, should you decide to explore this technology, and I will add it to these pages.



The Simple Split Poly


There is a simpler way to create the Battle Cat's Split Polys:
  1. Anatomy of a tBC split polySet your Map Manager to "Constrain to grid". (Important)
  2. Set your Map Manager to "Show grid. (Helpful)
  3. Set your Map Manager to a small grid setting (1/8 works nicely)
  4. Select or create a wall with negative space behind it that lies directly on a grid line.
  5. If necessary create vertex points in the wall where you want the base of the split poly triangle to anchor.
  6. Draw an isoceles triangle into the negative space with the triangle's base points on the vertex points you have chosen. The apex of this triangle must be free and not connected to any other lines other than the lateral sides of the triangle.
  7. Fill the poly you just created. (See steps 1a through 1e in the general directions)
  8. Close the poly by dragging the apex of the triangle to the center of the line that composes its base. Unlike everything else you learned in Forge, you can have one vertex point exactly over another using this technique.
  9. Repeat steps 6 through 8 as needed changing either the ceiling or floor height in each new split poly as applicable.


Forge Tips | Split Polys | Light Walls | Ladders | Windows | Ledges | Bridges | Platforms | Shadows | Switches

Top of page

Back to the Litterbox