Allicorn  [developer] Jan 17 @ 4:55am
Controller configuration (UPDATE JAN 23)
UPDATED January 23rd 2014 at 16:00 GMT.

Choosing controls for players

On the game's OPTIONS page you can now choose which controller, if any, each player should be using. Player #1 can use mouse+keyboard, controller 1 or controller 2. Player #2 needs to be on either controller 1 or controller 2 or can optionally be completely deactivated.

Default controller setup

The default controller bindings are this:

Left stick: Move
Right stick: Aim
Triggers: Fire
Left Shoulder: Transfer
Right Shoulder: Fire
D-Pad: Switch droids

If these aren't working for you though, you can now reconfigure the setup yourself. Have a look in the game's folder in your user home directory (on Windows that's C:\Users\<YOU>\.<GAME-NAME> ) and you should find a file called "controls.txt". You can open it up with any text editor (like Notepad for example).

Binding controls to controller sticks and buttons

Up to two controllers are supported. Each line must start "controller1" or
"controller2" followed by a dot "." then either "axis", "button" or "pad" and another dot ".". For "axis" or "button" a number follows indicating the index of the axis or button.

Axes can be assigned one of these values:
moveX controls the horizontal movement of the player
-moveX same but with the direction reversed
moveY controls the vertical movement of the player
-moveY same but with the direction reversed
aimX controls the horizontal aiming direction of the player
-aimX same but with the direction reversed
aimY controls the vertical aiming direction of the player
-aimY same but with the direction reversed
fireaxis as a firebutton whenever there is any movement

Buttons can be assigned one of these values:
firebutton weapons
transfer transfer beam
next switches to the next droid in the squad
previous to the previous droid in the squad
start start button, for spawning the second player
back back button, saves and exits the game

So for example, for regular Xbox 360 controllers, what you probably want is this:

controller1.axis.0=moveY
controller1.axis.1=moveX
controller1.axis.2=aimY
controller1.axis.3=aimX
controller1.axis.4=fireaxis
controller1.pad.X=switch
controller1.button.4=firebutton
controller1.button.5=transfer
controller1.button.6=back
controller1.button.7=start

controller2.axis.0=moveY
controller2.axis.1=moveX
controller2.axis.2=aimY
controller2.axis.3=aimX
controller2.axis.4=fireaxis
controller2.pad.X=switch
controller2.button.4=firebutton
controller2.button.5=transfer
controller2.button.6=back
controller2.button.7=start

You can't bind the same axis or button twice and case is important throughout so "aimY" will work but "aimy" or "Aimy" won't.

Any of the axis values can be reversed if that's needed for your controller, so if moving the left stick to the left makes the droid go right, you need to rebind the movement axis to "-moveX".

If you're having trouble finding the right axis or button numbers for your particular controller then - while the game is running, press CTRL+F7 which'll copy some controller diagnostics into your clipboard. Then quit the game, open up Notepad or some other text editor and hit PASTE. The resulting file should make it easy to see how many axes and buttons your controller reports to the system.

Case is always important in everything in controls.txt. So "moveX" is right, "movex" is wrong, "AUTO" is right, "auto" is wrong, and so on.

Lefty controller setup

If you prefer the left stick to aim and the right stick to move, you can edit the controls.txt and swap wherever it says "moveX" or "moveY" with wherever it says "aimX" and "aimY". So for a Xbox 360 controller, it'd look this like for the Controller 1 lines:

controller1.axis.0=aimY
controller1.axis.1=aimX
controller1.axis.2=moveY
controller1.axis.3=moveX
controller1.axis.4=fireaxis
controller1.button.4=firebutton
controller1.button.5=action
controller1.button.6=back
controller1.button.7=start

Choosing which devices act as Controller 1 & 2 in-game

When controls.txt is first created (or any time you delete it and run the game, which'll re-create it) the game will write some lines into the file that show you what devices were found on your system that might be controllers. Usually this should detect any actual controllers but might also detect some mice, graphics tablets or other unusual input devices.

Here's an example of the kind of thing you might see in your controls.txt file:

device2=Controller (Gamepad F310)
device1=Wacom Graphics Tablet
device0=Controller (XBOX 360 For Windows)

In the example, the game found 3 devices that might work as controllers: an actual Xbox controller, a Logitech controller and a Wacom tablet that obviously won't work well for the game at all.

You shouldn't try to change these lines, it won't do anything. If you need to set which devices act as controllers, you need to look for these two lines:

controller1=AUTO
controller2=AUTO

These lines tell the game that it should just try to automatically work out which of those 3 devices should be treated as Controller 1 and Controller 2 in game. The game always tries to pick sensibly from this list but sometimes you might need or want to change which of your input devices the game should be trying to use.

To override that setting, just change "AUTO" to one of the "device" labels we saw above.

So in the example, maybe you want the Logitech F310 gamepad to be Controller 1 in-game and the Xbox device to be Controller 2. You would change the above two lines to say:

controller1=device2
controller2=device0

Disabling some or all controllers

If for some reason you want to disable a particular controller slot entirely - or both - perhaps some device on your system interferes with the game running properly and you don't have a controller to point the game at instead. Just edit one or both of those two lines again, like this:

controller1=NONE
controller2=NONE
Last edited by Allicorn; Jan 23 @ 8:28am
Showing 1-8 of 8 comments
< >
TuTu Jan 20 @ 9:11am 
I am using Mac. I don't see the controller setting in the OPTION page nor the control.txt file (actually, where should I find the file in Mac?). And my PS3 controller is still not usable.

UPDATE (Jan 23):
After today's update, I see the option page. I also find a .droid_assault directory under my home directory. However, I only see a file called droidassault.sh.log, without seeing controls.txt. I currently have no controller at hands. I wonder the controls.txt file will be created automatically once I play the game with a controller.

Oh, actually, in the log file droidassault.sh.log, I find there writes the location of the controls.txt! It says:
Create config in /Users/<username>/Library/Application Support/.droid_assault_1.92/controls.txt

Cheers!
Last edited by TuTu; Jan 23 @ 11:11am
usermod Jan 23 @ 11:13am 
On linux I found it in '~/.droid_assault_1.92/controls.txt'

Btw, I'm having a problem here. I don't have any controllers plugged in and, in the game wasd keys don't work and I don't see a cursor. Left click doesn't fire and right click just displays my remaining transfers. This happened after a very recent update. Some hours ago it was working just fine.

I'm on the linux!
In a recent log the game reports itself as being version 1.92.1

Edit:
Maybe this is relevant. It's from ~/.droid_assault_1.92/out.log
Thu Jan 23 21:25:18 EET 2014 Loading: net.java.games.input.LinuxEnvironmentPlugin
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event16): Failed to open device /dev/input/event16 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event15): Failed to open device /dev/input/event15 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event14): Failed to open device /dev/input/event14 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event13): Failed to open device /dev/input/event13 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event12): Failed to open device /dev/input/event12 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event11): Failed to open device /dev/input/event11 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event10): Failed to open device /dev/input/event10 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event9): Failed to open device /dev/input/event9 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event8): Failed to open device /dev/input/event8 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event7): Failed to open device /dev/input/event7 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event6): Failed to open device /dev/input/event6 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event5): Failed to open device /dev/input/event5 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event4): Failed to open device /dev/input/event4 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event3): Failed to open device /dev/input/event3 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event2): Failed to open device /dev/input/event2 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event1): Failed to open device /dev/input/event1 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Failed to open device (/dev/input/event0): Failed to open device /dev/input/event0 (13)
Thu Jan 23 21:25:18 EET 2014
Thu Jan 23 21:25:18 EET 2014 Linux plugin claims to have found 0 controllers
Thu Jan 23 21:25:18 EET 2014 Load config from /home/george/.droid_assault_1.92/controls.txt
Last edited by usermod; Jan 23 @ 11:31am
Allicorn  [developer] Jan 24 @ 2:45am 
Hey usermod,

