Skip to main content
Up and Coming
November 21, 2013

FPS Revolution Controller

Hi all. Just wanted to advise of a new product I hope to be ramping into beta-production soon, something I call the FPS Revolution. If anyone has seen the Delta Six controller, it is similar, although I found it after coming up with my idea.

While just getting my teeth wet with the Rift and Omni and wrapping my head around what will be a very definitive and awesome experience with these two matched up, I couldn't help but notice the controller being used was a Wii controller in the very odd shells produced for them that kind of resemble a gun, but the button placement is awkward and touchy. A thought popped into my head that often does when I see something that is less than ideal "I could do better than that" and had a 2-week vacation that came up right after coming up with the concept.

So what was it I came up with? I went to Wal-Mart and found an airsoft gun, cheap spring version nothing fancy. I opened it up to find out what parts inside made it tick. I went to Radio Shack and got an Arduino Uno and a few switches and wire and went to town. Two weeks later after using a Dremel to get rid of a lot of excess plastic that wasn't needed anymore, I had a functional prototype of an AR15/M4 rifle that used to shoot BBs and now shoots data to your PC.

It uses an accelerometer to "feel" the gun turning, a few switches and LEDs to feed input and output and a Bluetooth module to send the data in a simple serial data stream to the PC where a piece of software I wrote takes the data and a configuration that allows you to tailor the software to different titles (COD, BF3, BF4, etc) with different buttons/commands for actions. Pulling the trigger, for example, will left-click the mouse button, swaying the controller will turn in the horizontal direction, while pitching the rifle will turn in the vertical direction, emulating mouse movements. It also has a built-in sensitivity for fine tuning the physical/virtual movement ratio. I also incorporated a "dead-man" switch so that you can engage/disengage the mouse input so that if the virtual movement doesn't match up with the physical movement, you can disengage the movement tracking, move the physical rifle to match the virtual one and re-engage the acceleration tracking.

The biggest issue I've had so far is that the controller, while it works great with a fixed monitor, is kind of like having a mousemat that is too small while playing an FPS where you have to move the mouse to the side of the mat, then pick up the mouse, re-center it, and continue the movement. You basically have to move the controller until you are uncomfortably wrenching your shoulders/arms with the rifle pointed away from the fixed screen, then disengage mouse tracking, point at the screen again and re-engage mouse tracking. While quick and easy to do, it is unnatural and requires a bit of thinking about what you want.

The Delta Six controller overcame that by having the controls work with a fixed screen by leaning the controller left/right to turn. With the Rift and any other HMD, the FPS Revolution will work just like an actual firearm. Point, trigger to shoot, push in the magazine to reload, hit the button that is in the fire mode selector spot to change the fire mode. Also, to go from hip-fire to shouldering the weapon and looking down the sights, there is a button on the pistol grip about where your thumb rests that hitting it will bring up the sights. Depending on how you want it, the software can interact with the game so that you can use the "shoulder weapon" button as a toggle (click to bring up, click to drop to hip-fire) or hold it to bring up the sights, release to drop it. The controls can be set up to counteract the design of the game as well. Battlefield 3 has a toggle sight capability, but Battlefield 4 has gone to a non-toggle hold-to-shoulder method I dislike.

I am in the process of scanning the pieces of the controller into 3D CAD files for replicating, just completed setup of my 3D printer and am hoping by Jan 1 to have a release version prototype. I created an interface board for easy assembly of the controller and have sourced all the parts I will need for the project. I am excited about getting this to market, not for a revenue sake, but because this an exciting time in gaming and I hope to bring a piece of gaming history to a thriving market that needs something to fill the gaps. I hope to have a website up and running sometime, but due to hardware development, have halted site production (I want something I can use with my on-order Rift to fine-tune) and while fine-tuning the project, I can work on the website.

I am working hard on it and am consumed by it (I work on the software, concepts, next steps, research all on my lunch breaks and then back to being a cable guy, crawling through attics, climbing telephone poles with my ladder and digging lines into the ground that have gone bad), but due to a busy work schedule am limited to working on it 2 days a week (my "weekend") and whatever time I don't fall asleep as soon as I exit the shower.

So far, I've designed it with WASD controls built into a foregrip, but due to space available, had to rework the idea to where I'm now using a PSP analog joystick for WASD controls (slightly forward for walk, full forward for run) as well as a series of buttons with custom plastic pieces to press the switches for crouch/prone/jump controls. The fine-tuning I speak of will be assembling the version 2 prototype with the PSP stick and custom buttons. Once I have a rounded prototype, I work with a lot of gamers that are pushing me to finish so they can "beta" the product for me and let me know of any issues in design. One thing I like is the responsiveness of the accelerometer and my program seems to have little to no latency. When I get my Rift, I'll be able to really test the latency and hope to use Arma 3 to test the concept of a disconnected head from body where the Rift controls view and the FPS Revolution controls weapon/body aim.

