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

For mappers: Zscript to force disable jumping and crouching

Recommended Posts

So the answer is education?

I guess engines could just do something, but if it has potential to break old mods, that's a nonstarter.

Oh well, at least mods like these make it harder for new users to break a level, and experienced players can gut it if they want, in case someone uses the no out version.

 

Obligatory I don't understand artists here.

Share this post


Link to post

To throw in my two cents, this approach really won't work unless players are going totally vanilla (plus this .wad).

 

For one thing, this can easily, EASILY, be overridden just by people loading up a new mod with their own player pawn, especially by overriding calls to CheckCrouch and CheckJump.

 

Even if there were a way to have it override the jump after whatever overrides PlayerPawn classes possessed (which would be counterintuitive and absolutely, utterly stupid, by the way), people will always be able to disable those options by themselves once they get the mod.  I'm certain that this will be the case the moment people realized that you've attempted to force-disable jumping.

 

Regardless of what you do, people will always find ways to work around it, or at least disable this stuff... and if for whatever reason they can't, and aren't content with the inability to jump or crouch, then they may refuse to play your mod altogether.  If this happens, at least don't be surprised when it happens.

Share this post


Link to post
9 minutes ago, DoomKrakken said:

Regardless of what you do, people will always find ways to work around it, or at least disable this stuff...

 

I think the point is make people pass the "do you really want to break this map" check.

 

10 minutes ago, DoomKrakken said:

and if for whatever reason they can't, and aren't content with the inability to jump or crouch, then they may refuse to play your mod altogether.

 

Which is fine, everyone has the right to not play something. Going online to complain about disliking something enough to tell everyone why is called being salty. Life is too short, shouldn't reduce it with massive sodium intake. And some mappers don't want the same canned responses of why it's their fault that the user broke their map.

Share this post


Link to post
33 minutes ago, Edward850 said:

This isn't true anymore, and it has nothing to do with intelligence. 20 years ago, sure this would be a reasonable assumption, however the natural consequence of Doom being a 25 year old game which just had an extremely well received new title 3 years back and an upcoming anticipated one means we are guaranteed to have new players who have never played the original executable, and thus do not know what the original rules actually are, and how could they? GZDoom makes no effort to clarify this after all, but everyone just recommends downloading GZDoom. So where in this sequence of events is a new player supposed to understand what you can and can't do when the default rules of the port everyone recommends downloading having completely different behaviour? They aren't going to ask, there's no assumption that they even need to.

 

There are people who are starting to play Doom now who weren't even alive when Doom3 was released. There is no way in hell you can rely on the existing concept of "well everybody just knows Doom" when the first Doom game they play statistically may very well not even be the classic game. 

Ok, fair enough. Although i have strong doubts that anyone born into the world of Call of Duty and Battlefield will ever touch a game from 1993.

Share this post


Link to post
5 minutes ago, Youda said:

Ok, fair enough. Although i have strong doubts that anyone born into the world of Call of Duty and Battlefield will ever touch a game from 1993.

 

You'd be surprised.

Share this post


Link to post
4 minutes ago, Youda said:

Ok, fair enough. Although i have strong doubts that anyone born into the world of Call of Duty and Battlefield will ever touch a game from 1993.

 

Of course younger people will discover and play Doom.  This forum is full of them, and it's about as old-school as Doom forums get.  There was even a post here just the other day asking if it was normal to lose your weapons upon death in Choco Doom, perfectly encapsulating Edward's point.

 

Back on topic, I'm torn a bit:

 

Have I watched streamers break my map by jumping when they shouldn't?  Yes

Would I want to absolutely force it off through scripting?  No

 

31 minutes ago, PaquoCastor said:

So the answer is education?

 

This, this and this.  In my experience, most people who break maps by jumping don't really realize they shouldn't be doing it.   I reckon a script that simply posted a one-off message the first time someone jumped that said "Please note: This map was not designed for jumping, and could break progress" would be all you need.  If someone desperately wants to continue jumping then they should be able, as long as they understand it could have consequences.

 

Share this post


Link to post

Hey, so I feel like there's some unneeded anger in this thread from some of the other posters. I get that my previous post may seem pretty heated, but, as explained,

1) I have prior history there.

2) I felt that the previous responses by that person, while polite on the surface level, were anything but in actual content.

 

I don't feel like anyone else in this thread deserves anything resembling that kind of response. This is directed at both people I agree with and disagree with.

 

 

1 minute ago, Bauul said:

 

