Thank you so much! And thanks for the feedback. Lemme go over your suggestions...
I had planned on adding a damage flash, but the way I had it planned, it would only inform you that you were being hit, not where you were getting hit from. Hmm. I wouldn't want to add that circle in the middle of the screen because I usually find that distracting (and it might be beyond me to get working at my current skill level. I think it would just be to spawn a UI element and set its rotation based on the hit direction, but I'd have to mess around with it and try it out.) Another idea would be to have multiple flashes that would only flash part of the screen to indicate where you're being hit from. I could get the yaw from the look at rotation from the player toward the damage source and then divide it up into 90 degree chunks, so it flashes the whole screen if you get hit from the front (or no damage source in the case of fall damage), the right edge (with a gradient taper to transparent so it looks nice) for the right side, the left edge for the left side, or the bottom edge if you get hit from behind. I'd have to string these together so each flash cancels the other 3, otherwise they might stack in a weird way, or worse, get stuck. I could also add a different colored flash for item pickups, but I'm also a little concerned about photosensitivity, so I'll have to be careful. Messing with these in the past, I've found that having the flash be semi-transparent fixes that.
Yeah, they're raycasts, but they're called line traces in Unreal. You can also use different shapes like box traces, sphere traces, I think capsule traces, and multi-trace variants if you want to hit multiple things. The interaction and player shot raycasts are actually sphere traces so they don't have to be pixel perfect. Changing the length is a quick fix, I'll fiddle with it.
I tried to add movement bob on day 1 right after I added the weapon animations, but I couldn't get it to work quickly so I relegated it to the list of features to add for polish if I had time and then just never got to. (I tried to make it animate faster depending on how fast the player was going, but the velocity I got was divided into an x-y-z vector and I couldn't get the math right for a standard 2D speed. Fun thing from that was that I got the gun to jitter super fast when you run at a diagonal.) Now the right way to do this would be to add animations to a skeletal mesh, but the animations in this game are just hacked together with timelines adjusting the relative rotation and location of the gun's static mesh. What I could do is add a point or an invisible object to the hierarchy, make it the parent of the gun, and animate that so as not to have the walk animation interfere with the gun animations, and then add a nice curve to the object's position, but with the math right this time. And not gonna, lie, totally spaced on footsteps. I could add sound cues to the timeline so when it hits the bottom of the curve it plays.
The enemies actually do chase you, they just do it kinda poorly. If they don't have line of sight, they get a random location within range, and then if that location is closer to the player than their current position, they move there. They also have a random chance to move after firing, but they don't have flanking AI or anything. I'm pretty new at AI and did both the AIs real quick, they could definitely stand to improve.
And one more thing I don't think anyone who's played it has mentioned yet, the enemies are actually not hostile until the music change. The gunmen constantly track the player and only switch to alerted if they have line of sight and if one of 2 flags are set, one for "transgressed" which happens during the music change, and one for "weapon hot" which happens at the end of the raise gun animation and goes away with the lower gun animation (this also sets whether left click fires or raises the gun.) The music change happens when an event called "transgression" calls, which happens when the player fires their gun within radius of an enemy (so they can hear it,) or when they step into one of three trigger volumes a a little ways into the club. What this means is that the player can put their gun away, waltz right in the front door, and scope the place out. I probably should have introduced that feature somehow.
Anyways, thanks so much for playing, glad you enjoyed, and I really appreciate the feedback! Hope you don't mind my ramble. I like explaining things. Talking shop, you know?