About The Project
This Game is a top down shooter that takes inspiration from other games within the genre such as Hotline Miami. It is centered around a parry mechanic, where the player reflects bullets back at the enemies who shot them. This game was developed in Gamemaker Studio 2.

Developing The Core Mechanic
Parrying Bullets
The core mechanic of this game was the entire reason I began work upon it, and as such I needed to ensure that it was as satisfying as possible.



Constructing The Swing
Unlike other IDE’s which allow for changing hitboxes through an editor, Gamemaker does not have such functionality. Due to this, I was forced to create this feature manually.
The “attack” function is designed to update both the frame and hitbox of the attack based on what stage is being run, which is directed by one of the functions parameters. This allows for easy access and adjustment of the timing and effects of each step of the swing.








Above are the separate frames of the swing animation pointed to by the swing script


Creating “Aim Assist”
Aim assist was something added much later into development after user testing proved that it would improve accessibility. It detects the closest enemy within a certain radius around the mouse, and directs the parried bullets at the target. If there are no enemies within the radius, the bullet is redirected toward the mouse instead.
Starting the
“Hit Stop”
After applying aim assist, the hitstop is then applied. What this means is that flash of light is applied to the screen upon the parry in order to give it more weight, and increase the satisfaction from what is the core game mechanic.
This is accomplished through applying a translucent white sprite across the screen, slowing the FPS of the game drastically to give the moment pause, and applying the sound effect for it which has a 10% range in pitch so that the player doesn’t experience audio fatigue.
Additionally, alarm 0 (a feature built within the gamemaker IDE) is set so that the next run frame will have an additional script run, which will put the hit stop to its next step.
Ending the “Hit Stop”
This next step of the hit stop involves the removal of the white flash on screen, as well as initiating the followup feature which allows the player to quickly make a second attack immediately following a successful parry. As well as that, the FPS is drastically reduced, in order to achieve a slow motion effect after the flash of light to increase the impact
The following step is done two frames later, which is made long through the previously described slow motion. This resets it back to normal, including resuming all audio that was turned off in the original parry
Lastly, the final step is achieved 20 frames later, where the followup feature is disabled again as enough time has passed.
This is accomplished through applying a translucent white sprite across the screen, slowing the FPS of the game drastically to give the moment pause, and applying the sound effect for it which has a 10% range in pitch so that the player doesn’t experience audio fatigue



Resources Used In Within Redirect
Joe W. –
Commissioned Artwork

JayJay99 –
Public Use Enemy and death animation
https://jayjay99.itch.io/top-down-shooter-male-character-animation

Rpgxnihilo –
Public Use Mansion art and map
https://rpgxnihilo.itch.io/the-secret-manor-modern-battle-map

Audio
https://freesound.org/people/Artninja/sounds/752684 – Public Domain Audio, used for the parry, made by user Artninja
https://freesound.org/people/Rob_Marion/sounds/542019 – Public Domain Audio, used for making a swing, made by user Rob Marion
https://freesound.org/people/micahlg/sounds/413180 – Public Domain Audio, used as an Enemy Hurt sound effect, made by user micahlg
https://freesound.org/people/MrEchobot/sounds/745186 – Public Domain Audio, used as a Player Hurt sound effect, made by user MrEchoBot