Jump to content

Proper (multiple) joystick support is a must for this game. Some hints for coding.


8 replies to this topic

#1 eviljoven

    Member

  • PipPip
  • 45 posts

Posted 31 October 2011 - 06:47 PM

This is something that's going to be easier to implement now instead of later.

Mechwarrior needs joystick support. I've played every iteration of the game and it's always a much better experience with good stick support.

That being said, make sure the joystick support isn't an afterthought. A lot of games out there these days really cut corners when coding their device support.

The game needs to support multiple sticks, allowing people with more complicated (stick rudder and throttle) setups to use their hardware.

If/When you do this, please don't botch it like some other studios.

Some games have bad input device enumeration. For instance,777 Studios and Maddox Games titles both assign joystick IDs alphabetically (technically numerically since the Vendor & Product ID are in hex) based on VendorID&ProductID. This causes issues when controllers are added/removed/changed on the system, causing users to have to remap their controls from scratch and even leading to crash conditions in a few games.

There are 2 better ways that work better:

Assign controls on a per device basis, keeping devices separate by way of the GUID (FSX and Eagle Dynamics titles do this)

OR

On game launch check each active devices JoystickID binary value in the registry key and use that value to assign ID1-IDn to each attached device. (a few games and the FSUIPC addon for FSX do this)

Both of these methods allow users to do things like swap one joystick for another without ruining the controls they've mapped to other directinput devices such as throttles and rudder pedals.

The Joystick ID and GUID values are stored here:

Windows Vista/7
HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\[i][Vendor & Product ID for each DirectInput controller][/i]\Calibration\0 


Windows XP
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\[Vendor & Product ID for each DirectInput controller]\Calibration\0


#2 S3dition

    Member

  • PipPipPipPipPipPipPipPip
  • Elite Founder
  • Elite Founder
  • 1,633 posts
  • LocationWashington, USA

Posted 31 October 2011 - 08:01 PM

I would like to go one further and request support for Saitek flight systems so that we can build a cockpit similar to this:

Posted Image

I definitely see myself putting the time and money into building a simulator like this.

#3 Mitchpate

    Member

  • PipPip
  • Veteran Founder
  • Veteran Founder
  • 27 posts
  • LocationCentral NC

Posted 31 October 2011 - 08:05 PM

Many MW4 players use Saitek's midrange and highend joysticks. Support for these is a must.

#4 CyBerkut

    Member

  • PipPipPipPipPipPipPip
  • 609 posts
  • LocationSomewhere north of St. Petersburg

Posted 01 November 2011 - 01:44 PM

+1 on doing the GUID ala Eagle Dynamics. Their DCS series controls setup is very good. It accomodates multiple controllers (ie. HOTAS, pedals, TrackIR, Thrustmaster Cougar MFDs, etc.).

Also... +1 on the Saitek HOTAS controllers. For many Mech pilots, a Saitek X-52 or X-52 Pro is about as good as it gets for piloting a mech.

#5 Panaka

    Member

  • Pip
  • 11 posts
  • LocationThe Netherlands

Posted 01 November 2011 - 01:46 PM

Don't forget rudder pedals. I have an X-65F and Pro rudder pedals from Saitek.

#6 plodder

    Member

  • PipPipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 998 posts
  • Locationbetwixt the seen and heard, underneath the upperhanded, above the underhanded. Sunlit with a cloudy background.

Posted 10 February 2012 - 04:31 PM

View Posteviljoven, on 31 October 2011 - 06:47 PM, said:

This is something that's going to be easier to implement now instead of later.

Mechwarrior needs joystick support. I've played every iteration of the game and it's always a much better experience with good stick support.

That being said, make sure the joystick support isn't an afterthought. A lot of games out there these days really cut corners when coding their device support.

The game needs to support multiple sticks, allowing people with more complicated (stick rudder and throttle) setups to use their hardware.

If/When you do this, please don't botch it like some other studios.

Some games have bad input device enumeration. For instance,777 Studios and Maddox Games titles both assign joystick IDs alphabetically (technically numerically since the Vendor & Product ID are in hex) based on VendorID&ProductID. This causes issues when controllers are added/removed/changed on the system, causing users to have to remap their controls from scratch and even leading to crash conditions in a few games.

There are 2 better ways that work better:

Assign controls on a per device basis, keeping devices separate by way of the GUID (FSX and Eagle Dynamics titles do this)

OR

On game launch check each active devices JoystickID binary value in the registry key and use that value to assign ID1-IDn to each attached device. (a few games and the FSUIPC addon for FSX do this)

Both of these methods allow users to do things like swap one joystick for another without ruining the controls they've mapped to other directinput devices such as throttles and rudder pedals.

The Joystick ID and GUID values are stored here:

Windows Vista/7
HKEY_CURRENT_USER\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\[i][Vendor & Product ID for each DirectInput controller][/i]\Calibration\0 


Windows XP
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\DirectInput\[Vendor & Product ID for each DirectInput controller]\Calibration\0


SO can I do this myself, Outside of a game, like I do with my intellimouse, and it's program? Yesterday I downloaded some drivers for two logitech sticks, they both worked simultaneously wonderfully in mechwarrior 4 mektek. Then later when I went home, and went to play, I could not get it to happen again.

#7 CyBerkut

    Member

  • PipPipPipPipPipPipPip
  • 609 posts
  • LocationSomewhere north of St. Petersburg

Posted 10 February 2012 - 06:05 PM

As I recall, MW4 only recognized a single controller. Your temporary success with 2 simultaneous controllers was probably a freakish accident.

However, you can probably create an MW4 work around to the limitation by utilizing PPJOY.

As for MW:O... I doubt we'll have an issue with multiple simultaneous controllers.

#8 Pht

    Member

  • PipPipPipPipPipPipPipPipPip
  • 2,299 posts

Posted 10 February 2012 - 06:22 PM

http://mwomercs.com/...kpit-simulator/

Posted Image

Posted Image
Posted Image


If you want to know what the various controls are: http://www.sarna.net...nology#Controls

Two sticks, a throttle, and foot pedal controls; that would make a setup that would be able to simulate all the Cockpits in the BTUniverse, excluding the total freaks out on the technological fringe. I suspect most 'Mechs don't have a second (left side) joystick.

Edited by Pht, 10 February 2012 - 06:23 PM.


#9 Sgt Bones

    Member

  • PipPip
  • Legendary Founder
  • Legendary Founder
  • 39 posts
  • LocationFulda Germany

Posted 10 March 2012 - 02:55 PM

As long as the game can accept different axis input from multiple devices, I will be happy. I really, really do not want to play this game with just the keyboard, that would be absolute no go for me, like a flight sim with only keyboard support. Last time I played a mechwarrior game with just the keyboard was back with the "Blazing Aces" in the original mechwarrior on a 286 intel pc....I refuse to do that ever again!





3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users