Tips for Gamers

On this page I hope to list a few general tips I've learned for playing PC or console games better, or getting the most out of them.  This page currently only has one thing on it, but in the future I'm sure I'll find more tips to post.  I hope this proves useful to other gamers, or those who might not be as heavily into gaming as I am and thus not as experienced when things go wrong.

Tips list:

(When I have more then 1 tip, this would have a list of all of them with quick links to follow.  For now just scroll down.)

How to play PC games that support only Xbox360 controllers with other non-Xbox controllers.
(Like PS2 controllers in a USB adapter, Logitech Dual Action, Gamecube USB adapters, or anything else that plugs into a PC USB and reads as a windows controller.)

Ok, so you bought that new PC game and found out that it is one of the many new modern games that love to only recognize offical Xbox360 controllers.  Yes, sad but true, Microsoft in their infinite wisdom made the Xbox controllers use their own special messaging system, meaning games programmed for their controllers won't respond to normal USB controllers input unless the developer of the software recodes the entire control scheme.  Sadly, most developers don't have the time/resources/planning to devote to this.

It's not a lost cause though!  There is a tool found throughout many gaming communities that fixes this problem.

The basic concept, for those new to controller emulators, is that you run a third party software along with the game that "bridges" the language gap between the controller and the PC game.

I recommend the x360ce emulator, because while it takes a bit more setup to get game ready, it's open ini file will allow you to use just about any controller under the sun, and it's free.  These programs are unsupported by the game companies(obviously), but I have used the one below myself on many of my games and can certify that it is safe to use.

The zip you get from them will contain an ini file, a program called XInputTest.exe, and a number of dll files.  There isn't setup instructions, so I'll write some myself here, as it's not entirely clear what to do with them.

Step 1. 

First, plug in your controller, and run the XInputTest.exe.  The exe is a controller testing program and will let you see which buttons on your controller are setup for what Xbox360 equivalents.

Take note of any tweaks or button swaps you wish to do.  The main thing you will want to look for is any joysticks going the wrong way or being read wrongly.

If everything works out of the box, skip to step 3, and congrats.  More then likely it doesn't though, so let's move on to step 2.

Step 2.

Close the exe, it's done it's job and we are going to tweak the ini file, which the exe can't reopen without running again anyway.

Open the ini file in a plain text editor.  Notepad, with wordwrap set to off, will do just fine.

The ini file looks pretty scary, but it's actually very simple.  Each line is one button, and it is split into groups called [Pad1], [Pad2], and so on.  Each of these groups contains a list of axis or a button in Xbox360 terms, and what regular button is being read as that input.  So for example, the line:

A=2       //some comments explaining what this is

simply means that the A button on the virtual Xbox360 controller is mapped to your controller's button 2.  To swap or edit the buttons, just change the numbers around.

The ini itself is pretty well commented telling you everything you need to know.  If you mess up the ini, you can always unzip the file again.  The emulator won't break your computer or anything should you mess this file up.

You also don't need to set everything to a button, so don't panic if your controller doesn't have enough buttons or features.  The main ones you'll need for most games are the 4 shoulder buttons, the A,B,Y,and X face buttons, Start, and the two joystick axis(most games use one for camera movement and one for character movement).

Once you get the ini setup the way you think you need it, save the file, close the ini, and run the exe again like in step 1.  If everything works, great.  Backup the ini in a safe place.(I prefer a folder named after my controller)  Move on to step 3.  If it's not quite working yet, close the exe and go back to tweak the ini some more.

Step 3.

This is where we get the game loading our controller emulator proper.  Copy the ini and the dll files(you will want all of them).  If you wish to easily test the ini later, copy the exe too, but it's not needed to make this work.

Go find the directory where your Xbox 360 controller game is installed in.  You will need to find where the main exe file of the game is located.  For most games this is right in the "Program Files/TheGame" folder, but some hide their exe inside a "Data/" or "Builds/", or other folder.  If in doubt, you can usually find the exe by checking the properties of the desktop or start menu shortcut you use to boot the game up.

Paste in the emulated dll files, and the ini file.  That's actually all you need to do to get it running.  Any 360 developed game will automatically boot the dll files and run the controller emulator if these files are in the directory, due to the way the Xbox360 development works.

Fire up your game, with your controller plugged in of course, and try it out.  The game should now read your controller just like the Xbox360 ones.

And yes, the ini does support up to 4 controllers so long as you set them all up properly.  Use the property "Index=0" at the start of the controller blocks.  Once again, the ini itself details how to use this so I won't bother rewriting their instructions here.

Enjoy your Xbox360 PC ported games, the way you want to play them!