HAWKEN

HAWKEN

57 ratings
Using a Steel Batallion Controller
By Flame Soulis
Want to pilot your giant mech with a giant controller? It's time for Hawken to meet Steel Battalion!
   
Award
Favorite
Favorited
Unfavorite
Introduction
Back in August, I saw a Youtube video of someone playing Hawken with a Steel Batallion Controller, an XBox game controller designed by Capcom for their game Steel Batallion. I was rather impressed but read that the player hadn't found a way to get their foot pedals working. With some picking and poking, I made my own setup and uploaded it for others to see. It was a crude installation but it did work and to me, that was all that mattered.

There was a problem though: for other people to use this setup, they would also have to buy a program called XPadder, which simulated a joystick to mouse and keyboard. If I was going to release this, I wanted it so that the only cost would be the controller (unless they already had it, then it was just a matter of installing the drivers). After some family emergencies, I had to put the project on hold.

Now Hawken is on Steam, and my video has gotten a few hits, with the forum topic on Hawken's main site also receiving attention. Having returned the the Steel Batallion scene with Kerbal Space Program (a guide for a later time), I felt it was time to finish what I had started.
Drivers and Software
To get started on using your behemoth of a controller, you will need a few things:

In addition, you will need an XBox controller to USB cable. BE WARNED: THESE CABLES COME IN TWO SIZES: 3' and 6'. USE ONLY the 3' CABLE AS THE 6' CABLE WILL EXTEND THE LENGTH TOO LONG AND MAY NOT WORK WITH THE CONTROLLER!

To set up the drivers for the controller, follow the instructions found here[code.google.com]. This is the most tedious part of getting this to work but thankfully you will only ever have to do this once. You may need to reboot your PC if you need to set up the Driver Test Mode. While this may seem like you are reducing your security settings, this only applies to drivers. Because vJoy and the Steel Batallion Controller drivers are not signed by Microsoft (which costs a lot of money), this is needed to get things working.

(You can test this by running the SteelBatallion64 program in "Steel_Batallion_64_v2\bin\x86\Release" and openning the "Simple.cs" file), in where you can should see your lights flash on the controller if it is working properly and should show responses in the Game Controller Properties window in Windows).

Once you have your controller up and running, open up the folder where Hawken is installed (you can get to this quickly by going to your Steam library, right clicking Hawken, choose Properties, select Local Files, and click Browse Local Files). You will fine 3 folders and 2 files. Open up the Binaries folder and open the Win32 folder. Copy x360ce into this folder and open the zipped up libraries file. Extract "xinput1_3.dll" along side x360ce.exe and you are done! All the other files in the zip file are not needed!
Calibrating the Steel Batallion Controller
Here comes the fun part: Calibration. If you have used your Steel Batallion Controller on your PC before, you will need to run a calibration again (sorry!). To help make this easier, I have written a settings file just for Hawken's setup, which you can download here[flamesoulis.com].

