Final Project Week 9 - Recoil Research
This week I am starting my implementation of recoil into my system. I will be looking at how current games handle the same mechanic so that I can create my system to compete with theirs while keeping the simplicity and modularity that my system needs. I will then start creating the basic functionality of the system, so that next week I can focus on making the experience better. In this post, I will focus on the research as there was quite a bit that I was able to learn from the other games.
I started the week by looking at other games and how they handle their recoil. When testing these games I wanted to look at 3 key elements of the recoil, recoil type, recoil direction/amount, and input handling.
Recoil type
There are 2 main characteristics of recoil that you see in games, predictive and random. Predictive recoil allows users to learn how weapons act and predict where their shots will go. Whereas random recoil will be different every time you shoot, this requires players to adapt as they shoot rather than learn a pattern. A lot of games recently have moved over to a semi predictive system, this allows you to give weapons unique characteristics while still keeping it slightly random to make the system less learnable.Recoil Direction/Amount
Recoil direction is the direction of the recoil after every shot. If the system is predictive, it will have a very consistent direction every time the user fires the weapon, however, if the system uses random recoil, it will have a different direction every time the weapon is fired. These will usually be used purely to improve the player experience and not to adjust difficulty. The recoil speed is the speed that the recoil happens, games will use this to increase the difficulty.Input Handling
Different systems will take mouse movement differently while shooting, an example of this is returning to a different point after shooting depending on how the user moves the mouse. I researched this at the beginning of this week so that I understand it and can prepare for implementing it, however, I did not plan to implement any input handling features this week.Battlefield V
I started by looking at Battlefield V(EA Dice), I used this as a reference because it matches the kind of casual shooter that I intend my system to be used for. It has a wide variety of weapons that all have unique handling.![]() |
![]() |
Sten |
Ribeyrolles 1918 |
From this, we can see that all of the lines go in roughly the same direction, but with some variation. From this, we can tell that they use a semi predictive system. In a blog post written by Dice, they mention that they set up their gunplay "to allow the player to understand the behaviour of their weapons" helping them to learn and master the weapons. This makes sense as the general characteristics are able to be learned while still keeping the challenge of controlling the random recoil.
Next, I looked at the direction and speed of the recoil. This will show me how much difference is possible within the game to give me an idea of what other games have included. Below I have found the 2 very different recoil directions and speeds. The left gif shows a weapon with a relatively high amount of horizontal recoil at quite a high speed, but it doesn't have as much vertical recoil as the other weapon. The right gif shows a weapon with a bipod that has a lot more vertical recoil but barely any horizontal recoil. It also moves quite slowly due to its large magazine size.
![]() |
![]() |
Fast with a large amount of horizontal recoil | Slow with a large amount of vertical recoil but very low horizontal recoil |
Now I checked how the game handles input while firing. If you shoot and don't move the mouse, the weapon will pull up, then when you stop shooting, it will return to where you started. When moving the mouse left, right or up, it will move the point that it will return to respectively, however, the way that it moves the return point varies based on how much you move the mouse. If you move the mouse down to compensate for recoil, it will not change the return point, but, if you move the mouse down to lower than the point that you started, it will move the return point down.
![]() |
![]() |
Hard to control, fast movement | Easier to control, much less recoil and slower movement |
Apex Legends
I wanted to look at apex legends because it is quite different from the other games, with very fast paced and snappy gunplay, it does well to stop players from thinking about the recoil of the weapons while still having some of the challenges.
![]() |
![]() |
Spitfire | R301 |
Here you can see that the weapons generally have very little recoil compared to the weapons in Battlefield, this is probably to help keep the fast-paced nature of the game. One thing I noticed, however, is that they also utilise horizontal recoil differently in different weapons. I think that I will have to ensure my system can handle horizontal and vertical recoil.
![]() |
![]() |
Very little vertical recoil but adds left horizontal recoil during the spray | Alot of vertical recoil but no horizontal recoil |
![]() |
Bouncy recoil as the weapon trys to return to centre after each shot |
Rainbow Six Siege
I wanted to look at the recoil in Rainbow Six Siege because before it was released in 2015, I was following its development and it was part of the reason I became interested in creating a weapon system. Over the years the gunplay has received multiple changes. Below I have taken gifs from the current version of the game. However, I have also found a development video where they talk about their recoil mechanics when the game first released.![]() |
![]() |
L85a2 |
Makarov |
I was looking online at blog posts from Rainbow Six Siege and I came across one that spoke about the new recoil system that they were implementing. They mention that they have implemented the ability to have multiple stages of recoil. This allows them to change the recoil at any point of automatic fire. I feel that this wouldn't be necessary for my system as I am trying to make it as simple to use as possible and introducing something like this could make it quite confusing to use.
Moving on to looking at their recoil in action, it appears to be mostly the same as the other two games, the gun will move quickly in the direction of the recoil. one thing I found interesting was that they designed the system, where guns from the same class(assault rifles, SMGs, pistols, etc) all have similar recoil. They mention this in their blog post also, saying that they did it because they did "not want to overwhelm the players with an insane amount of recoil patterns to learn". Below are 2 assault rifles and an SMG, you can see the assault rifles are definitely different from one another, however when compared to the SMG, they are relatively similar, the SMG moves significantly faster and further than the assault rifles.
![]() |
![]() |
![]() |
Assault rifles seem different | But are relatively similar compared to other classes | SMG moves faster and further |
Looking at the input handling, it look like they have used the exact same as the other 2 games, if the player looks left, right or up while shooting, the return point will move respectively, if they look down to compensate for recoil, it won't move at all, but if they look down further than the original return point, the return point will move down.
![]() |
Demonstration of compensating for recoil, while the return point stays the same |
I found this dev log video from 2015 about how Rainbow Six Siege used to calculate their recoil. they have since moved away from this method to pursue their new one because they felt it was best for their game, however, I feel that their old method is perfect for my system, as it is simple to understand, while still being very flexible.
![]() |
Illustration of the recoil system used in Rainbow Six Siege (Ubisoft. 2015) |
Their old system worked by picking a random point, from wherever the last shot landed, to calculate this point each gun is given a set of parameters that will create a diamond. The diamond is placed on top of the last shot and a random point within the diamond is picked. This method allows for a system that can be easily adjusted, and each gun can be slightly predictable, without feeling too easy and repetitive.
I will definitely try to implement a method like this into my system, it would be good for the modularity of the system as the user would have to change a lot fewer values than a fully predictive system where every shot can be set individually but will appear a lot more advanced than a fully random system as weapons can be fine-tuned.
I will end this post here because it is quite long already, later this week I will make a post about my implementation.
You can find the project here: https://github.com/ElliotChester/Modular-Weapon-System-Final-Project
References
Battlefield V. 2018. PC [Game]. EA Dice
Apex Legends. 2019. PC [Game]. Respawn Entertainment
Rainbow Six Siege. 2015. PC [Game]. Ubisoft
Electronic Arts (2018). Gunplay in Battlefield V. [online] Electronic Arts Inc. Available at: https://www.ea.com/en-gb/games/battlefield/battlefield-5/news/gunplay-weapons-improvements-features-battlefield-5 [Accessed 13 Feb. 2019].
YouTube. (2015). Tom Clancy's Rainbow Six Siege Official – Recoil – Community Corner #1 [NA]. [online] Available at: https://www.youtube.com/watch?v=-z0gDmojzHM [Accessed 13 Feb. 2019].
Comments
Post a Comment