top of page



Weapon Wheel System


In this project I have developed a weapon system that allows input from both keyboard and controller.
​
I have also develop this system with designers, programmers, and technical artist in mind by making it easy to work with and further develop the system to be customised for future projects. (I will be covering more below)
​
The weapon wheel can be split into 2 parts. How the player interact with the weapon wheel and how the weapons are chosen.
​
Player interaction customisation
For the player interaction customisation, 3 different variables comes into play. These variables are:
- Minimum Threshold
- Maximum Dist
- Mouse sensitivity
​
​
Minimum Threshold
Minimum threshold controls how far the cursor or the joystick must be pushed before the cursor appears and for the selection to be valid.
​
This is to prevent any accidental inputs while playing the game as the player might have accidentally brig the weapon selection up. By having a minimum threshold, this prevents any accidental selection to be made.
​
Minimum treshold also helps allow the user to select nothing if he have decided not to change weapon half way through bringing up the weapon wheel by allowing mouse users to return the cursor to the centre position and stopping any selection to be done.
​
Maximum Distance
This variable controls how far the cursor can travel from the centre. This is to let the designer customise how far the cursor can go to fit together with the visuals of the weapon wheel itself (bigger the weapon wheel, the higher the maximum distance amount, vice versa)
​
For controller input, the maximum distance is proportionately scaled to the joystick inputs. E.g if the joystick is pushed all the way up, the cursor will be at it's maximum distance upwards. If its only pushed halfway, the cursor will only travel half of the maximum distance possible.
​
Mouse Sensitivity
Mouse sensitivity only applies to mouse inputs. This controls how sensitive the mouse input is, by setting it to a higher sensitivity, the mouse do not need to travel as much to move the cursor.
​
​
Weapon Selection
The weapon selection works by checking what angle is the cursor at relative to the centre of the screen.
​
The weapon selection is an array of the weapon choice class which is consist of 2 variables and 3 events.
The 2 variables are:
- Minimum Angle
- Maximum Angle
​
The 3 events are:
- OnSelected
- OnEnter
- OnExit
​
Minimum Angle/Maximum Angle
The variables are used to check if the cursor is in the correct angle to select. If it is, it will carry out the necessary events, be it OnSelected, OnEnter or OnExit.
​
OnSelected
On selected is basically the event invoked when the particular weapon is chosen. This allows the system to easily integrate UI animations when it is selected.
​
OnEnter
OnEnter is an event that is called when the cursor is to enter the of a weapon. This allows the system to easily integrate UI animations when the cursor goes into the required angle.
​
OnExit
OnEnter is an event that is called when the cursor is to enter the of a weapon. This allows the system to easily integrate UI animations when the cursor goes out of the required angle.
​
With these 3 events, it allows not only for the weapon wheel to function but to also allow future implementations of animation if required without any limitations during the prototyping phase.
bottom of page