I have a very loose time-table as development time is limited, but I'm hoping that as far as I've gotten since late September, I will have something functional by January-March. Depending on feedback from my trusted tester group, I might have something to offer mid to late next year. I can't wait to see videos of the FPS Revolution, Virtuix Omni, and the most important piece, the Oculus Rift showing people what getting into the game REALLY means nowadays.

If you've read this far, you're either very bored or really intrigued. I hope those intrigued will be able to take the next step with me soon. Lots of things will change such as the Arduino Uno will be a Micro, the distribution blocks will be replaced by custom-made jumpers (by me of course) all connected to a central board designed by me and produced by Fritzing. There will also be the options for different colored RIS/Foregrip, pistol grip and extendable stock. The main body will remain black, but the furniture will be customizable. Original colors will be Black, Olive Green, Tan, Earth (light brown), White and the optional non-military Navy Blue, Red, Magenta, Purple, Pink, Green and Lime. I'm also looking to try to remove the M4A1 integrated carry handle and put a flat-top rail in its place and put a removable carry handle instead (not that you can see the difference with a Rift on, but I thought it would be a cool idea if I could do it). Also, I plan on making a lefty and righty version where the buttons and switches will be flipped as a righty's thumb rests on the left side of the grip, a button under the palm is far less useful and other differences to allow a lefty to have the same experience as a righty.

Ok. Enough text, now for the pictures (ignore the hairy legs and blue shorts in the photos, forgot to crop them out - and yes, that is my coffee table that I was using on my vacation to make my prototype)..

Early prototype with insides exposed

Flickr Page with Note boxes explaining major pieces:
http://www.flickr.com/photos/77021352@N08/10970982204/in/set-72157637892141526

Early prototype other side showing switches and buttons