This, this and this.  In my experience, most people who break maps by jumping don't really realize they shouldn't be doing it.   I reckon a script that simply posted a one-off message the first time someone jumped that said "Please note: This map was not designed for jumping, and could break progress" would be all you need.  If someone desperately wants to continue jumping then they should be able, as long as they understand it could have consequences.

 

 

That's essentially what the version of the script with the counter is, although the number is higher than just 1 I guess. I made the code easy to tweak.

Share this post


Link to post

No, I get the point.  I'm just saying it's a dumb way of going around this.

 

Think about it... if there were a way to override all players' CheckCrouch/CheckJump virtuals after the fact... then that could spell doom for you (and not the good kind :P ).

 

I'm developing a mod called "Embers Of Armageddon", which attempt to faithfully recreate the weapons, items, combat mechanics, and upgrade systems of DOOM (2016) to OG Doom/Doom II via GZDoom.  As it does so, one of the things players can do in the mod is perform a double jump.  The way my player pawn handles that is via a CheckJump override.  Now, if (God forbid...) there were some way to override all players' corresponding Check[Action] virtuals after the fact (like I listed above), what would then happen to the players' ability to double jump?

 

Correct me if I'm wrong, but Guncaster also utilized CheckJump to handle jumping now... since you can jump multiple times in the mod.

 

The point I'm trying to make is... the changes that such a concept would introduce cannot ever hope to take everything that could be listed in a CheckJump/CheckCrouch/CheckWhateverHaveYou override into account.  It'd break so many mods that can and will utilize this sort of stuff.  To take this sort of power away from players would be irresponsible and could potentially cause much more harm than good.

 

There will always be people who will play your mod and/or change it in ways you yourself may not like.  But what are you to do about it?  It's a mod, released for free, for all to play and enjoy and mod themselves as they please.  But your mod in all its "vanilla" glory will still be available to download in its unaltered form.

 

For me, personally, I love playing with jumping and crouching.  It adds another dimension for evasion in combat.  I am fully aware that the vast majority of maps made for Doom can be completed without using such mechanics and that several of them can be broken easily from using them.  This is why I'm typically afraid to use them until I know how to complete the map as was originally intended (though I still find it dumb when certain mappers put a keycard on a ledge that can't be stepped on, but can be jumped on... but to each his own).  Also, once I know how to approach a map as it's originally intended... I can use jumping/crouching as shortcuts when moving back and forth through the map if I don't want to spend as much time backtracking.

Share this post


Link to post

If they have a launcher, then yes.  Some don't... though that goes back to education.

 

Besides that, your override can, of course, be easily overridden by other mods by loading them after a mod implementing similar measures to what you did.  I said before, that's not gonna do much.

 

If there were a way to implement such a change regardless of what order these mods were loaded, then that'd be counterintuitive and harmful (thank God that's not even possible... yet).

Share this post


Link to post
2 hours ago, DoomKrakken said:

If they have a launcher, then yes.  Some don't... though that goes back to education.

 

You do not need a launcher to determine wad/mod load order; .bat files, shortcuts, and even dragging and dropping all let you specify a load order.

Share this post


Link to post
29 minutes ago, Chronos Ouroboros said:

Hi :)

 

[edit]Added a v2, might be slightly more robust[/edit]

 

wouldn't just overriding the zmapinfo playerclasses just work? your approach seems excessively complex. i would also request that perhaps you provide some information about why jumping was disabled in the first place.

 

as i stated before, i'm perfectly okay with people enabling jumping, as long as there is a larger amount of communication to the player.

Share this post


Link to post
43 minutes ago, anotak said:

wouldn't just overriding the zmapinfo playerclasses just work? your approach seems excessively complex.

Not really. That'd override any mods' playerclasses, which is what it's supposed to avoid. This works regardless of the mods loaded, and only triggers if it detects that the jump-blocking class is in use - otherwise, it does nothing.

 

43 minutes ago, anotak said:

i would also request that perhaps you provide some information about why jumping was disabled in the first place.

Sorry, but I'd rather not. If the player is loading a file named "UnblockJumpingAndCrouching.pk3", it's safe enough to assume they don't care at all whether or not the map will be broken by jumping and crouching.

You could also make a script of your own that tells the player that jumping and crouching is not intended on game start. That way, users get notified no matter what any scripts do to override your blocking. ;)

Share this post


Link to post

not sure why you feel the passive aggressive smiley faces are necessary.

 

