So, a while back I had gotten a game called Castle Crashers on my Xbox 360. If you don't know, it's an excellent little 4 player action/hack and slash side scroller. It has leveling up, a multitude of weapons to collect and characters to use. Overall, it's great. A short time ago it came out for PC, but I thought nothing of it. The other day I was sitting around doing something or other unrelated when I suddenly thought to myself, "Why isn't castle crashers on my cabinet?"
So, I went forth to give this question an answer. I quickly discovered that there are several good reasons why it isn't on my cabinet, and after a short time it was not at all for lack of trying. It's a fairly lazy port that really only supports xbox 360 controllers for multi-player. Pretty absurd if you ask me. So after a long while of googling various ways around this, I found that nobody had come up with a solution. There were problems (eventually solved) even getting two players to play, one with a 360 joystick and one with the keyboard. Apparently it's set up so that a keyboard and controller hooked up will both control player 1. Another issue people had, but also found a way around was that using joysticks other than 360 specific Microsoft ones wouldn't work. There's an emulator out there that turns regular joystick commands into 360 ones. So, I searched and searched and thought about how I could make this work. I couldn't find anything about a keyboard to xbox controller emulator when just googling that phrase. I found a keyboard to joystick emulator, which in conjunction with the joystick to xbox controller emulator might work, but that seemed absurd. I was just about to call it quits when I noticed on my thumb drive I still had that little x360kb set of files leftover from when I put SF4 on my cabinet. I had completely forgotten about it. Looking through Google just now, I found one search/link that kind of leads to it, but you have to dig a bit as the first link leading to the program comes to a dead page. I also found several pages when searching these words about people unable to play this very game.
Anyways, long story short, I finally got it fully working on my cab. But there are a few quirks that had to be dealt with. For one, as mentioned above, controller one and the keyboard will both only control player one, and the keyboard cannot be disabled, so even if you have x360kb set up for 4 controllers, the keyboard bindings will override whatever player 1 is set to. So in x360kb you can set controller one to empty and just use the game's internal keyboard controls. Another (biggish) issue is that the game doesn't differentiate between left/right shift or ctrl. So for people that have cab binding for the individual keys on your ipac, (which anybody with a 4 player cp will likely) it might take a little bit of working. For me, the issue was that on my P1 controller setup, one of the buttons was bound to the left shift button, and one of the ones on P2 was bound to the right shift button. So I had to bind (inside castle crashers) the conflicting button to one not used by any other button on my cp, and set up a stripped down controller one config inside of X360kb to use the specific shift button in place.
This all might seem a little bit confusing, but if you decide to put castle crashers on your cab, you'll start running into these issues and hopefully what I've put here will clear some problems up for you. Below is a copy of my x360kb.ini to give you an example of how mine is set.
The default controls for the game are:
X: light attack
Y: heavy attack
B: item
A:Jump
Left / right bumper: scroll items
Left trigger: block
Right trigger: magic
[Options]
UseInitBeep=0
Log=0
BackgroundMode=1
PadCount=4
[Pad1]
A=Left Shift
[PAD2]
D-Pad Up=r
D-Pad Down=f
D-Pad Left=d
D-Pad Right=g
X=a
Y=Right Shift
A=q
Left Trigger=w
B=i
Right Shoulder=k
Right Trigger=Left Control
[PAD3]
D-Pad Up=u
D-Pad Down=y
D-Pad Left=c
D-Pad Right=o
X=e
Y=j
A=m
Left Trigger=n
B=v
Right Shoulder=b
Right Trigger=t
[PAD4]
D-Pad Up=l
D-Pad Down=Comma
D-Pad Left=Period
D-Pad Right=Slash
X=Numstar
Y=Space
A=Apostrophe
Left Trigger=Semicolon
B=Left Bracket
Right Shoulder=Right Bracket
Right Trigger=Backslash