Make tilt limit angle independent (remove extra diagonal acceleration)
Before, tilt amount was limited to ANGLE_BOUND degrees for x and z
axes independently, making the overall tilt limit direction-dependent
(allowing a larger tilt in diagonal directions). Limit overall tilt to
ANGLE_BOUND degrees regardless of tilt direction. Increase ANGLE_BOUND
from 20 to 22 to partially compensate for removing the extra diagonal
tilt.
The exact ANGLE_BOUND value to use is a matter of taste. 22 feels OK
to me and works fine for most existing levels. A couple of levels in
the Nevermania levelset may need adjustment; they were extremely hard
or impossible to complete except by abusing the diagonal acceleration
misfeature, and may not be feasible with tilts really limited to 22
degrees.
The maximum diagonal tilt before was about 28 degrees. Using this
value would allow playing all the Nevermania levels without changes.
However, such a big tilt angle looks ugly on any level with large
level areas, as the camera sinks below the floor when you do a maximum
tilt forward (this wasn't an issue before as getting the maximum tilt
was only possible if you first rotated the camera 45 degrees away).
Thus using such a limit would at least require changing camera
behavior.
About the rationale for the change:
There was a forum thread proposing a change like this on the
forum.nevercorner.net website in 2006. That thread ended without any
real agreement. The level of discussion in the thread was rather low;
there were uncorrected fallacious arguments and missed valid ones.
The main arguments against the change there could be summarized as
follows:
1) It doesn't really matter except for expert players trying to make
records (only they intentionally use special camera angles to get
extra acceleration, and the behavior doesn't matter for others).
2) The higher acceleration is good because it makes various
"freestyle" tricks possible.
3) The angle-dependent behavior is good because it creates an extra
challenge, giving benefits if you learn to play with particular
camera angles.
Argument 1) misses a very important point, which was never brought up
in that thread in any form. For newbies, the exact amount of
acceleration they can get may not matter, but there's a closely
related control issue that matters a lot. Consider how the controls
behave when you move the mouse enough to hit the limits. Suppose you
move the mouse in a direction 10 degrees from vertical. At first the
game will tilt in the direction of mouse movement. However, when you
hit the vertical tilt limit, vertical tilt will stop increasing but
horizontal tilt WILL continue to increase, resulting in a tilt
direction different from what the player intended. Generally, any user
input that hits the limits will be interpreted in a way that results
in movements turning from their intended direction towards the nearest
diagonal direction.
This control behavior is a problem especially for new users who don't
know exactly where the limits are (after all, they are not visible in
any way!). A natural implementation of direction-independent tilt
limit gives better behavior where tilt always changes towards the
direction the user moves the mouse to. The difference in how the
controls "feel" is very obvious.
Strictly speaking, the interpretation of user input and the
acceleration possible per direction do not have to match; it would be
possible to first interpret user input one way, then multiply by some
direction-dependent constant to get different maximums in different
directions. However, this would make the behavior even more arbitrary,
and I doubt anyone would seriously argue for this.
Argument 2) is fallacious: if looser limits are wanted for creating
freestyle replays then either the default limit should be increased or
a special mode should be created for that. The diagonal acceleration
behavior is neither a good way nor the only possible way to make
higher accelerations available for tricks.
Argument 3) is more a matter of opinion, but "it allows using a skill
to get something extra" is not automatically a benefit. Personally, I
view "you can get a benefit if you can use unnatural camera angles" to
be similar to "you can get a benefit if you play on a tiny monitor" or
"you can get a benefit if you play with FPS limited to 10", and not a
positive kind of challenge.