Open up the Steel Batallion 64 program and open the Hawken calibration script. From here, you will want to open up your Game Controller manager window in Windows (If you don't know where that is, Google it). You should see the vJoy Device in the window. Select it and choose Properties. Now go to the Settings tab and choose Calibrate. Click Next, and choose Next again.

On the first calibration screen, move the Sight Change stick (not the Rotation Lever) completely left and right. Next, press the Right foot pedal all the way forward and then the Middle foot pedal after releasing the right foot pedal. Press the Main Weapon Control button on the center block to move on. After ensuring you are not pressing any other controls, press the Main Weapon Control button again. This next screen is for an axis that is not in use, so press the Main Weapon Control button again. On the next screen (X Rotation), move the Aiming Lever on the Right Block left and right and press the Main Weapon Control button (or the trigger, which ever works for you). On the Y Rotation screen, move the Aiming Lever forward and back and press the Main Weapon Control button. From here, just click Next until the Calibration is done (since this setup only uses 4 axis). Once finished, move the sticks around and see how everything works. If all is well, congrats, your Steel Batallion Controller is now FINALLY ready for Hawken!
Setting up x360ce
Once all is well, it is time to setup the Xbox 360 Controller Emulator! Thankfully, this is one of the easiest things to do and only has to be done once. Because of the nature of vJoy, I cannot be 100% certain that the ini file is easily transferable from PC to PC due to how devices work in Windows. You will have to mimic the setup shown for the controller to fully work. As you put them in, you should be able to test out the controls as they are entered to ensure they are working fine.

Sometimes x360ce will crash on start up. This is okay. Just run it again and hopefully it won't happen twice in a row. I have found that turning off "Enable Internet Settings Database Features" in the Options tab has reduced the number of crashes by a great amount and helps make x360ce start up much faster. You may also get a notice about the libraries not matching with the version of x360ce. This is okay and won't hurt anything. Getting that message means that you installed the updated xinput1_3.dll file properly which fixes a nasty bug that renders the emulated trigger buttons useless (ie: you won't be able to shoot things).

For a more in-depth explaination on how to use x360ce, see my latest tutorial: How to use ANY controller in Hawken.

http://steamcommunity.com/sharedfiles/filedetails/?id=242222324
Launching Hawken

You have installed the drivers. You have calibrated the controller. You have set up Hawken to allow the controller to act as an XBox360 Controller. Now, it is time to load up the final file and take your mechs for a spin.

http://flamesoulis.com/tutorialfiles/SBC%20Configs/Hawken%20v2-0-2.cs

When you start Hawken, you may get the notice about x360ce being a different version than the libraries. This is okay, so just click Ok and wait for Hawken to load. While uncommon, sometimes Hawken will pretend that the Up arrow key is forever held down and you'll have to exit Hawken and start it again in order to log in (because otherwise it will not let you type in the password field). You will know everything is fine if you start up Hawken and enter in your password with ease.

Once you are in your Garage, give the Team Deathmatch training a try so you can a feel for the controls. Once you are satisfied, launch Siege, Team Deathmatch, or whichever mode you want! The only thing seperating you from your mech now is the Launch button in the mech bay.
FAQ
Question: Why is the guide so vague?
Answer: I have never written guides in the past and being a very technical person, it is very hard for me to understand how far to simplify things without insulting someone's intellegence. I am very open to comments and will improve the guide time passes. This is also an unusual guide because the difficulty in setting up the controller.

Q: How come you aren't doing so well in the video?
A: That was the earlier setup which emulated the mouse and keyboard. This meant I had to guess the mouse's acceleration and movement curves which made the controller sloppy but functional. I plan to do another recording with the newer setup soon, which is much better (to put into perspective, I can actually hold the AA in Siege with the controller).

Q: How come I need an XBox360 Controller Emulator?
A: Hawken is written in the Unreal 3 Engine, which could support other controllers but the settings inside are only set for the XBox360 controller, which has it's own ID setting. To play along, we have to use x360ce to fool Hawken into thinking the Steel Batallion Controller is an XBox 360 Controller.
With further research, I have found settings for the PS3's controller with the six-axis controlling aiming, but that is just me side-tracking...

Q: The glowing lights are distracting. Can I turn this off/slow them down?
A: Yes. Open up the Hawken v2 file and look for this line:
const double dGlowySpeed = 5;
If you change this to 0, save the file, and hit Stop then Start on the Steel Batallion Controller manager, the glowing cycle will stop. The problem is that it'll fade the lights to the left. I plan to add a setting so that the lights do not cycle in future revisions.
If you change this to ANY other number, you can increase/decrease the speed of the glow. Modify to your heart's content.

Q: Can I add my own messages on the Communication Buttons?
A: If I ever find an easier way to do this, yes. Until then, it's a very tedious process that isn't very user friendly.

Q: The Rotation Lever is TOO sensitive/not sensitive enough!
A: That isn't a question, but I can still help with that. In the Hawken v2 file, look for this line:
const int iRotationLeverDead = 32;
If you increase this number (with the highest value being 128), you can decrease the sensitivity of the side dashing. Likewise, if you decrease this number, you can increase the sensitivity. I would reccommend going no lower than 16.

Q: Why are the controls always pointing the the upper left?
A: Chances are you either didn't calibrate it right or you are using the 2.1 RC manager for the controller. You MUST use 2.0.1 for this one. You can run have both on your system but when running the Hawken script, you need the earlier version.

Q: My question isn't in this FAQ!
A: That isn't a question, but if you have one, feel free to post a comment and I'll get back to you as soon as possible. If it's very helpful, I'll include it in the FAQ.
Final Thoughts
The Steel Batallion Controller is very fun to play with and has a great amount of potential. I have found piloting Type-C and Type-B mechs to be more enjoyable (Type-As are just too quick in my opinion for the controller). While some people would consider using the controller as a handicap, it's a handicap that is worth the fun.

Thank you for reading my first guide on Steam. I look forward to any comments about how I can improve this and future guides and suggestions for the controller's setup.
< >
37 Comments
Griff Jul 18, 2018 @ 9:17am 
Ok, its been a while since I set mine up, but I think I can link everything you need.


https://sourceforge.net/projects/steel-batallion-64/files/

^Download the 3.0.1 installer from here, it includes the framework, vJoy program, and the files you'll need to program the thing. The 'simple.ce' file contains all the code, read through it and figure out what it's doing, it thankfully has comments.


https://mwomercs.com/forums/topic/7801-steel-battalion-controller-and-win-7-64-bit-drivers/page__st__40

^The discussion here helped me grealy, so i'm including the link, none od the google docs work sadly.

I've switched harddrive since and don't have it set up, so i'll go through the process tomorrow if I can, and edit this as needed. Good luck!
GodestLove Jul 17, 2018 @ 8:48pm 
Do you have the links to those drives and software mentioned above? Everywhere I have looked, it is a deadend or wrong files. Thank you!
Flame Soulis  [author] Oct 22, 2017 @ 3:41pm 
Okay so... looks like a few links also don't work.... so I will have to also go through it and fix a few things. Also, considering that Hawken may be removed from Steam with its impeding closure, I will also back up this tutorial onto my main site with updated links.
Flame Soulis  [author] Oct 22, 2017 @ 3:32pm 
@Griff Yes, that is correct. As part of the tutorial (and on the driver's page), you need to buy an adapter that converts that to USB (I mean, if you have no shame and have the skills for it, you 'can' just replace the end with a USB Male plug, since that's all the cable is doing is converting the ends). With the end you are showing, it looks like you are missing the breakaway cable. You can look around on ebay or amazon to find them easily (in addition to the adpater cables to convert to USB).
Griff Oct 21, 2017 @ 8:57am 
Just got myself the controller a while ago with the specific goal of connecting it to pc but i've run into a problem. I can't seem to find a converter cable that fits and I'm beginning to suspect that it was missing a piece when I bought it? Is this the same connection you have?
https://gyazo.com/e72f30d193db5ce6a3692131dbdb1de7
Flame Soulis  [author] Oct 8, 2017 @ 12:37pm 
@CyrociRaptor Nope, looks like the GoogleCode site went down, but I found it's sourceforge.net equal at https://sourceforge.net/projects/steel-batallion-64 . The same files are still available there. I'll see if I can't update this tutorial with the correct links later on.
CryociRaptor Oct 8, 2017 @ 9:01am 
Hi this got me very excited but links do not work!?
Dont tell me,.. removed because contained trojan?
The above drivers still best/current way to do this?
Looking to try this out before the game dies...:steamfacepalm:
Starving Philosopher May 6, 2017 @ 4:39am 
and why ? mouse + keyboard seem much more convinient for fast paced game like hawken. maybe it would be better for mechwarrior tho
Miphnifico! Mar 6, 2017 @ 3:56am 
@Flame Soulis
If you become interested in doing such in the future ever, I'd be interested in testing it out. I'm sadly not that versed in regards to things such as custom mapping and building interfaces/drivers and so on, but it would be great to see the controller getting some love on PC. Would also possibly make for a good controller for some games such as Strike Suit Infinity and Strike Suit Zero.
Flame Soulis  [author] Mar 6, 2017 @ 3:47am 
@Miphnificent! No problem! For the most part, basically x360ce (which I do still use) can remap any input devices. In theory, you could even use say an Arduino Leonardo, make your own custom controller, and use x360ce to make it work with any Xbox controller game (XInput devices for the techno savvy people).

I'm sure if I just sat down and redid some of my code (especially since 3.0 came out), I could add better support for other games in general, much like how I had the comm buttons bound to chat commands for simplicity, but didn't have them editable since I did a barebones input for each letter (whereas now, I could make a custom function call that translated a string into the keyboard commands much like how AutoHotkey handles it). This would allow people to use the comm buttons to make their own fast chat commands (or console commands if the game in question allows it).