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

No comments:

Post a Comment