Can you try holding down ESC for 5 seconds. Does the game exit?
usermod Jan 24 @ 3:46am 
It exits in 1-2 seconds of holding ESC.
Allicorn  [developer] Jan 24 @ 3:56am 
Ok good test, seems like the game can read your keyboard fine so there's something else up.

I'm working on a small patch for later which relates to the input device choice getting mixed up during a previous update. I'm sure you've tried this but going tinot the Options screen and changing player 1's controls to something other than Mouse+Keys and then changing it back is a current workaround for the particular bug I'm fixing at the moment.

Do you by any chance have an "err.log" in the same directory where you found the "out.log"? It gets created when certain pats of the game code break.
usermod Jan 24 @ 4:25am 
u can haz logs[gist.github.com]
Allicorn  [developer] Jan 24 @ 5:14am 
Hi chap, thanks for the logs. That helps explain the issue but it's not good news. See all those "bad file descriptor" messages in "err.log"? That seems to be something coming from the OS, not from the game. Can you check for disk problems? Do a reboot maybe? Whatever's caused it it really looks like a disk issue rather than a game code issue as such.
gzeusmants (Banned) Jun 29 @ 12:46am 
Something like "not a valid binding for moveX. using defaults" when I try to use the example 360 controller config.

I'm becoming increasingly angry at the "full controller support" claim, because at least on linux (and it seems elsewhere) it doesn't even have any controller support.
It seems to "sometimes work with some controllers if you work really hard".

That's unacceptable.
I'd ask for my money back (I only got the game because I thought I was getting a twin _stick_ shooter. I have no interest in playing this mouse/keyboard and I DON"T USE QWERTY ANYWAY!!!) but at 99 cents, it won't make up for being witness to this kind of...
Hmm... What's a good balance of diplomacy and honesty...?

Complete mismanagement of resources and time?
False advertising?

It's bad enough that the game's written in Java (which says quite a bit on its own) but controller support is just DERP and for some reason the devs think that A: Steam is 32-bit only (I don't _think_ it is...) and that somehow means that steam can't download/launch 64-bit applications (it can).

I now have a headache.

Have fun with your '90s programming environment and practices... Wait, random, no-name controllers often worked in the '90s, and I'm using the (unfortunately) standard 360 controller.
Actually, I'm not using it.
Not with this game.
Showing 1-8 of 8 comments
< >
Per page: 15 30 50