Flickr Page with Note boxes explaining major pieces:
http://www.flickr.com/photos/77021352@N08/10971122543/in/set-72157637892141526

    21 replies

    Up and Coming
    November 22, 2013
    I used to be an Airsoft guy myself, owning 3 variants of M4, a M700 rifle and a Glock 17 and Beretta 92 FS, all of which being full metal, realistic magazine capacities and have the full getup with vest, holster and all. I was a milsim guy. I know all about airsoft guns and how they work. The problem with a CO2 blowback system is that the cartridges will empty quickly, where you might get 50-100 shots before having to change the cartridge that is usually installed in the magazine along with the BBs. Changing the mag reloads both.

    For an airsoft gun, that is fine. For a controller on the computer, that is a no-go. Whatever goes into this product will be replenishable by an electrical socket with wear and tear being a long term issue, not a short term one.

    What I've been looking into before going whole hog on the controller is a DC motor that uses a cam-shaft to move a piston with a weighted end on it. Those parts being on a single pivot would cause the piston to shoot back and forth, causing the newtonian reactions we're looking for. The biggest issue with that is the size of the motor for the piston as well as the motion of the recoil, the forces exerted would require a strengthened metal casing that I am not capable of machining. I don't believe there to be a force generated by something that would not require a lot of over-engineering in high-grade thick plastic walls that would fit inside the confines of the controller.

    Another issue is syncrhonizing the shot pattern with the game. The controller doesn't know if your in single fire, burst, full auto or safe. Pulling the trigger and activating the recoil would deliver unexpected results. Again, without tying into the games directly via plugin or hacking, that information is not available and a guess is a half-assed approach for a feature that is only good if fully realized.

    As it is, this feature will probably be a second generation release controller feature. The initial controller will be a non-recoil version with as few buttons as necessary to play a FPS as possible.

    Basic controls needed:
    Trigger
    Shoulder/Hipfire Toggle
    Reload
    Fire Mode
    Forward
    Backward
    Strafe Left
    Strafe Right
    Stance Up/Crouch
    Stance Down/Prone
    Jump
    Melee*

    Melee was an idea that a motion capture device such as kinnect could handle by tracking physical motion. Still debating on another button for this. I was thinking of having a free button above the stance controls (while the jump button would be below) in a DPad kind of layout where the top button would be a free button where you could assign an action like:

    Grenade
    Switch Weapons Up/Down (usually like scroll wheel)
    Interact (like opening a door)

    I would also like a series of buttons for assigning actions like for Battlefield 4 the toggle scope zoom (T) or the toggle zero range (V) keys, but again, my biggest issue is too many damn buttons that don't make sense or are confusing to setup in a real game scenario.
    Aaron Parsons Developer of the FPS Revolution Site Under Development
    Up and Coming
    November 22, 2013
    Wasnt a guy at mtbs3d that was making something similar with hydraulic blowback or something like that?
    Backer "Have faith." -Palmer Luckey
    Up and Coming
    November 24, 2013
    I beleive that simple pneumatic pump and a piston with weight attached to it should be sufficient for basic recoil simulation. Given strong enough air pump, it's sufficient to only have it, no piston. Either way, that's gonna be a noisy device, so you'd also have to employ a real weapon silencer. Good thing those ain't complex at all, ang given that there's no bullet shaft, a simple pipe with a bit of foam in it would do just nice.

    But the servo approach sounds good as well, just make sure it can yield big enough force to propulse the weight at high enough acceleration rate. To get better rate, you can place it further away from gun's centre, and it's completely justifyable as well because in the Rift, what your controller looks like is entirely irrelevant. Also, unless you're firing a magnum weapon, the absolute kickback force is little* so the most of kickback experience is angular kickback rather than linear kickback, so you could as well just put the motor/jet to the barrel tip and point it down at an angle. Many modern weapons (mostly the ones with naturally strong kickback) employ kickback cancellation mechanisms, which means smaller simulation strenght requirement.
    * the 12 gauge round is about 10N, a 7mm rifle bullet is about 6N, 9mm pistol bullet is only 3N, and with magnum weaponry such as 0.50" BMG sniper/machinegun bullet is as much as 45N; just to compare - 10kg weight applies 98N force to the object it stands on
    without tying into the games directly via plugin or hacking

    Games just have to support it, just as any other form of feedback.

    hmm... I have a bunch of spare AVR chips, why don't I try something similar?.. gonna be a waste, but eh whatever
    November 29, 2013
    Nice project

    For the recoil couldn't you just use a solenoid?

    Something like https://www.sparkfun.com/products/11015
    Up and Coming
    December 5, 2013
    The solenoid idea is kind of where I'm going, but the amount of force generated scales with how much power is required to actuate it, making it suck up juice and for now, I need to figure out how good the battery life will be.

    I've finished order most of the parts I'll need to start making the controllers and have a V0.2 shell ready to hack again, this time with the new rechargable battery, the WASD joystick control and the buttons on the chassis instead of on a limited space foregrip. I also am having a circuit board printed that will act as a go-between for allowing the arduino more than the alotted inputs/outputs by using a special chip. The arduino normally supports 6-8 inputs, but with this new board I'll be able to have 16 inputs and 8 outputs without using up more than 6 connection spots for digital communication.

    I'm also designing the custom parts that will be the buttons you interact with. You will press on a plastic piece that is hinged, and that hinge will force it to press a tactile switch on one side or another. The next few weeks will be fun trying to get the chassis ready for the new prototype refinements as well as fine-tuning gameplay with my Rift. I now have the Rift in my posession and am playing BF3 campaign intermittently with my V0.1 prototype and it is fun. Once I get it a little more fine-tuned, I'll get a video going of me in action.
    Aaron Parsons Developer of the FPS Revolution Site Under Development
    December 7, 2013
    Nice, I'm looking forward to seeing it in action.
    New Participant
    December 12, 2013
    Hey bro check out my prototype, http://www.youtube.com/watch?v=QLvJ12biMpI
    New Participant
    January 7, 2014
    cool beANS
    Up and Coming
    February 13, 2014
    An update for anyone following this. I've been busy lately at my normal job and haven't been online as much as I would like, but I am still working whatever time I have at establishing my business, and ultimately, the FPS Revolution itself.

    I now have an official business registered with the state of Florida, AJ Parsons Innovations LLC, and am building the website where people will be able to see the FPS Revolution from a marketing perspective and then proceed to buy it. I am also researching the next steps for the FPS Revolution which will be the replication phase. As funding is currently being dried up with home repairs (those damn water heaters go at the most inopportune times, don't they?), I am having to push back my ability to R&D the materials needed for the production phase. I am looking at possibly having to start a Kickstarter to raise the funds to get the project across the finish line, but will wait on that until I have at least a website and fully viable final prototype/Release Candidate.

    It is all just a matter of time before this is in the hands of consumers, but the coding of the website as well as life itself that intervenes has stifled my progress, but I have had progress in the past few months, just not as much as I had hoped.
    Aaron Parsons Developer of the FPS Revolution Site Under Development
    February 18, 2014
    Thanks for the update Aaron!

    I've definitely been hoping for two things - 1) an update, so thank you. 2) Any more progress or thought on including recoil?