-
Content count
3289 -
Joined
-
Last visited
Single Status Update
-
I've mentioned here before that some years ago I invented a way to construct a moving subway, able to carry a player between two different stations. This was way before the introduction of polyobject-portals to the Eternity Engine, and an even longer time before the inclusion of ACS.
It worked by switching portal views. The actual cars and stations were connected by non-euclidean linked portals and didn't move at all. Anchored (visual-only) portals were connected to door ceilings, which as those raised or closed would reveal or obscure the linked portal and instead show a different view.
With the gates to the platform closed, a player would see the view of a standard polyobject dummy train arriving to its current station. The gates would open, revealing the in-game cars. If boarded and once the gates closed again, a different set of anchored portals would show the view of the subway departing the copied-as-polyobject station, and the destination station slowly approaching. This worked in multiplayer too; even sound cues were linked to the correct portalgroups so as to only be heard when in the appropriate in-game location.
In short: a perfect illusion. Well, "was", because I'm currently removing it.
It's all going to be replaced with a bog-standard moving polyobject-portal construction. Technically it's the right thing to do, since the result would look exactly the same as what I had before minus this very complicated setup. But it still pains me to replace it, since I was so proud of this trick. It feels like inventing mikoconveyors way back in 1997, only to be superseded by Boom's standard conveyor feature before you could show your achievement to the world.
Still, let's show off this trick. Here's the subway arriving at your station:
Now ready to board:
Subway 'leaves' with you onboard, seeing the (polyobject) station receding:
Almost arriving at your destination:
Once disembarked, watch the subway go about its return trip.
-
I've had a similar experience. Back when I was working on AEoD, I wanted to make something that would affect monsters nearby as I walk around. I eventually called it the ice shield, and for a short time, it damaged and froze monsters nearby at every tic, centered on the player. It took hours of experimenting and trial and error until I finally discovered how to do it. It works like this:
Step 1: I'd use an item and it spawns an actor.
Step 2: That actor spawns a second actor (usually 'SomethingSomethingGiver') which immediately "attacks" the player and gives the player a specific item.
Step 3: The actor would continue doing this every tic and gives a timer inventory item.
Step 4: Once enough of that timer item is in my inventory, the powerup ends and the giver actor disappears.
Once this discovery was made, I was able to use it for all sorts of things, such as the force cube, a thunderstorm powerfup which hits random enemies with powerful lightning every few seconds, a vampiric aura that damage enemies and drains their health for a short time, a dynamic light based torch, and even a simple direction arrow for an old Marble Madness wad for Doom (didn't release that one). They all work very well the coding in its most basic form is very simple, and I still use it even now. However, this was made long before ZScript was a thing and I'm sure that ZScript could do this much more effeciently and easily. Maybe one day I will change to it, but not for a while. It's not real high on the priority list right now.
-