Don’t put the script between the mouse sensor and the actuator, connetct these directly.
Use an always sensor for the script.
Wow, the example game was a lot of effort! I looked if it was useful to excerpt his setup for UPBGE but found out it is even more complicated than my own solution.
You surely want to your controls relative to the camera view and not bound to world coordinates.
So I made a new empty file and appended only the ball and camera system and stripped off everything else from the scene and the scripts.
(This setup uses 2 empties for the camera. It would also work with only 1 empty but this way you have more control of smooth camera Motion / Rotation)
The camera system is in collection that is set to non-selectable, change this in case you want to edit it.
Ball:
W A S D move
SPACE jump
View:
Mouse or Arrow-Keys: Rotate view
Mousewheel or Page-up/Page-down: Zoom
Middle Mousebutton or Home: Reset Zoom
F: Camera Follows Ball On/Off
Ball has 2 game properties
'Mouse_sensitivity':
Camera speed
'Keyboard_sensitivity':
Ball Speed
Objects with property "obstacle" will let the camera go beyond. (also the floor has this)
Objects with property "transparent" and suitable Material will go transparent when view is blocked.
UPBGE_0.3_Ball.blend (1.1 MB)