So I'm working on a simple project that is inspired by a Marathon 1 scenario called Marauder Second Encounter. That old scenario brings in marine sprites and includes them as allies. It also supplies a physics model to use those marines as enemies in a deathmatch environment and includes a deathmatch map to showcase this.

For this project I'm using Infinity marine sprites. I'm changing the marine helmet with an altered vacbob helmet. I've had luck with implementing the smg marine this way so I went ahead and also did the rocket, assault, and fusion so far. I plan to also work in the remaining weapons but the shotgun, alien weapon, and fist are definitely the lowest priority. The shotgun doesn't translate well as an attack since I can't figure out weapon spread similar to a typical shotgun blast. Also, a marine in deathmatch who can only fist doesn't seem fun. I'm curious about possibly creating a melee attack for the magnum marine using their fist.

Has this sort of thing been done before and am I wasting my time? Does anyone know how to simulate a typical shotgun blast?

I would make the firing sequence two frames, one tick per frame. First frame plays the shotgun blast and shows the shotgun firing, second frame is set as both key and loop frame but with no sound. Give the monster ten repetitions of the normal shotgun blast. Make sure "Attack frequency" is set to at least 24 or 35 - I'm not sure whether it starts counting from the beginning or ending of the attack sequence. Set error to 7 (2 for the human and 5 for the shotgun).

It's not simultaneous, but, all ten pellets will be released in 1/3rd of a second, the firing sound will be played only once, and you won't see the monster go through multiple attacks, it will just stand there for 1/3rd of a second while unleashing it's stream of death.

Alternatively, if you must have simultaneousness, you could make one shot, say damage 100 random 40, radius 341, persistent and virulent.

I applied your advice of looping frames to existing pistol bobs and hacked a physics model like you suggested. I increased the error to 11 at a frequency of 30. I copied the range attack into melee attack but with an error of 21 and I checked the behaviors box to choose weapon randomly. I know I still have some tweaking to do but the end result satisfies what I would at least hope for in a shotgun enemy.

I had always assumed the loop frame only applied to grenade contrails and the like but I noticed just now the enforcer attack obviously uses loop how you suggested. I think my understanding of the engine just grew a pinch more.

Some quick testing suggests the attack frequency is time from the end of the last attack to the beginning of the next, so 24 is your minimum frequency. I suggest 24 because the Marine takes 35 ticks to fire and reload the shotgun, and the loop-shotgun takes 11 ticks (35 - 11 = 24 minimum time between shots to equal the Marine). Security BOBs pause for 30 ticks between firing, and fastest monsters in the game pause 15 ticks, for comparison. A super badass WSTEM BOB might have a frequency of 40 with this sequence.

Juggernauts and drones have the best example of looping frames in action. Notice that them opening their gunports is the same sequence as them launching rockets or drone bolts.