Linguica Posted April 2, 2019 Hello, you may remember mikoportals, where if you make a floor at -32768 and fall onto it, it functions as a portal and you fall out the ceiling? Well did you know you can very easily combine it with prior art (e.g. Doom 64 for Doom 2) and thusly make a vanilla "conveyor belt" to do whatever? Well now you know (more you know shooting star here) miko_01.zip 78 Quote Share this post Link to post
printz Posted April 2, 2019 I still see a barrel potentially turning the player into a voodoo zombie. 5 Quote Share this post Link to post
Maes Posted April 2, 2019 If only there was an ouchface like icon.... 0 Quote Share this post Link to post
Linguica Posted April 2, 2019 Really? No one else thinks this is interesting? Isn't this, like, the vanilla-compat holy grail, being able to do Boom-esque scripted events? 7 Quote Share this post Link to post
Dark Pulse Posted April 2, 2019 Linguica would've been the most legendary level designer ever if only he'd discovered these and Linguortals around 1996 or so. 22 Quote Share this post Link to post
Xyzzу Posted April 3, 2019 I will certainly keep this in mind for the future, although I'd imagine it won't work in every source port. glares at the ZDoom family 4 Quote Share this post Link to post
printz Posted April 3, 2019 4 hours ago, Xyzzy01 said: I will certainly keep this in mind for the future, although I'd imagine it won't work in every source port. glares at the ZDoom family Then just put a warning or disclaimer "not compatible with GZDoom, sorry 🙁" in the text file. 2 Quote Share this post Link to post
Graf Zahl Posted April 3, 2019 6 hours ago, Xyzzy01 said: I will certainly keep this in mind for the future, although I'd imagine it won't work in every source port. glares at the ZDoom family I haven't checked, but to be blunt, if it doesn't work in ZDoom-derived ports and that just keeps a single mapper from using it as a "feature", I'd consider it a good thing. Maps that depend on engine glitches are an utter nightmare for engine developers that do not put their focus on perfect demo compatibility. And trading the small crowd of Chocolate Doom users for the much larger crowd of users of all modern non-demo-compatible ports combined surely sounds like a bad trade when the same thing can be achieved far more reliably with Boom specials which have a much larger built-in audience. Also, does this really need a sector height overflow? The "keeps moving " part looks suspiciously like any actor moving along the edge of a sector not losing any momentum. 1 Quote Share this post Link to post
Edward850 Posted April 3, 2019 (edited) Graf Zahl complaining about vanilla tricks? Seen it already, somebody change the channel. People should be able to use vanilla tricks however they want, it's really only GZDoom that would be affected by this anyway, and that's not the only port that exists. It's not like it's properly vanilla compatible already, anyway. Edited April 3, 2019 by Edward850 23 Quote Share this post Link to post
Graf Zahl Posted April 3, 2019 Behold a Holy Crusader on his sacred mission! :D 8 Quote Share this post Link to post
printz Posted April 3, 2019 (edited) @Graf Zahl Ideally there should be mapping and modding features which only activate in GZDoom (i.e. proper GZDoom stuff put in place to replace the vanilla hacks), without crashing vanilla Doom by their existence. That should keep all sides happy. Edited April 3, 2019 by printz 2 Quote Share this post Link to post
traversd Posted April 3, 2019 In the vanilla source is it *just* the player object that can activate remote door, floor etc linedef types? Or is it that monster things are excluded? i know monsters can activate walkover lift types but not walkover doors, floors etc. 0 Quote Share this post Link to post
Maes Posted April 3, 2019 1 hour ago, Graf Zahl said: I haven't checked, but to be blunt, if it doesn't work in ZDoom-derived ports and that just keeps a single mapper from using it as a "feature", I'd consider it a good thing. Maps that depend on engine glitches are an utter nightmare for engine developers that do not put their focus on perfect demo compatibility. If I understood correctly how this works, the voodoo doll keeps falling through an "infinite height/depth pit" and moves sideways thanks to momentum imparted by the barrel's explosion. The latter mechanism should be intrinsic to any Doom source port, really, no matter how divergent. The other is, yes, debatable, and relies on keeping original structures and (lacks of) checks. As to it being used in actual vanilla maps...well...who can totally say that it hasn't been already, even if accidentally? Cyberdreams would have been a prime candidate for such tricks. Also, who really knows how the idea for conveyor belts and voodoo doll scripting originally came about...it might be nothing more than a refinement of this trick ;-) 2 Quote Share this post Link to post
Edward850 Posted April 3, 2019 (edited) 30 minutes ago, Graf Zahl said: Behold a Holy Crusader on his sacred mission! :D Saying that people should be able to map however they like is not a sacred mission by any stretch of the concept, why is it that even the slightest chance of GZDoom not being able to run some vanilla mod garner these kinds of reactions from you anyway? It's also amusing to note that you didn't actually bother to respond to any points, just instead decided to throw insults for some reason. Edited April 3, 2019 by Edward850 13 Quote Share this post Link to post
traversd Posted April 3, 2019 (edited) 28 minutes ago, traversd said: In the vanilla source is it *just* the player object that can activate remote door, floor etc linedef types? Or is it that monster things are excluded? i know monsters can activate walkover lift types but not walkover doors, floors etc. Looks to be pretty limited. // Triggers that other things can activate if (!thing->player) { // Things that should NOT trigger specials... switch(thing->type) { case MT_ROCKET: case MT_PLASMA: case MT_BFG: case MT_TROOPSHOT: case MT_HEADSHOT: case MT_BRUISERSHOT: return; break; default: break; } ok = 0; switch(line->special) { case 39: // TELEPORT TRIGGER case 97: // TELEPORT RETRIGGER case 125: // TELEPORT MONSTERONLY TRIGGER case 126: // TELEPORT MONSTERONLY RETRIGGER case 4: // RAISE DOOR case 10: // PLAT DOWN-WAIT-UP-STAY TRIGGER case 88: // PLAT DOWN-WAIT-UP-STAY RETRIGGER ok = 1; break; } if (!ok) return; } Edited April 3, 2019 by traversd 0 Quote Share this post Link to post
Jon Posted April 3, 2019 This is very clever. well done @Linguica 4 Quote Share this post Link to post
Kira Posted April 3, 2019 9 hours ago, Linguica said: Really? No one else thinks this is interesting? Isn't this, like, the vanilla-compat holy grail, being able to do Boom-esque scripted events? Can you predict the speed of the doll? It looks unwieldy if you want to script events. On the other hand it could be a godsend if you want a bit of randomness :-D Also what @Dark Pulse said. Having this back in the 90's might have completely leveled the landscape heh. 0 Quote Share this post Link to post
Maes Posted April 3, 2019 (edited) 22 minutes ago, Kira said: Can you predict the speed of the doll? Good point... I suppose you could stack enough barrels to max out the speed that a player object can acquire (42 map units/sec, or 30 in either direction) but I'm not sure if that limit applies to voodoo dolls as well. Plus, both the dummy and the player would need to survive the onslaught. Then again, if precise timing is not important but you just need for an event to occur, say, anytime between 5 and 10 seconds after the trigger has been activated, then it doesn't matter. But then again, the kind of "scripting" that you can achieve in vanilla with this trick, couldn't you also achieve them with e.g. a crusher exploding a barrel and simply pushing the voodoo doll past a certain linedef? The crusher's timing would be far more predictable than the voodoo doll's traveling sideways through mikoportal. Just wondering....then again you could conceivably place multiple triggers down the mikoportal's path, so there's that, and also it might be easier to implement some type of resettability, if the voodoo doll teleports back to the beginning and you have another barrel or different means to propel it. Edited April 3, 2019 by Maes 3 Quote Share this post Link to post
Kira Posted April 3, 2019 3 minutes ago, Maes said: But then again, the kind of "scripting" that you can achieve in vanilla with this trick, couldn't you also achieve them with e.g. a crusher exploding a barrel and simply pushing the voodoo doll past a certain linedef? The crusher's timing would be far more predictable than the voodoo doll's traveling sideways through mikoportal. Just wondering.... I can see it having its uses if you want the doll crossing multiple linedefs over time for e.g. complex level transformations. 0 Quote Share this post Link to post
Maes Posted April 3, 2019 (edited) FWIW, there was a thread long ago where someone (entryway?) had posted a map where a floating icon of sin was propelled and steered by the player by shooting it. Unlike e.g. shooting a voodoo doll, the thing kept its momentum. The goal was to keep it from crossing out of a confined area and guide it to a goal. Same concept as a voodoo doll, if you think about it, minus the mikoportal and barrel. I'm not aware if that map was vanilla compatible and/or whether it used DEHACKED to achieve that effect, though. Edited April 3, 2019 by Maes 0 Quote Share this post Link to post
Xyzzу Posted April 3, 2019 21 minutes ago, Maes said: FWIW, there was a thread long ago where someone (entryway?) had posted a map where a floating icon of sin was propelled and steered by the player by shooting it. Unlike e.g. shooting a voodoo doll, the thing kept its momentum. The goal was to keep it from crossing out of a confined area and guide it to a goal. Same concept as a voodoo doll, if you think about it, minus the mikoportal and barrel. I'm not aware if that map was vanilla compatible and/or whether it used DEHACKED to achieve that effect, though. Ah, I remember that!https://www.doomworld.com/idgames/levels/doom2/s-u/teledest This was by TimeOfDeath, and uses a DEH patch. 3 Quote Share this post Link to post
Nine Inch Heels Posted April 3, 2019 I don't understand what the problem is wrt port compatibility. If Graf doesn't wanna make this work in his port, then the worst case is that people will say the map "breaks", in which case you simply redirect them here and recommend using a different port. With regards to timing certain events, you can always time the moment when a barrel is getting crushed, rather than relying on the momentum gained by the explosion itself. And if you want an alternative to using ceiling heights as timers while still making a larger number of events happen in a set and predictable sequence, you can always "chain" however many barrels you need to get the desired delay for individual "conveyors", assuming you want an entire series of events to happen in sequence based on a single trigger in a map. Let's also not forget that an actor can activate more than one linedef action per tic, so you can easily use one doll to make 4 different things happen at once, which in and of itself is more than enough of a reason to think about a situation where it can be put to use. If there's anything about this setup that limits its use in some way, then it's that it's slightly "dirty", and by that I don't mean what Graf is concerned about but rather the fact that players will notice that they set the machine in motion because it relies on inflicting damage, and that's what makes it difficult to "hide". As as side note, if you don't wanna use the miko-portal method, keep in mind that you can still knock a doll from a very high point into a very deep pit. So, while the doll is in midair, enjoying its adrenaline rush, it can still trigger linedef actions, because for example in Vanilla these don't care about how high above ground the actor is, and after all the mikoportal basically simulates a free-fall without friction. With that said, I suppose mappers who wanna make sure their stuff runs in Graf's engine as well, there's an alternative that may not be as elegant and might not allow for very complex scripts, but it's an option worth keeping in the back of your head regardless. 9 Quote Share this post Link to post
geo Posted April 3, 2019 It doesn't have a cool or a wow factor. It doesn't look like he falls through the ceiling and he's barely moving, but kudos you did it. There's just not much wow factor to a casual viewer. 0 Quote Share this post Link to post
Maes Posted April 3, 2019 The "not looking like he's falling part" looks more like an artifact of frame rate/actual dropping speed stabilizing, much like seeing a fan starting under a strobe light. YMMV with different ports and/or machines. 2 Quote Share this post Link to post
Jon Posted April 3, 2019 (edited) 3 hours ago, Maes said: But then again, the kind of "scripting" that you can achieve in vanilla with this trick, couldn't you also achieve them with e.g. a crusher exploding a barrel and simply pushing the voodoo doll past a certain linedef? The crusher's timing would be far more predictable than the voodoo doll's traveling sideways through mikoportal. Just wondering....then again you could conceivably place multiple triggers down the mikoportal's path, so there's that, and also it might be easier to implement some type of resettability, if the voodoo doll teleports back to the beginning and you have another barrel or different means to propel it. I think to use this practically you'd want to control the time during the level when the damage was occurring to the voodoo doll, so you could mitigate it, or try to explain it in the narrative (perhaps the player is in a map area that is exploding or something so there's some rationale for them taking damage). So you'd want to set this up once, rather than nearer the time that you want events triggered. What isn't clear to me from the video is whether the doll's momentum is constant. If so, you could adjust for its velocity with linedef spacing, etc. If not (I guess it can't be slowing down, but it might be accelerating), things could be more chaotic. Voodoo dolls can pick up items, so you could stack medikits/stimpaks under it (they don't pickup until they are moving). (I just wrote a quick wadc script to confirm this, surprising myself that I hadn't seen it in a live map ever. Has anyone used this? It's kinda weird, you can give the player weapons that way for example) Edited April 3, 2019 by Jon 0 Quote Share this post Link to post
Maes Posted April 3, 2019 (edited) 9 minutes ago, Jon said: Voodoo dolls can pick up items, so you could stack medikits/stimpaks under it (they don't pickup until they are moving). (I just wrote a quick wadc script to confirm this, surprising myself that I hadn't seen it in a live map ever. Has anyone used this? It's kinda weird, you can give the player weapons that way for example) I'm pretty sure that's been used as a trick even in Final Doom (Plutonia MAP28 and/or TNT MAP15 I think) so it's far from new. Edited April 3, 2019 by Maes 0 Quote Share this post Link to post
Nine Inch Heels Posted April 3, 2019 Wow, one guy's getting cold feet because he doesn't like it when people use engine quirks in creative ways, the next guy doesn't read the op and has no idea what a miko-portal is, and then there's another guy who says it's far from new, except it's never been done in vanilla on a conveyor that allows for voodoo-scripting.... this is great... 5 Quote Share this post Link to post
Loud Silence Posted April 3, 2019 @Linguica This is holy grail to me. Doom was made in 1993!, but still have something new to show and can kick to modern source port's ass: "Big deal... i can do that too". 4 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.