the reason to not just display such a message no matter what on startup is to only show information when it is needed. information overload isn't a good thing.

Share this post


Link to post
7 minutes ago, anotak said:

not sure why you feel the passive aggressive smiley faces are necessary.

They aren't passive aggressive at all. Not sure where you're getting that from, considering they I meant it to look more friendly...

If anything, I feel like your own replies to me are rather passive aggressive. Not sure why you'd act like that towards me, considering I have literally never talked to you before in my whole life. :\

7 minutes ago, anotak said:

the reason to not just display such a message no matter what on startup is to only show information when it is needed. information overload isn't a good thing.

Perhaps, but I feel like players would be more bothered by suddenly being stopped mid-gameplay instead of being notified on game start.

Share this post


Link to post
2 minutes ago, Chronos Ouroboros said:

They aren't passive aggressive at all. Not sure where you're getting that from, considering they I meant it to look more friendly...

If anything, I feel like your own replies to me are rather passive aggressive. Not sure why you'd act like that towards me, considering I have literally never talked to you before in my whole life. :\

Perhaps, but I feel like players would be more bothered by suddenly being stopped mid-gameplay instead of being notified on game start.

Ah, i misread the situation. Usually when i see people use the ";)" smiley toward someone while explaining a thing, it's in the context of talking down to them. My bad.

 

That's part of why i brought it up directly though, in order to establish what the intent is.

 

As far as not having talked to you, no, we haven't. I've just previously had situations where people registered sockpuppet accounts to harrass me in the context of my previous work on doom (the very same work Graf had a problem with). It's difficult for me to assess someone's intent when they have only 3 posts. I've now googled and see you are a real person, but you can understand why I might be jumpy in this context?

 

So, i think you have a point about the players being bothered by a startup message, and there's a balance to be made i guess. It would be nice if it were possible to read the actual mapinfo value from zscript and compare it with the current user setting/dmflag, and only print an informative message in that case, but this functionality does not appear to exist. I think information overload / unneeded info is a larger problem. I also think it makes the most sense to let mappers choose what is correct for their project in particular. This does give me an idea though.

Share this post


Link to post
24 minutes ago, anotak said:

So, i think you have a point about the players being bothered by a startup message, and there's a balance to be made i guess. It would be nice if it were possible to read the actual mapinfo value from zscript and compare it with the current user setting/dmflag, and only print an informative message in that case, but this functionality does not appear to exist. I think information overload / unneeded info is a larger problem. I also think it makes the most sense to let mappers choose what is correct for their project in particular. This does give me an idea though.

While you can't check the MAPINFO value, is it actually necessary to do so? The mapper already knows they want the player not to jump and crouch, so you may as well just print the message if either sv_allowjump or sv_allowcrouch is enabled, no?

Those are also "server" CVars, so they're trivial to check*.

 

