Recursive Space
Creators: Alexander Bruce
Engine: Unreal Tournament 2004
Modification: UT2K4 Level Component
Last Update: 14th July 2007
Current Status: Working. Minor fixes left.
Further Development: Improving interaction with trace weapons
Download: Not yet available
Description:
Bringing an old mechanic to a new dimension...
| Demonstration / Purpose | Problems Encountered | Setting up the Recursive World | Removing the Hall of Mirrors | Detailed Backgrounds | Working with Trace Weapons | Further Development |
Page 6 - Implementation - Making Trace Weapons Work
Starting with the facts, what do we know? Portals work by physically moving objects around, trace weapons don't have anything to physically move, and because portals
are non-solid, the beams go straight through them. Lets ignore the portals for a second, and actually understand what's going on. The portal sheet itself isn't
physically moving the objects around, the WarpZone code is. This tells us that we not only need the portal, but we need another object - the WarpZoneInfo - to move
objects around. This makes the fact that we can't hit the portals themselves with trace weapons irrelevant, as that's the wrong analogy.
What we should really be looking at is the fact that physical objects do have some code to tell them where to go, within the WarpZoneInfo, whilst trace weapons do not.
Looking at things this way, we can fill in the missing pieces and create our own subclass of HitScanBlockingVolume to handle trace weapons, and place that within the
portals themselves. I've read elsewhere that objects shouldn't be placed within WarpZones as they will break them. From what I've done with the
PortalHitScanBlockingVolumes, I've not found that to be the case. First off, how do we set these up? As follows:

PortalHitScanBlockingVolume setup (Up and Down volumes not shown from this perspective)
I've coded these much like the WarpZoneInfo themselves. Each one has its own tag and an OtherSideURL tag, and when a beam weapon hits it, it just moves the end point of
the trace and starts a new one back at the opposite portal. I've not got that code here, as it's not perfected yet, but it certainly works! The only current issues
with this method are that it's working from the weapon itself, which would mean rewriting weapons so that they could work with this, and that the volumes are right at
the back of the portal zones. If the portals aren't pushed to the back of the warp zones, they still interfere with the player, which is a problem within itself.
Here's a glimpse of how it's looking:

Playing with Portal Beams
I'd say that works pretty well. So there you have it, we started with a big problem that may have seemed unreasonable, and now we've got it all working... almost. What's
left to do?
| Back | Home | Next |