Bug with Alien melee attacks?
Typhon
Join Date: 2002-11-01 Member: 1899Members
<b><u>!FALSE ALARM! What I thought was a bug with alien melee attacks was actually due to friendly fire being handled differently from normal melee attacks.</u></b>
Messing around in a lan server today with 'trace all' to try to learn the intricacies of skulk bite. In doing so, I think I've stumbled onto a pretty big bug with alien melee attacks.
TLDR: Marine melee hits if any of 9 vectors connect with the target. Alien melee hits only if the center vector hits the target.
Melee attacks work by drawing 9 vectors out into the world, looking for intersections with valid targets. Here, the skulk and axe are shown:
<a href="http://imageshack.us/photo/my-images/829/marinefullmiss.jpg/" target="_blank"><img src="http://img829.imageshack.us/img829/1927/marinefullmiss.jpg" border="0" class="linked-image" /></a>
<a href="http://imageshack.us/photo/my-images/210/skulkbitevectors.jpg/" target="_blank"><img src="http://img210.imageshack.us/img210/4618/skulkbitevectors.jpg" border="0" class="linked-image" /></a>
With the marine axe, once one vector (center-right) connects you've got a hit (trace all seems to stop drawing additional vectors in this case, it already confirmed a hit).
<a href="http://imageshack.us/photo/my-images/59/marinefullhit.jpg/" target="_blank"><img src="http://img59.imageshack.us/img59/4116/marinefullhit.jpg" border="0" class="linked-image" /></a>
Over on the alien side though, even with 3 vectors connecting in the lower right (trace all doesn't render them, but you can see their absence and the red boxes indicating that this should be a hit), the server doesn't agree that this is a hit. <b>No damage is dealt with this attack.</b> Even though I'm pressed right up against the marine, and his foot is pretty much inside my mouth, this is <b>not a hit.</b>
<a href="http://imageshack.us/photo/my-images/443/skulkpartialhit2.jpg/" target="_blank"><img src="http://img443.imageshack.us/img443/5224/skulkpartialhit2.jpg" border="0" class="linked-image" /></a>
But if I move just a tiny bit to the right so that the center vector connects, I finally get a confirmed hit.
<a href="http://imageshack.us/photo/my-images/201/skulkfullhit.jpg/" target="_blank"><img src="http://img201.imageshack.us/img201/33/skulkfullhit.jpg" border="0" class="linked-image" /></a>
This can lead to some pretty unbelievable misses...I repeat, the following image is a <b>miss</b>!
<a href="http://imageshack.us/photo/my-images/15/skulkpartialhit3.jpg/" target="_blank"><img src="http://img15.imageshack.us/img15/3603/skulkpartialhit3.jpg" border="0" class="linked-image" /></a>
Meanwhile the marine's attack hits pretty much the whole screen. Again, this is a <b>hit</b> against the marine that's barely on the screen!
<a href="http://imageshack.us/photo/my-images/208/marinefullhit2.jpg/" target="_blank"><img src="http://img208.imageshack.us/img208/3047/marinefullhit2.jpg" border="0" class="linked-image" /></a>
This has got to be a bug, right?
I went through the other melee attacks on both teams, rifle butt and lerk/fade/onos. Its not specific to the weapon, its specific to the team. Aliens only hit with the center vector, marines hit with any vector.
Messing around in a lan server today with 'trace all' to try to learn the intricacies of skulk bite. In doing so, I think I've stumbled onto a pretty big bug with alien melee attacks.
TLDR: Marine melee hits if any of 9 vectors connect with the target. Alien melee hits only if the center vector hits the target.
Melee attacks work by drawing 9 vectors out into the world, looking for intersections with valid targets. Here, the skulk and axe are shown:
<a href="http://imageshack.us/photo/my-images/829/marinefullmiss.jpg/" target="_blank"><img src="http://img829.imageshack.us/img829/1927/marinefullmiss.jpg" border="0" class="linked-image" /></a>
<a href="http://imageshack.us/photo/my-images/210/skulkbitevectors.jpg/" target="_blank"><img src="http://img210.imageshack.us/img210/4618/skulkbitevectors.jpg" border="0" class="linked-image" /></a>
With the marine axe, once one vector (center-right) connects you've got a hit (trace all seems to stop drawing additional vectors in this case, it already confirmed a hit).
<a href="http://imageshack.us/photo/my-images/59/marinefullhit.jpg/" target="_blank"><img src="http://img59.imageshack.us/img59/4116/marinefullhit.jpg" border="0" class="linked-image" /></a>
Over on the alien side though, even with 3 vectors connecting in the lower right (trace all doesn't render them, but you can see their absence and the red boxes indicating that this should be a hit), the server doesn't agree that this is a hit. <b>No damage is dealt with this attack.</b> Even though I'm pressed right up against the marine, and his foot is pretty much inside my mouth, this is <b>not a hit.</b>
<a href="http://imageshack.us/photo/my-images/443/skulkpartialhit2.jpg/" target="_blank"><img src="http://img443.imageshack.us/img443/5224/skulkpartialhit2.jpg" border="0" class="linked-image" /></a>
But if I move just a tiny bit to the right so that the center vector connects, I finally get a confirmed hit.
<a href="http://imageshack.us/photo/my-images/201/skulkfullhit.jpg/" target="_blank"><img src="http://img201.imageshack.us/img201/33/skulkfullhit.jpg" border="0" class="linked-image" /></a>
This can lead to some pretty unbelievable misses...I repeat, the following image is a <b>miss</b>!
<a href="http://imageshack.us/photo/my-images/15/skulkpartialhit3.jpg/" target="_blank"><img src="http://img15.imageshack.us/img15/3603/skulkpartialhit3.jpg" border="0" class="linked-image" /></a>
Meanwhile the marine's attack hits pretty much the whole screen. Again, this is a <b>hit</b> against the marine that's barely on the screen!
<a href="http://imageshack.us/photo/my-images/208/marinefullhit2.jpg/" target="_blank"><img src="http://img208.imageshack.us/img208/3047/marinefullhit2.jpg" border="0" class="linked-image" /></a>
This has got to be a bug, right?
I went through the other melee attacks on both teams, rifle butt and lerk/fade/onos. Its not specific to the weapon, its specific to the team. Aliens only hit with the center vector, marines hit with any vector.
Comments
It's hard to see from your perspective - try thirdperson to change viewpoint, and tracedur to change how long the boxes stays on screen.
Nice find Typhon. I'm very interested if this is to balance the aliens or if this is a bug.
It's a lot easier to see how things work if you look at things from a different angle and distance. The server draws the hitbox in green, red and blue lines depending on if nothing was hit, an object was hit or geometry was hit. It draws the boxes up until the hit, so yo can see how each box was drawn. That is really hard to see from the biting POV, much easier to see if you step back and look at it from the side.
Typhon, if you need help reproducing this issue let me know, perhaps I and some other PT's can assist. We can get together on a server and voicechat to see if we can make it happen again and show it more clearly.
Which I now realize means that this may actually be an issue with <b>friendly fire</b>, not with alien vs marine, since when I as an alien do "give marine" I'm creating a marine on the alien team. Then I'd go marine, and go attack the alien marine player, which would no longer be friendly fire. I'll test that tonight if no one beats me to it.
If you can reproduce this, please make a new thread about it and add a (youtube) video example. I've scanned through the bugtracker and nothing of the sorts is known.
I've bitten gorges for healing and they make a "took dmg flinch sound".
It wont be reported because in order to have friendly fire, you need cheats on.
Cheats just create random oddities and inconsistencies so we never use them to reproduce bugs.. you can end up chasing your own tail for hours this way :)
Which I now realize means that this may actually be an issue with <b>friendly fire</b>, not with alien vs marine, since when I as an alien do "give marine" I'm creating a marine on the alien team. Then I'd go marine, and go attack the alien marine player, which would no longer be friendly fire. I'll test that tonight if no one beats me to it.<!--QuoteEnd--></div><!--QuoteEEnd-->
You can use "addbot" to add bots that run around a bit. If you want them to stand still, use "addpassivebot". Does require cheats though.
Cheats just create random oddities and inconsistencies so we never use them to reproduce bugs.. you can end up chasing your own tail for hours this way :)<!--QuoteEnd--></div><!--QuoteEEnd-->
You don't need cheat, just play 5 minutes, it's pretty obvious. Almost too obvious to be reported :)
Feel free to close this thread, mods.