http://www.politiker-stopp.de/gfx/politiker-stopp-print.png

Benjamin Schieder

[GAMES] WHY OPEN SOURCE MATTERS TO GAMERS

2006 May 06 | 0 comments

This entry could just as well be titled:

  • Hacking the kernel module
  • Space Sims are not Fucking Person Shooters
  • What to do when your game doesn't interpret your the way you want it to


Anyway, here's what happened:
I've downloaded the demo version of X2 - The Threat for Linux and started playing it with my Magellan SpaceMouse (6 dimensions of freedom controller with nine buttons and six axis). Unfortunately, the behaviour of the control wasn't as I was expecting it to:

At sensitivity 5% the ship rotated very, very slowly even at maximum movement of the joystick.
At sensitivity 70% the ship rotated very, very fast even at minimal movement of the joystick.

This clearly isn't the way it should be. It should obviously be:

At low movement, the ship should rotate very, very slowly.
At high movement, the ship should rotate faster than a roadrunner in a treadmill.

If you think about this for even a second, you'll agree with me.

Now, if you live in Closed Source Hell, here are your options:
  • Check if your driver supports progressive/exponential movement.
    It most probably doesn't.
  • Check if the game supports reinterpreting the joystick axis.
    Unprobable.
  • E-Mail the producer of the game to patch the game.
    You already gave them your money, why should they care? (to be fair, LGP does care)
  • E-Mail the producer of the joystick to fix the driver.
    You already gave them your money, why should they care?
  • You can write an open letter, start a petition or call to boycott the manufacturer of the game/joystick.
    You already gave them... you know the drill.
  • You can curl up in a fetal position and cry.


To me, none of the above sound anything near adequate. Luckily, I live in Open Source Paradise. Here I can make these changes myself.
So, I went to my kernel sources and opened the source file for the spacemouse kernel driver. In there I changed four lines and the driver now sends progressive/exponential axis data instead of linear as it did before.
The fact that I actually changed the driver means that every game I play now has the changed, better, more natural behaviour.

So, now you want to have the patch for yourself? Sure! Get your hands on 863 bytes of distilled gaming pleasure here:

http://www.crash-override.net/patch_linux_kernel.html


EOF

Category: blog

Tags: Games


Post a comment

All comments are held for moderation; basic HTML formatting is accepted.

Name: (required)
E-mail: (required, not published)
Website: (optional)
Comment: