Showing posts with label xb1. Show all posts
Showing posts with label xb1. Show all posts

Saturday, April 16, 2016

Video Game Automation Device

Automating repetitive actions in video games has been on my mind. I have been playing Elder Scrolls Online lately and it's a decent game. Had a lot of fun, but there are a few fundamental problems with the game. It's a good MMO, but not a very good Elder Scrolls addition. It's missing a lot of what makes ES the series it has been in the past. The need to balance the game for PvP has completely destroyed the value in equipment crafting. 9 trait armor is no better than 3 trait and it takes months to earn 9 trait. Searching for legendary ingredients can also be very time consuming. In the case of Perfect Row, it takes hundreds of fish that you have to fillet for a random chance of getting one perfect row out of one of them. So after an hour or more of fishing, it takes 30 minutes of just sitting there tapping the A button to fillet them. Developers have been adding crappy chores like this lately so they can increase player in-game time. News Flash for developers, twice the amount of time in your game does not mean people are having twice the FUN.

To fight back, I created an automation device to take over these mundane tasks. In the case of filleting fish, I just need to press the A button every 1.5 seconds. Super easy for the Arduino Uno.


Foam and cardboard box big enough to hold the Xb1 controller. 



Make sure to cut the foam for a tight fit. 


I used some scrap materials to make a micro servo holder. Attached a small servo arm and a plastic barrel spacer for the button contact.


Under the wood servo holder is an aluminum plate to press between the foam and box. (Tesla approved)


A cable adapter to connect the servo to the Arduino. 


Now to load the Sketch (code)


Copy/Paste the sketch below to the Arduino Software and load it to the board. 


#include <Servo.h> //From Library
Servo servoMain; // Define Servo
void setup()
{
servoMain.attach(9); // servo on digital pin 9
}
void loop()
{
  servoMain.write(45);  // Turn Servo Left to 45 degrees
  delay(1500);          // Wait 1.5 second
  servoMain.write(0);   // Turn Servo Left to 0 degrees
  delay(750);          // Wait .75 second
}



This is only the beginning of what's possible. Adding some photo sensors, more servos and new code, this can become a very useful tool to level up or earn $ while I'm at work. I hope it inspires you to get out there and make something!

Thanks for stopping by!


-Lonnie Sexton