Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
kgsws

[vanilla] "linedef" scripting

Recommended Posts

18 hours ago, kgsws said:

I do not know if anyone already did this, but ...

@Linguica and @Nine Inch Heels I normally wouldn't summon you both but in the world of Linguortal's and Mikoportals, what do you make of this niftyness? I see some similarities with the Mikoveyor but the map itself is a lot smaller compared to the examples i have seen from the both of you. From what i remember a Mikoveyor works around the player taking damage to activate a crude script.

18 hours ago, kgsws said:

I have (finally) decided to combine all required stuff i know about Doom engine bugs and shortcomings to re-create "linedef" scripting that many boom-compatible mods do.

I tested it in stock Doom2.exe 1.9 and it SLAPS. Seeing the logo unfold in a way similar to Duke 3D's theatre is really unique to see. What other ways could be achieved?

18 hours ago, kgsws said:

 

Almost everything is designed with specific bug / shortcoming in mind. If anyone intends to use this i will make a deep explanation of every step, as some stuff might not be obvious right away.

line_scr.zip

Please, do explain! If this is what i think it is, then its a rather elaborate and perhaps even innovative way at establishing a scripting language in Doom.

Share this post


Link to post
1 hour ago, Redneckerz said:

what do you make of this niftyness?

to put it simple, it does what the mikoveyor has always done, but it also violates some principles that we've already said would be best to work around, such as potential spechits overflows... AND it will produce different results in timing based on difficulty settings, because the mikoveyor script in the sample here does not use 2 independent barrels to account for the 50% less damage taken on ITYTD...

 

I mean... the map literally uses a mikoportal and nudges a doll with a barrel into that mikoportal to do the scripting it does...

 

I'll concede that it's a feat if they have figured this out on their own entirely, and I'd be interested in the process behind that, to be perfectly honest, but what this sample map does is nothing new...

Share this post


Link to post
55 minutes ago, Nine Inch Heels said:

to put it simple, it does what the mikoveyor has always done, but it also violates some principles that we've already said would be best to work around, such as potential spechits overflows... AND it will produce different results in timing based on difficulty settings, because the mikoveyor script in the sample here does not use 2 independent barrels to account for the 50% less damage taken on ITYTD...

 

I mean... the map literally uses a mikoportal and nudges a doll with a barrel into that mikoportal to do the scripting it does...

 

I'll concede that it's a feat if they have figured this out on their own entirely, and I'd be interested in the process behind that, to be perfectly honest, but what this sample map does is nothing new...

Now, you see why your user title befits you :)

 

Judging by the OP i tend to believe this is an independent discovery, in which case its still pretty impressive to come up with in the first place.. And considering KGSWS made the Ace Engine, its clearly within their limits to achieve this. I would have hoped that this was a more refined implementation of an existing idea, but nevertheless, impressive.

 

Its a same that outside of the Brexit map, there is practically nothing done with this feature. Its probably not easy to pull off.

Share this post


Link to post
18 minutes ago, Redneckerz said:

Its a same that outside of the Brexit map, there is practically nothing done with this feature.

yet...

 