* (If you don't know how to do it already, to get the value of a server CVar, you can simply use its name as if it were a constant)

Share this post


Link to post
20 hours ago, Doom Marine said:

Too much arguing, not enough skin in the game.

 

I'm adding this to DVII.

 

 

 

 

image.png.0678a5798fa2e7ecb3271836d893496f.png

 

I went with the strictest version: no message in the middle of screen, no bailing out, no jumping.

 

DVII First Edition in 2008 came with ZDoom configured to disable jumping, this solution is more flexible.

Jumping is discouraged in the First Edition, and banned in the Second Edition.

Thanks @anotak!

Share this post


Link to post

Wait wait wait...
So purist mapper which fight with source port additions with righteous fervor used powers of source port additions to "cleanse" source port from source port additions?

Share this post


Link to post

This is beyond stupid.

 

All this is going to accomplish is that Graz Zhal incorporates the file posted above, or an even more robust in-engine method to undo the changes in this mod, and in the worst case for people who might like this idea, even block any further attempt in the future to nullify jumping/crouching beyond what Graf considers reasonable. Which is completely fine, since it's his source port to begin with. And his philosophy really resonates with a lot of people, because they like to be in control of what they play, and most importantly, how. I wholeheartedly agree on the idea that players should be notified of the possibility of jumping/crouching breaking a map, but there's nothing stopping current mappers from doing so without going out of their way to enforce something that goes against the will of the player. It can also be done via ZSCRIPT in a similar approach to how this mod works, but the approach taken here was clearly different. The idea was not to warn people: that was secondary. The idea was to FORCE people to play how you want.

 

The current (Z)MAPINFO solution already works, since it must explictly be turned on every time you restart the engine. I find it excessive to try to completely shut down something for the sake of vanilla. Fuck that. More than half of Doom's ongoing players couldn't care less for vanilla, playing almost exclusively with gameplay mods, and trying to take control away from the player is not going to end well. It has taken... what? A day for someone to post a way to especifically block this mod? People like to be able to do what they please when they play, and they have every right to do so.

Share this post


Link to post
38 minutes ago, TechnoDoomed1 said:

People like to be able to do what they please when they play, and they have every right to do so.

Cool! Now contact any game developer of your choosing, and tell them you want to play their game in a certain way, meaning they need to change the rules of their game accordingly. Let us know how that went when you're done.

 

And by the way, mappers have every right to create in their spare time whatever they so desire, and no matter how often you keep telling yourself that somehow as a random player you have the last word in this matter, that simply isn't gonna change. Don't like what people share for free? Play something else. Simple.

Share this post


Link to post

Mappers can create what they want. And players can play as the please. You obviously have a problem with that, since that's specifically what you quoted. It's as if I want to use Cheat Engine on a game that is single player only. I have, and I will. Because once I have it in my possession, I can do with it what I want. And it can even go beyond that: people can modify any mods/maps/games to play as they like, and bastardize as they want, and as long as it's for personal use it's all fine and dandy. Want to stop it? Don't release it to the public.

 

You can't control how people get their fun out of your own creation. You can mark a clear path of "this is designed this way", put blocks to stop things you think might be counter-productive or don't like, inform players of their own misdoings... But all this may be circumvented, and if you get angry about how others use your creation, that's your problem. Same with fandom, fan edits, almost anything fan related really. You just have no control about what others do.

 

Also, my main point is that ultimately, this mod is just going to be blocked in-engine. So it's just defending a losing proposition. Graf Zhal has repeatedly said he wants the player to have ultimate control over the game, and it's his engine. And no one is telling mappers what to do, as you seemed to imply. You want to use this mod in your creations? Go ahead. Just know this mod doesn't have much future or won't stop someone from jumping in your map if they really want to.

Edited by TechnoDoomed1

Share this post


Link to post
1 hour ago, TechnoDoomed1 said:

This is beyond stupid.

 

All this is going to accomplish is that Graz Zhal incorporates the file posted above, or an even more robust in-engine method to undo the changes in this mod, and in the worst case for people who might like this idea, even block any further attempt in the future to nullify jumping/crouching beyond what Graf considers reasonable.

He most definitely won't. This mod is a gross hack to force a specific playerclass. There's no way in hell he'd add it to GZDoom.

 

38 minutes ago, TechnoDoomed1 said:

 

Also, my main point is that ultimately, this mod is just going to be blocked in-engine. So it's just defending a losing proposition.

Very unlikely. To do so, Graf would either need to set modding back by several years, or hardcode it to this specific class name - which would get circumvented pretty easily by simply changing the class name. Graf isn't an idiot so I doubt he'd even try to do either of those.

Share this post


Link to post

He throw several years worth of mod menus because they were doing things they weren't supposed to, and that wasn't even going against player control policy (which he has adamantly defended before). So I am not so sure about that. I can tell you that most probably Graf has already taken notice and made his mind about this mod as early as he read the thread. What he is going to do exactly none of us can possibly know without him saying, but it's certainly very possible.

Share this post


Link to post
Just now, TechnoDoomed1 said:

He throw several years worth of mod menus because they were doing things they weren't supposed to, and that wasn't even going against player control policy (which he has adamantly defended before). So I am not so sure.

He did that because said menus were causing problems where outdated mods would have incorrect or missing options, and it's very likely that there were people reporting that as if it were a GZDoom bug. He also added a system that added custom options back onto the menus, so it isn't even a real problem anymore.

This, meanwhile, is easily fixable by mods, and breaking it would involve fucking up several mods that were doing things perfectly right for no good reason. Graf might be strict, jaded and maybe even somewhat rude, but he most definitely isn't an idiot.

Share this post


Link to post
54 minutes ago, TechnoDoomed1 said:

Mappers can create what they want. And players can play as the please.

Well it turns out if I'd build my maps a certain way you could not play however you want, and unless you are reasonably savvy with regards to for example differences between source ports, you're not even gonna figure out what to actually edit in the first place. Matter of fact, I'm currently doing the polar opposite and "map around" these "engine differences" as much as I can, because I happen to know where GZDoom whiffs, and boy does it whiff a lot. So when push comes to shove, and I'm not even allowed to have an on-screen message as a warning for players to keep them from getting stuck, I'll consider making my maps incompatible with Graf's engine. Bonus for me in that case: I don't need to care about any engine discrepancies that Graf can't be assed to adress anymore. Seems like a sweet deal to me.

By the way, since I'm doing this mapping thing for free, loosing a supposed audience is nothing I am concerned about. And you know what? I don't care if you use jump, crouch, mouse-look, etc... What I care about people telling mappers like entitled little brats that they need to "fix that shit" they publish for free, just so it works however the respective player wants it to. Let's remind ourselves real quick mappers aren't your peasants, mmkay?

54 minutes ago, TechnoDoomed1 said:

So it's just defending a losing proposition. Graz Zhal has repeatedly said he wants the player to have ultimate control over the game, and it's his engine. Don't like it? Use another engine

See, here's where it gets obvious that you have no clue. None of the maps I make, and in fact most of the maps that are being made over the course of a year require Graf's engine in the first place. GZDoom-exclusive maps are, relatively speaking, a drop in a lake. I don't depend on GZDoom at all, because I target older engines which GZDoom merely claims to "emulate" in behaviour. Having said that, Graf's "engine", as you chose to call it, is nothing any mapper really depends on, unless they want to use certain features the particular engine offers. Modders are a different thing, but mappers? Nah, I can target CrispyDoom, Eternity, PrBoom+, ZDaemon, Zandronum... Just to name a few.

Share this post


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

Well it turns out if I'd build my maps a certain way you could not play however you want, and unless you are reasonably savvy with regards to for example differences between source ports, you're not even gonna figure out what to actually edit in the first place.

 

I am. In fact, what I've said before was because I always mod the mods of others for my own personal fun. Of course, I'm not publishing them, or claiming ownership of anything, or making any profit out of it. I respect the rights and wishes of their creators in this regard, and strictly speaking, it's just general ettiquete. I also respect it when a map has jump disabled by not force-enabling the first time around, but once I know which shortcuts I can or can't take to avoid sequence breaking, I'll freely jump.
 

32 minutes ago, Nine Inch Heels said:

What I care about people telling mappers like entitled little brats that they need to "fix that shit" they publish for free, just so it works however the respective player wants it to. Let's remind ourselves real quick mappers aren't your peasants, mmkay?

 

I haven't implied or said such a thing in any of my posts here. You act as if I disagree with you in this regard, while it's not true. I couldn't agree more - mappers are sometimes demanded things, when it's no one's place to demand anything out of free content. No one is entitled to have mappers cater to them. But conversely, I do hold the believe that mappers aren't entitled to aggressively control their players' actions. Directing, and controling through standard means is fine. Completely overriding their players' ability to do something is not fine by me. YMMV, but at any rate it's impossible to completely control players.

 

32 minutes ago, Nine Inch Heels said:

See, here's where it gets obvious that you have no clue. None of the maps I make, and in fact most of the maps that are being made over the course of a year require Graf's engine in the first place. GZDoom-exclusive maps are, relatively speaking, a drop in a lake. I don't depend on GZDoom at all, because I target older engines which GZDoom merely claims to "emulate" in behaviour. Having said that, Graf's "engine", as you chose to call it, is nothing any mapper really depends on, unless they want to use certain features the particular engine offers. Modders are a different thing, but mappers? Nah, I can target CrispyDoom, Eternity, PrBoom+, ZDaemon, Zandronum... Just to name a few.

 

I completely have a clue, yet I think you mistake me for a newbie or rookie, which I'm not. Don't mistake my post count for veterancy, I'm just a pretty old lurker. I'm not telling you how to map, or that you need to cater to people, or that you depend on GZDoom. I know full well how compatibility works - and if you map for vanilla, it can be played in GZDoom. And unless you go out of your way to avoid people to jump, it's on by default.

 

I am not telling you what you can or can't do in your maps, or pretend that you need GZDoom, or that you need to cater or listen to assholes to demand bug-fixing that isn't a bug but them being idiots because they jumped when they shouldn't (and if the issue here is that there's no warning, this mod could've just been a universal warning for GZDoom users trying to jump, instead of a universal stopper of such a feature, triggering divisive opinions and knowing full well it goes against the intent of the source port maintainer). I won't tell you these things. But I'll tell you that you have no business at all aggressively controlling how I play, and that if I ultimately want to bypass it, you're powerless to stop me.

Edited by TechnoDoomed1

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

×