As mentioned by many, our Camera didn’t feel right for a Shooter Game. The smoothing made players nauseous, giving them a “Drunk Camera” feeling. Besides that, the sensitivity on our WebGL build was always too high since it didn’t match the sensitivity on our Standalone build.
Therefor, following changes were made:
We got rid of the Smoothing calculations, making the response to your mouse instant. This should give the player a better experience when trying to kill the enemies or just looking around in the world.
To fix the Sensitivity mismatch we could either release our builds with different Sensitivity settings, or be smart in the long run and make a Slider for the player do adjust to their preferences. Since everyone likes a different Sensitivity and plays differently, adding Settings to our Game would always come in handy.
To achieve this, I had to create a Pause menu that the Player can open using the ‘P’ key. This will also pause the game so that you’re safe from anything bad happening in game.
However, just adding the setting to the pause menu wouldn’t be very pretty, so instead I made a Pause Menu that has a Settings button, taking you to the Settings of our game. To make sure that nothing starts overlapping or blending, I had to make sure that the Pause menu was hidden when the Settings menu was open and vice versa.
Also we had to unlock the mouse whenever you open an interface that needs a mouse, such as the Inventory and the Pause Menu. Whenever you leave this interface, the mouse would have to get locked again. This is also a temporary fix because there currently is no way for the Controller to move the mouse or click buttons.
Learning an Ability sometimes looked awkward or not obvious, where the Player would be confused what was going on since he couldn’t move anymore. To make it more obvious what is happening, the Camera now moves to fixed point where you can see your Character looking at the stone. This should give the feeling of a small “Cutscene”, making the Player know that he won’t be able to move until he has learned the Ability. We can later make this even more obvious by passing the magic words on the screen, as if you’d be reading the spell on the stone.
The Position is a fixed point defined for each stone, which we can access in our script. Currently, the camera will always be facing the stone, but if needed, we can change it so that our Camera will follow the forward of the fixed point.