(also quick shoutout to aurelius' "remnant" which uses mikoveyors)

Share this post


Link to post
9 hours ago, Redneckerz said:

Its a same that outside of the Brexit map, there is practically nothing done with this feature. Its probably not easy to pull off.

 

Plugging my own less impressive map here that just yoinks the vanilla conveyor setup NIH and Ling made like a donkey :P

Spoiler

 

 

Share this post


Link to post

You can use projectiles to trigger a small selection of linedefs, although ideally you want to dehacked the IoS spawner code to do this.

 

The flame tower in 1k3 was originally designed for this, however it wasn't used for its original purpose in the end, although map34 shows it in action.

Share this post


Link to post
20 hours ago, Nine Inch Heels said:

yet...

 

(also quick shoutout to aurelius' "remnant" which uses mikoveyors)

This and Xyzzy's are now added to the Wiki page for Vanilla conveyors, and one more (Purple Rain by @Arsinikk) so that examples of this functionality are a tad more easier to find.

 

It might also be worthwhile to preserve your Tutorial on how to create these Mikoveyors with your prefab, perhaps on that same page. I am not sure how much of your tutorial has changed since, though.

 

And perhaps this was missed, but Wraith777 found a way to make a conveyor loop so that it can be re-useable. Requires DEH though.

11 hours ago, Xyzzy01 said:

 

Plugging my own less impressive map here that just yoinks the vanilla conveyor setup NIH and Ling made like a donkey :P

  Reveal hidden contents

 

 

I found this shortly prior to your post, but appreciated that you mentioned it! Which version of the mikoveyor did you use?

Edited by Redneckerz

Share this post


Link to post

I haven't seen any example of this (yet) so i have decided to try this. My goal was to loose as little health as possible. And that would be 2HP (with my setup). I also did not want to modify the game in any way (= no dehacked).

Are there any good examples? I would like to see what other people did ... and how. (i have checked "brexit" and "Fricassee" so far)

 

20 hours ago, Nine Inch Heels said:

potential spechits overflows...

True, i did not check for that.

 

20 hours ago, Nine Inch Heels said:

the sample here does not use 2 independent barrels to account for the 50% less damage taken on ITYTD...

Well, there are two barrels. But you are right. ATM it is broken on second skill level. I'm gonna have to fix that at some point.

 

19 hours ago, Redneckerz said:

Its a same that outside of the Brexit map, there is practically nothing done with this feature.

You can do the same stuff that other boom-compatible mods do. That is why i added two switches that you have to press - to show that you can "script" conditional actions.

 

 

The goal of my version is to activate "conveyor belt" as soon as the map starts. Only then use switches somewhere in the map. You can activate more "conveyor belts" at the same time if you place health bonuses correctly.

Anyway. Since many of this is already known, i am gonna provide quick summary.
 

Yes, i use so called floor "portals", that is -32768 floor height.

The voodoo doll is placed "over the ledge", but because of how Doom spawn things, it will be placed directly on -32768 floor (ledges are not considered when loading the map). That means it won't be falling, and if pushed, it won't start teleporting.

To fix this i have extended crushing sector in X dimension so that voodoo doll is in sectors bounding box. Sector bounding box is always a rectangle, regardless of an actual sector shape. When you add any movement to the sector (floor or ceiling) voodoo doll will be placed correctly over the ledge (even if it is not touching that sector at all!). Then barrel explodes, which pushes the voodoo doll. Now you can add any "W" linedefs you want. First one is recommended to be "stop crusher".

 

Now for the switches. Usually when you touch any wall, sliding code will kick in and you will be stopped. However, there are certain angles where sliding code gives up and won't stop you. I have added fully horizontal lines (with correct direction) which have both sides referenced to other sector. This sector is "closed". So the voodoo doll can't cross that line. But thanks to the shape, it won't loose any momentnum.

This way the "conveyor belt" is waiting for other condition. Or multiple conditions. You can place more walls like this. As you can see i use two walls. That's why you have to press both switches (in any order) to activate the demo.

 

I have seen a few maps that use boom conveyor belts to do some tricks. Like even a multi-use, where they use one conveyor belt for different stages in the map.

This can do that too, in vanilla.

 

So i suppose wall-blocker thingy might be the only new idea here?

Share this post


Link to post
1 hour ago, kgsws said:

I haven't seen any example of this (yet) so i have decided to try this. My goal was to loose as little health as possible. And that would be 2HP (with my setup). I also did not want to modify the game in any way (= no dehacked).

Ill link to it below, but NiH made a version with 1 HP health loss.

 

But judging from what you are saying, am i right in asserting that you apparently discovered this trick independently of Linguica and NiH?

1 hour ago, kgsws said:

Are there any good examples? I would like to see what other people did ... and how. (i have checked "brexit" and "Fricassee" so far)

The Linguica Archive covers all the ones made by Linguica and Nine Inch Heels (Section Mikoveyor Mania)

 

1 hour ago, kgsws said:

When you add any movement to the sector (floor or ceiling) voodoo doll will be placed correctly over the ledge (even if it is not touching that sector at all!). Then barrel explodes, which pushes the voodoo doll. Now you can add any "W" linedefs you want. First one is recommended to be "stop crusher".

The way i understand a Mikoveyor (or one implementation of it) is that its at range -32767 and causes an overflow, leading to the behavior that it moves and thus can activate actions.

 

Before i was going to answer this, i did some more research and sans the voodoo loop by Wraith777, earlier, i found a thread by @JadingTsunami with safe heights for Mikoportals. This seems to describe a lot of what you are doing here.

 

Share this post


Link to post
44 minutes ago, Redneckerz said:

Ill link to it below, but NiH made a version with 1 HP health loss.

Yeah, it's different from my setup.

 

47 minutes ago, Redneckerz said:

But judging from what you are saying, am i right in asserting that you apparently discovered this trick independently of Linguica and NiH?

Yes. Well that was some time ago.
More than 10 years ago i have found -32768 floor "portal" bug. It was in skulltag cheat-enabled server, actually enhanced with my EXE hack, someone was hosting. My modifications allowed us to summon things with "linedef" actions. You know, as if you added this action to the thing in the editor.
There was a pool of water in the map and i tried to make the deepest hole possible. Since i knew how computer represents numbers, i used -32768 (= deepest possible hole). After jumping in i have realized that it is not possible to land there. I immediately knew why (i will explain later).
I liked this trick and summoned torch on the top with "teleport" action. You can actually enter -32768 floor height sector using teleport. This was fun, because as soon as someone jumped there, they started falling trough the floor again. At this time i did not make a connection to voodoo dolls or "scripting". It was just an online fun.

Only somewhat recently i have played few mods that use boom conveyor belts for "scripting". So while i knew about -32768 portal for some time, i didn't make the connection to conveyor belts for a long time. I am quite sure "Mikoveyors" were discovered before i made the connection and started thinking about it. It's because of my recent vanilla experiments i have decided to give it a go. I have used a few more tricks, as you can see in description in my previous post.

I was hoping for new true vanilla trick that mappers could use. But it seems like people are aiming at boom compatibility level nowdays. (That's one of the reasons why ACE engine did get suspended.)

 

1 hour ago, Redneckerz said:

The way i understand a Mikoveyor (or one implementation of it) is that its at range -32767 and causes an overflow, leading to the behavior that it moves and thus can activate actions.

I am gonna try to explain why "Mikoveyor" works. Now forget about scripting and stuff. Just why does the voodoo doll move sideways without stopping.

In games, if you are on the floor you will eventually stop moving because of the friction. It is more realistic to stop moving gradually instead of instantly. So if barrel explosion pushes the voodoo doll sideways, it would just stop because of this friction.

However, if you are falling, there is no friction. Well, some modern source ports add friction in air. But in vanilla you'll just move sideways until you hit floor or wall.

The trick is to make voodoo doll fall forever. This is possible thanks to limited range of numbers.

If you are falling down, internally you have some momentnum in Z direction. Let's say you are falling with the speed of -16.

 

The floor is at 48, you are at Z 56 and falling with the speed of -16. Game does the math, 56 - 16 = 40, your new Z will be set to 40. Then the game checks if you are under the floor: if thing Z (40) is less than 56 set thing Z to 56. This way things are never under the floor.

 

However if we move way down, to the limit of doom numbers we get this:

The floor is at -32768, you are at -32758 and falling with the speed of -16. Game does the math, -32758 - 16 = -32774. Lowest possible value for signed 16 bits number is -32768, so the result of last operation is not -32774 but actually 32762 (positive number, it underflows to the top). The game does not find you in the floor, so no slowdown. It actually finds you inside ceiling and so moves you just under it. From ceiling you will continue falling down, trough the floor again. Thus never touching the floor.

And as long as you (or the voodoo doll) are falling, you will not encounter any floor friction.

 

Now apply any sideways momentnum (like from the barrel) and you can make voodoo doll fall sideways forever. Technically you can even make infinite conveyor belt if you stretch it across the entire length of the map (from -32768 to 32767) and remove walls at both ends (only leave two side walls, for sector to actually exist). The same overflow will happen at X or Y coordinates.

I have not tried this though, it would take ages to move across this distance with such a low speed.

 

Hmm, now i wonder if "elastic collision" bug could help there to redirect the voodoo doll and make it go in "circles" maybe? That could create a nice looping sequence.

 

Anyways, you can also create "scripting" using flying monsters. Since flying monster won't fall to the floor you don't need to use -32768 floor trick. Just push the monster using a barrel, like used for conveyorbelt. Lost souls do not count as a kill so that would be a great choice. However, monsters can activate only a few line types. So that is very limiting.

Share this post


Link to post
7 hours ago, Redneckerz said:

It might also be worthwhile to preserve your Tutorial on how to create these Mikoveyors with your prefab, perhaps on that same page. I am not sure how much of your tutorial has changed since, though.

So far nothing in terms of "tutorials" has changed, other than the fact that we ended up with a more "complete" prefab later down the line, which I believe is also mentioned in your "linguica archive"... If anything, somebody (that being either ling or yours truly) would need to actually sit down and create a more streamlined tutorial that provides all the necessary information as well as the most up-to-date prefab (that being the pre-loader) in one single, properly-structured post in the editing subforum...

 

I've had that on the backburner for a disturbingly long period of time, to be fair - partially because I still expected some more stuff to be done/discovered that would be worth having in a "definitive" tutorial to begin with and partially because I wasn't sure if ling had anything of the sort planned himself. As it stands, nothing beyond what's scattered across the respective thread has really happened so far, the dream of getting a looping script to work has not come true at this point in time, which isn't much of a surprise, but also kinda sad, heh... Having said that, it shouldn't be too difficult to talk to ling about who should go ahead and "compress" the relevant information into a post proper... So maybe that's something that could be done on a rainy afternoon...

Share this post


Link to post
21 hours ago, Redneckerz said:

I found this shortly prior to your post, but appreciated that you mentioned it! Which version of the mikoveyor did you use?

Sorry, only just noticing this now. I used whatever mikoveyor prefab was the last one uploaded in that thread, I guess?

Share this post


Link to post
28 minutes ago, kgsws said:

Yeah, it's different from my setup.

Then i guess this is an independent discovery then. Congratulations!

28 minutes ago, kgsws said:

Yes. Well that was some time ago.
More than 10 years ago i have found -32768 floor "portal" bug. It was in skulltag cheat-enabled server, actually enhanced with my EXE hack, someone was hosting. My modifications allowed us to summon things with "linedef" actions. You know, as if you added this action to the thing in the editor.

This got me on a search on the old Skulltag archives since that was the only port i had not yet really documented up to this point. The search was very interesting, and i came across a lot of interesting stuff, such as KGBuild. I wonder if you still have all these things laying around, because the bolded sounds interesting enough to study over, aswell as your various exe hacks. If anything, there are a lot of remarkable ideas you have put to reality over the course of years, but a lot is unavailable or gone. The Skulltag forum has a re-hosted page, but all links are goners. I would atleast be indebted if these things were archived, so that people can look at these ideas and implement their own.

 

To the bolded: Was this by any chances Skulltag: Extra Edition or Skulltag: Advanced Cheat Server Control (Skulltag-ACSC)?
 

28 minutes ago, kgsws said:


There was a pool of water in the map and i tried to make the deepest hole possible. Since i knew how computer represents numbers, i used -32768 (= deepest possible hole). After jumping in i have realized that it is not possible to land there. I immediately knew why (i will explain later).
I liked this trick and summoned torch on the top with "teleport" action. You can actually enter -32768 floor height sector using teleport. This was fun, because as soon as someone jumped there, they started falling trough the floor again. At this time i did not make a connection to voodoo dolls or "scripting". It was just an online fun.

Only somewhat recently i have played few mods that use boom conveyor belts for "scripting". So while i knew about -32768 portal for some time, i didn't make the connection to conveyor belts for a long time. I am quite sure "Mikoveyors" were discovered before i made the connection and started thinking about it. It's because of my recent vanilla experiments i have decided to give it a go. I have used a few more tricks, as you can see in description in my previous post.

Yes, that and your later alinea are - in a nutshell - how i remember a Mikoveyor setup works within Vanilla, but not in a source port like GZDoom. I think what misses is a proper tutorial - or atleast a more visible one that can be called from in UDB as a plugin prefab.

28 minutes ago, kgsws said:

I was hoping for new true vanilla trick that mappers could use. But it seems like people are aiming at boom compatibility level nowdays. (That's one of the reasons why ACE engine did get suspended.)

The damn irony is that we do have quite a lot of talented vanilla mappers going on and about, but the more technical minded do target higher-up ports indeed, like Boom. I think ACE Engine is wonderful enough that someday someone will come around and will make use of it, in the same vein people have (rudimentary) released maps using vanilla conveyors. If an idea is solid enough, someone will find a way for it. So don't give your hopes up! Your ACE example wad shows what can be done, and the same will apply for your vanilla scripting work here.

 

25 minutes ago, Nine Inch Heels said:

So far nothing in terms of "tutorials" has changed, other than the fact that we ended up with a more "complete" prefab later down the line, which I believe is also mentioned in your "linguica archive"... If anything, somebody (that being either ling or yours truly) would need to actually sit down and create a more streamlined tutorial that provides all the necessary information as well as the most up-to-date prefab (that being the pre-loader) in one single, properly-structured post in the editing subforum...

Frankly i am too stupid to write a tutorial (That's ling's area right there) but i could write a summary enough to put on the wiki, along with the prefabs and what not.

 

Ideally those prefabs could be on /idgames. But from what i recall from a talk with ling is that his experiments with this were not to be put on /idgames in the first place. So perhaps a prefab could, but not his experiments.

 

Maybe this needs a showpiece to get into the limelight.

25 minutes ago, Nine Inch Heels said:

Having said that, it shouldn't be too difficult to talk to ling about who should go ahead and "compress" the relevant information into a post proper... So maybe that's something that could be done on a rainy afternoon...

For what it is worth, i would love to see that become a reality.

Share this post


Link to post

Pretty cool! You can also see my map in Ray Mohawk 2 if you want another example of vanilla scripting. It's on Map 16 (Pier Pressure), after going to the blue key building. It doesn't use conveyor belts - but the idea of crushers, voddoo dolls and barrels to activate multiple linedefs are mostly the same.

 

Edited by Noiser

Share this post


Link to post

Small update on my "elastic collisions" testing. I have not managed to make looping conveyor belt but i have found out why elastic collisions happen. And the description on WiKi is not correct. Or incomplete.

The bug is very funny. If you are moving slower or equal to 16 map units per tic, "PIT_AddLineIntercepts" uses flawed line crossing detection. Basically, it considers every single wall to be infinitely long. Of course, thanks to block map, the game does not check every single wall in the level. But still, it will try to check more walls than necessary. Funnily enough, this happens even if you are blocked by things.

Check out my new demo WAD. It's not supposed to be a viable setup, but it shows something.

First of all, i have added gray pillar that is kinda required for proper conveyor function, otherwise voodoo doll will have very tiny Y momentnum, which would add up overtime.

Second, the pillar has one wall marked with "radioactive" texture. This wall is actually the wall that voodoo doll bounces off of when it hits stalagtite in the way.

Yes, it does not bounce off of stalagtite but off the wall that is way back. Stalagtite here only forces the game to use sliding code. I have confirmed this by modifying the code to highlight collisions.

The function that will modify your momentnum is "P_HitSlideLine". There might be a few cases where you get more overall speed than you have put in. Though, that gets very complex very quickly. Especially if you want to make an infinite loop. That requires precise results.

 

6 hours ago, Redneckerz said:

This got me on a search on the old Skulltag archives since that was the only port i had not yet really documented up to this point. The search was very interesting, and i came across a lot of interesting stuff, such as KGBuild. I wonder if you still have all these things laying around, because the bolded sounds interesting enough to study over, aswell as your various exe hacks. If anything, there are a lot of remarkable ideas you have put to reality over the course of years, but a lot is unavailable or gone.

Yeah, i did some stuff back then. KGBuild was fun. Someone even asked me whether i based this on Minecraft. Meanwhile i had no idea what Minecraft is. Minecraft barely had survival at that time.

Unfortunately, i'm afraid that everything is lost. I've checked and i haven't found anything on my disk drive.

 

6 hours ago, Redneckerz said:

To the bolded: Was this by any chances Skulltag: Extra Edition or Skulltag: Advanced Cheat Server Control (Skulltag-ACSC)?

It was! Most likely ACSC. I've actually forgot about "extra edition" already. But ACSC was my coolest hack for Skulltag. Every feature could have been setup using menus on the server side.

 

Well, here is the demo wad for BOUNCE:

 

6 hours ago, Redneckerz said:

Maybe this needs a showpiece to get into the limelight.

Maybe this needs a python script that would automatically add the required setup to already existing map after the map is created. Like when you compile ACS in Hexen format.

 

3 hours ago, Noiser said:

Pretty cool! You can also see my map in Ray Mohawk 2 if you want another example of vanilla scripting. It's on Map 16 (Pier Pressure), after going to the blue key building. Doesn't use conveyor belts- but the idea of using crushers, voddoo dolls and barrels to activate multiple linedefs are mostly the same.

 

That's actually pretty cool. I have just tried in vanilla. You are also teleporting explosions in. Cool stuff. I wonder if teleport fog for barrels is only visible in vanilla.

 

 

HERE IS THE DEMO WAD

bounce.zip

Share this post


Link to post
On 1/9/2022 at 8:04 PM, kgsws said:

That's actually pretty cool. I have just tried in vanilla. You are also teleporting explosions in. Cool stuff. I wonder if teleport fog for barrels is only visible in vanilla.

The fog appears in all ports I tested, however the timing with crushers is inaccurate on GZDoom (it works, but the effect is less cooler compared to cl2 ports). Not only that, but there's a few barrels that I teleport closer to the player, for sound effect purposes (since the ship is too far to have audible explosions) - and again, perfect sync on cl2 ports, worse execution on GZDoom - even on "Doom strict" settings.

 

Despite the difference in physics and timing, the effect is 100% functional in all source ports.

Edited by Noiser

Share this post


Link to post

Hmm, here's a small update and i think i am gonna leave it like this.

First bounce is easy. It's 100% calculated and i can choose different directions.

Other bounces are a mess. Since the voodoo doll is no longer moving only in X direction, any further line calculations are a mess.

Technically, it should even be possible to build-up momentnum.

vplinko.zip

Share this post


Link to post

I have tried a bit different approach and managed to get "voodoo doll booster". It uses elastic collisions again.

This new approach is way easier to calculate, but limits bouncing options. So i made it bounce back and forth in place, while gaining momentnum, until it reaches enough speed to skip the blockage.

This setup not only requires specific wall angles but also very specific wall order in the map file. Multiple elastic collisions are stacked in specific order in a single tic.

 

Still a bit far from an actual loop, but concept seems sane. The boost you get is quite interesting, isn't it?

voodoo_booster.zip

Share this post


Link to post

It is actually pretty interesting, although I'll also have to be the buzzkill here and point out that I feel sorry for the bloke who tries to use that as a prefab in any map they wanna build, due to the specifics you pointed out in your post there....

 

Having said that, if there was any way, and I mean just any chance in hell that this would be possible to make work based solely on angles alone, then it would be an absolute winner in my book...

 

Also, on the subject of calculating the required angles for walls, if the doll makes contact with a 2-sided line, then would probably help bringing the doll back into a purely X or Y axis oriented movement instead of retaining some manner of angular momentum... the problem that I see with that though, is that it might then also affect the angles that will be required by other walls meant to provide an elastic collision, and that seems like a crazy rabbit hole to get into...

Share this post


Link to post
On 1/11/2022 at 7:47 PM, kgsws said:

"voodoo doll booster"

 

After getting softlocked in every Ribbiks map ever, I tried making a particle accelerator out of wedges once (and as a secret, used here:)

 

 

[edit: snipped for filespace; was a gif of a wedge wobble secret in NoisyDiahrrea Map24-or-so.

 

I never read the Doom Movement Bible though, so I don't know if my efforts of barrelling voodoo dolls into wedges was futile or not.

wedge.gif

Edited by NoisyVelvet

Share this post


Link to post
On 1/12/2022 at 6:41 AM, Nine Inch Heels said:

It is actually pretty interesting, although I'll also have to be the buzzkill here and point out that I feel sorry for the bloke who tries to use that as a prefab in any map they wanna build, due to the specifics you pointed out in your post there....

Well, it's absolutely sensitive for specific numbers. It's using an obscure bug, so that is inevitable.

 

On 1/12/2022 at 6:41 AM, Nine Inch Heels said:

Also, on the subject of calculating the required angles for walls, if the doll makes contact with a 2-sided line, then would probably help bringing the doll back into a purely X or Y axis oriented movement instead of retaining some manner of angular momentum... the problem that I see with that though, is that it might then also affect the angles that will be required by other walls meant to provide an elastic collision, and that seems like a crazy rabbit hole to get into...

It does, and i rely on this fact in booster example. However, while it will bring voodoo doll purely into X or Y axis, it is not exactly consistent. It heavily depends on the distance in movement step.
At best, in extremely rare cases you can keep X or Y momentnum intact. But in most cases you have to loose a bit.
This also makes difficulty-independent booster pretty hard. While in my demo you will get very similar boost regardless of difficulty, it's just not the same.

It is a crazy rabbit hole indeed.

Share this post


Link to post
On 1/10/2022 at 12:04 AM, kgsws said:

Yeah, i did some stuff back then. KGBuild was fun. Someone even asked me whether i based this on Minecraft. Meanwhile i had no idea what Minecraft is. Minecraft barely had survival at that time.

Unfortunately, i'm afraid that everything is lost. I've checked and i haven't found anything on my disk drive.
It was! Most likely ACSC. I've actually forgot about "extra edition" already. But ACSC was my coolest hack for Skulltag. Every feature could have been setup using menus on the server side.

 

I did manage to find various KGBuild files as pk3's, but not as a separate program. I also managed to find Skulltag Extra, which is interesting as it is a source mod.

 

Considering ACSC, could you take an additional look considering the rather awesome features it possesed?

On 1/10/2022 at 12:04 AM, kgsws said:

Maybe this needs a python script that would automatically add the required setup to already existing map after the map is created. Like when you compile ACS in Hexen format.

Would an OMGFILOL script be worthwhile? Or a plugin? In the latter i honestly have no idea how UDB does it (Lua scripting comes to mind)?

Share this post


Link to post

Has anyone tried scripting using DeHackEd and monster's hitscan attack?

 

Something like this:

 

Share this post


Link to post
1 minute ago, Sinshu said:

Has anyone tried scripting using DeHackEd and monster's hitscan attack?

 

It's been done in Rekkr

Share this post


Link to post

Edit: Meant to edit this, not double post. Whoops. How do delete.

Edited by Revae

Share this post


Link to post
8 hours ago, Sinshu said:

Has anyone tried scripting using DeHackEd and monster's hitscan attack?

 

Did a dehacked scripting monster as a test a while ago. It does a lost soul charge every so often and fires a pistol shot, so it can run across linedefs and trigger DR Normal door, W1 Normal Door, WR Normal Lift, and GR Door open Stay line actions. You have to interrupt the charge, unless you want it triggering a few things rapidly, so I have it running into teleporters.
WEBM:
https://desu-usergeneratedcontent.xyz/vr/image/1612/16/1612164773748.webm
 

The idea was to make something that would be useful for complex-ish scripting and not require a voodoo doll. You can have looping scripts too due to the teleporters. The timing isn't *as* consistent as a voodoo doll, but it's not too inconsistent either. 

 

Also the OP is pretty damn nifty.

Share this post


Link to post
On 1/20/2022 at 11:24 PM, Revae said:

 

Did a dehacked scripting monster as a test a while ago. It does a lost soul charge every so often and fires a pistol shot, so it can run across linedefs and trigger DR Normal door, W1 Normal Door, WR Normal Lift, and GR Door open Stay line actions. You have to interrupt the charge, unless you want it triggering a few things rapidly, so I have it running into teleporters.
WEBM:
https://desu-usergeneratedcontent.xyz/vr/image/1612/16/1612164773748.webm
 

The idea was to make something that would be useful for complex-ish scripting and not require a voodoo doll. You can have looping scripts too due to the teleporters. The timing isn't *as* consistent as a voodoo doll, but it's not too inconsistent either. 

 

Also the OP is pretty damn nifty.

Is this a .deh you are willing to release as a standalone file? I figure this might be a useful tool for vanilla mappers to implement some form of scripting that is (arguably) less complex (and less accurate) than a mikoveyor.

Share this post


Link to post

I vaguely remember ages ago trying some dehacked tricks like this involving monster attacks without actually waking up the monster and giving it a real target via the standard A_Look/A_Chase, and running into crashes with it while testing in Choco. Has anyone else run into this, or other issues with it (memory corruption I guess?), or is it safer than I remember?

Share this post


Link to post
9 hours ago, Redneckerz said:

Is this a .deh you are willing to release as a standalone file? I figure this might be a useful tool for vanilla mappers to implement some form of scripting that is (arguably) less complex (and less accurate) than a mikoveyor.

Sure, as soon as I find the file in my absurdly unorganized doom directory.

The pause the thing does could be sped up too. Iirc it uses the dead lost soul thing...

 

Edit: found it and fixed an oversight that made it unreliable in chocolate... I didn't test in vanilla proper, but probably should.

Has the little test map.

Don't get close to him or he'll gib you.

c_dummy.zip (newer one below)

 

edit edit: seems to be unreliable in GZDoom now. Like I said it was a test I did, so yeh. Might be compatibility settings, but I'll check it out.

 

edit edit edit: well, it's more reliable in GZDoom. I gave him a speed of 32, so every time he skull-attacks he jumps a distance now, which lets him open doors. The issue was, I guess, that if you sidled up to the door a bit he would skull attack toward you, and then be either too far or too close to open the door? Either way he wasn't "walking" into it well enough. There's probably a better solution, but I don't know what it is. It seems to work fine if you stay farther away, which I think you would be anyway if this were to be used in a map. You can change the speed of the "scripts" if you can call them that by changing his chase duration. Or his PosAttack duration  or whatever I guess.

c_dummy_attempt2.zip

He will still break if you run to the corner of the door. Might also have something to do with him jumping up during the skull attack? If anyone figures it out lemme know. Curious.

OH. And I had to make him affect kill % or he couldn't open W1 or WR linedefs because GZDoom didn't see him as a monster. So I changed his health to 1 so he'd be easy to kill when you were done with him. Okay, done editing this post for real now. Lot of little things I kept forgetting.

 

Anyway, I hope it's useful to someone. I think it can be tweaked for some optimal reliability and usability.

Edited by Revae

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×