|
|||
|
Stacked Walkways |
Stacked Walkways Here is yet another technique for apparently exceeding the geometrical limits of the Marathon engine: the result is two walkways, one directly above the other, with full visibility between the walkways and the area to one side of them. The floor of the top walkway appears to be made out of a row of scenery objects. The effect can be seen in either Forge or Infinity. The map has four starting positions, so it can be used in co-op play. However, I'm not sure how well that will work, as I'm not equipped for network games: I suspect that players in the two walkways would interfere with each other's movement. I would be VERY interested to hear from anyone who actually tries this. (Editor's note: According to Chris Komarnicki the example map worked flawlessly during net play - gls) The trick is that there is an extremely thin ledge at the back of the top walkway: that's what a player on top is actually standing on, the scenery items are just for looks. To keep the player on that ledge, there is a drop in the ceiling height on the outside of the walkway, sufficiently low to block the player's movement. The distance from the back wall to the drop is exactly 0.5 WU, the width of the player, so there's no room for any front-to-back movement. There is no minimum width for the ledge: I initially drew it 1/8 WU wide, so that it was big enough to easily work with, but then reduced it to the absolute minimum width that Forge allows (one press of an arrow key at maximum zoom). In this test map, I've given the ledge a moving red texture, so you can still barely see it: in any practical use of this technique, you'd give it a texture that blends in with the back wall so that it is undetectable. Here's a cross section of the walkways, rendered with an amazing new modeling program called Bryce Text:
So, why couldn't solid scenery objects have actually been used as the floor of the top walkway? That technique is known as a "sprite bridge", in the game engines that support it (such as Hexen). Unfortunately, solid objects in Marathon only block horizontal movement, never vertical. No matter how densely you placed scenery objects, a player attempting to walk on them would immediately fall between them. Note that a very thin polygon (such as the ledge), directly in front of a solid wall, normally causes the "bouncies". To fix this, an additional polygon has to be added behind the wall (it's the big triangle visible on the left edge of the map in Forge). Its floor and ceiling height are set to be the same, and the line joining it to the ledge is set to be solid and non-transparent so that the polygon isn't visible on the automap. I frankly have no idea why this works, it would seem that it could only make the problem worse, but I'm not going to argue with success. This is one of many mapmaking tricks that can be found at Hastur's Workshop. ALSO INCLUDED, AT NO EXTRA CHARGE, is a test map called Untextured Walkway. It builds upon my previous experiments with untextured walls to produce an area that can be walked through at two different heights depending on the direction from which you approach it. I have to consider this map a failure, due to unavoidable smearing, but maybe it will give someone an inspiration for a more practical technique (or at least a moment's amusement). The basic concept being used here is that if the side of a step is left untextured, the player CAN pass that side, even if the height of the step is much greater than the normal 1/3 WU limit. Unfortunately, this effect only applies to the untextured side itself: a corner between untextured sides still blocks player movement as normal. This limitation has ruined every attempt I've made at a practical use for the effect. In the case of this map, the only way to get rid of the smearing would be to break up the walkway polygon into several smaller ones, so that the player always had a true line of sight to everything on the other side. Unfortunately, this would make the untextured area consist of nothing BUT corners, making it impossible to pass the walkway at ground level. |
Download Jason Harper's example maps and tutorial. |