RE: RE: [GD-Design] FPS console controls
Brought to you by:
vexxed72
From: Garett B. <gt...@st...> - 2003-04-04 21:01:00
|
I think the best way to reproduce mouse-like yaw control on a console would be to dedicate a single stick to yaw, and return yaw values as an angle. In this case, whenever x^2+y^2 > 0.8 or so (ie. only near the outer ring of the stick), dtheta = arctan (y0/x0) - arctan (y1/x1), yaw = yaw + s*dtheta, where "s" is some variable scalar for sensitivity. This allows players to turn and stop on a dime, which is the greatest advantage of the mouse. Unfortunately, now you need to use another axis entirely for pitch. Perhaps pitch and strafe on the second stick? It was mentioned several times that the pitch control in Halo is less sensitive than the yaw control. This seems like a step in the right direction, but I'd suggest mapping the stick's maximum positive y value to looking straight up, zero y to looking straight ahead, and maximum negative y to looking straight down, ie. pitch = y*i*2pi, where "i" is +1 or -1 to allow invertibility. Perhaps the axis' granularity is too course to allow this, providing only a few discrete values between zero and max? With regard to the conventional, single-axis yaw approach, I'd suggest raising the axis input to the 3rd or 5th power before feeding it to the camera control. This would result in a wide range of sensitive control near the center of the stick, and maximum turn rate near the extremeties (eg. 0.1^3 = 0.001, 1.0^3 = 1.0). Once again, this may not be possible due to low input granularity. Maybe the analog sticks are not effectively analog as much as they are multiply digital. I'd really like to see a dual stick controller that could produce at least 10 discrete outputs between zero and one in each direction, ie. 0.0, 0.1, 0.2, ...1.0. While I'm dreaming, how about a console controller with one stick and one trackball? |