[Huh?] Enjays previous "bug"

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Post Reply
Anonymous

Enjays previous "bug"

Post by Anonymous »

Enjay, you and randy disabled monsters from attacking you on a BLOCK ALL line, correct?

well will that stop lost souls from attacking you as well? that would be pretty cool.

but now... i just thought of another possible problem with the "assumption" that you two made in fixing the bug.... what if someone mapped a line using the grating or something? there are a few other cases that should be taken into consideration. im not exactly satisfied with how the "bug" was solved.

what if there was a forcefield type effect going on, and there was a boss, or maybe a chain gunner, that the forcefield was protecting you from?

i really urge you and randy to re-think the "fix"

if you MUST INSIST on the fix you already decided on, then i at least suggest you lower the chances of a monster attacking through a BLOCKALL line.
User avatar
MLdB
Posts: 92
Joined: Wed Jul 16, 2003 2:14 am
Location: The Netherlands

Post by MLdB »

Good point, I think it should be:

BLOCK ALL - exactly the same as a single-sided wall, but monsters can 'see through it'.

BLOCK ALL BREAK - same as block all, but can be shot at to execute a script (you may want that to get some neat debris effects, sound fx or whatever you like) and after breaking becomes a normal 2-sided impassable line.

and maybe even a BLOCK ALL BLIND - exactly the same as a single-sided wall, but the player can (if transparant / has holes) see through it... hmmm like a rocket-proof see-through mirror :)

the glass window = (passable +) block all BREAK

the grating / forcefield = block all
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

As I said before, an assumption isn't going to catch all cases. However, that assumption simply makes any "block all" line with a special behave exactly as they do now (or rather did do up until 2.0.52). I'm not saying there isn't a better way to do it, and I'm not saying that if there is a better way it shouldn't be used. All I'm saying is the "fix" makes lines with specials behave in exactly the way they used to, so it is reasonable to assume any old levels will behave in exactly the way they were intended to.

If a change were to be made, then IMO, it should be to return "Block_Everything" to it's original operation with respect to monster AI - which will ensure any map that uses it behaves in the way it always did, and presumably was intended to. Then a new blocking type or types could be added which people could use from now on.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49073
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

So if you need the old behavior just put a dummy special on the line that doesn't do anything (like Line_SetIdentification). Going back to the old version is not recommended. In most of these cases monsters being able to see through a BLOCKEVERYTHING line caused more problems than it solved. It looks rather stupid if a monster shoots repeatedly at an impenetrable window.
User avatar
Chris
Posts: 2942
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Post by Chris »

Most of the time it was the weaker monsters anyway. The former humans I could understand doing something like that since they're brainless dummies. Even hellspawn I can sorta understand, depending on how good their vision is supposed to be. The thing is, is that's how it was done and has behaved. Changing would lead to more trouble than just supplying another type to do this behavior, IMO.
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

The point is, all existing levels were made with the old behaviour. They followed the rules of the old behaviour, and changing the rules can upset those levels. The worst case scenario in preserving/restoring the old behaviour is that a level will behave as illogically as it always has done. The level may not be perfect, but it hasn't got any worse and the fact that it isn't perfect isn't Zdoom's fault, but the person who made the level. Zdoom shouldn't really be altered to account for sloppyness by map authors, especially when doing so changes levels made by people who followed the rules.

There were ways around the old behaviour that could allow you to wake up a monster, but not have it try and shoot through a blocked window. If people didn't opt to use those methods then that was their look out, but people who relied on the old method shouldn't be penalised for doing so.

As far as possible, when Randy has introduced a new feature, or changed an old one, he has made the original behaviour the default and allowed people to use the new version from that point on. (eg by adding an extra parameter to a script function, where the original behavior has the parameter set at 0 and the new option is 1 etc.) I don't see why this should be any different.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

Name one instance where this is going to cause a problem. Any BLOCKALL line with no special is nothing but invisible concrete as far as any projectiles are concerned. How is the monsters NOT shooting at such a surface over and over again going to affect anything?

In the grating example... What about it? If the line is set to block all and has no special, grating or no none of the bullets or other projectiles are going to pass through it with the BLOCKALL special on it, so why do you want the monsters to shoot at it? If it IS set to breakable, it has a special and will therefore be shot at and will break normally. No problems here.

What about the forcefield? Again, if it's impenetrable, why do you want the monsters to keep shooting it futily? If it's a forcefield designed to lose energy as it's hit and eventually drop, guess what! It has a special, and will still be shot at and behave as you want it to.

I really see this as a win-win situation. The ONLY possible case where I see any problems arising are where a line is placed that is BLOCKALL but with no special, and something nearby is supposed to be affected by the projectiles blowing up on that wall. Maybe some barrels that are designed to explode or monsters that are supposed to start infighting. This isn't a huge deal because, as Graf pointed out, you can drop a dummy special on the line to restore full behavior. Although I don't think so, if other people see this as some huge problem it could be added to the compatibility list.. but as I said, I really don't agree that that's necessary.
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

Not sure who that is addressed to.

To be clear, I don't really have a problem with the fix. As you correctly state, a line that blocks all is essentially a piece of concrete - why would anyone need to shoot it?

A line with a projectile activated special is intended to be shot, so it should be something enemies would try and shoot at.

The point I was trying to make above is that a level (mine - and probably others) that relied on the old behaviour doesn't work as intended under 2.0.52 and a fix is needed. A fix has been provided, but it does make an assumption (which is a sensible one IMO).

The only reasonable alternative (again IMO) is to leave the way it works as it always was, thereby not changing any existing maps, but add the ability to block a monster's desire to attack through such a line for future maps. Of course, that will mean old maps where the authors didn't want enemies to try and shoot through blocking lines, yet did nothing about it, would still have enemies trying to shoot through blocking lines, just like they did on the day the level was released.
Anonymous

Post by Anonymous »

well, so long as the fix's bypass is well documented, then i think itd be ok to leave it the way you have it.

cause.... for starters.... i didnt even begin to think about calling a dummy script in order to use the old system.

but, one last thing i just thought about.... what if one wanted to have monsters attack the line, AND have other specials as well? but then, im just being stupid and annoying i guess.
User avatar
HotWax
Posts: 10002
Joined: Fri Jul 18, 2003 6:18 pm
Location: Idaho Falls, ID

Post by HotWax »

immortal18 wrote:but, one last thing i just thought about.... what if one wanted to have monsters attack the line, AND have other specials as well?
depending on what you're trying to do, this should be easily solved by using two lines close together. One set to blocks all, but with an impact-activated special that doesn't do anything, the other set to whatever it is you're trying to accomplish in addition to this. It should be noted, however, that because the line has a impact-activated special, the monsters will fire at it, and because that line does nothing (and presumably neither does the other line, as if it did it would have an impact-activated special and we wouldn't be discussing this problem...) they'll keep firing at it like the morons we're trying not to make them look like. :) Of course, if the author took such measures to make sure the monsters pointlessly fired at a solid wall, he would presumably have a good reason for doing so.
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

but now... i just thought of another possible problem with the "assumption" that you two made in fixing the bug.... what if someone mapped a line using the grating or something? there are a few other cases that should be taken into consideration. im not exactly satisfied with how the "bug" was solved.
I don't know what you're talking about. Sorry.
User avatar
randi
Site Admin
Posts: 7746
Joined: Wed Jul 09, 2003 10:30 pm
Contact:

Post by randi »

Eleven days and no clarification, so I'm moving this.
Post Reply

Return to “Closed Bugs [GZDoom]”