This contraption was featured with a 2 page spread in Xbox Magazine March 2007
I was also blessed with a phone interview with BBC Online HERE in February 2007.
Watch for yourself the setup and activation of the xBot for a Deathmatch game. The video plays thru 1 DM game and the start of the next.
The video got 5 YouTube Honors the first month of the article release...
#24 - Most Viewed - Gadgets & Games - English
#100 - Most Viewed - Gadgets & Games - All
#26 - Most Linked - Gadgets & Games - All
#35 - Most Discussed - Gadgets & Games - English
#55 - Most Discussed - Gadgets & Games - All
So what's the xBot? It's an automated Xbox 360 button pusher to get Perfect Dark Zero's two most tedious achievements: 1000 Death Match Games and 1000 Dark Ops Games worth 30 gamer points each (60 total). Both of these Achievements were successfully obtained by the xBot without having to sit there and push buttons for 40-50 some-odd hours. While it's running its course, nothing needs to be touched. Except for the occasional checking if I got my points.
Why, you may ask, did I build such a thing? Because I can!
Why did this only get me 60 gamer points? I had already obtained the 10 (10 points) and 100 (20 points) Deathmatch and DarkOps games Achievements (worth 60 total) before making the xBot. Those were eventually obtained by going for other multiplayer Achievements
Initially I went for the 1000 by hand and I noticed that it came down to only 2 button presses. That and it didn't matter if I actually won matches. I only had to participate in a match while a hoard of bots did the rest by getting to the kill count. I could just stand there like a stooge and let 'em kick my, and each others', virtual butts.
The idea of me sitting there and pushing 2 buttons every 2 minutes manually, ugh, would be boring as watching a 300 baud modem download a 5meg file (Age test...who remembers 300 baud modems?). What if something could mash them 2 buttons for me while I did more important things...?
Thus the xBot idea was born...
It took me 10 hours to design and construct the xBot. It was made with...
It's been asked that isn't this considered cheating? Not in my opinion, but your milage may vary. The way I see it is I could spend all day and night mashing these buttons, or challenge myself to build something to do it for me. So far, these are the only Achiemevemts (and the only game for that matter) it will work with without expanding it with more solenoids and either a PLC [Programmable Logic Controller] or some other doohickey.
"OK, OK, so you built this thing. What exactly does the xBot do?" After manually setting up for the respective game type, it presses the Start and B [Back] buttons at a timed interval to perform the simple, yet extremely repetitive button presses. This is done by using 2 rotational solenoids driven by a TTL (Transistor to Transistor Logic) controller. The best part is the xBot is non intrusive to the controller hardware which can be removed and used like a normal game controller.
After the initial game setup, the function of the xBot maintains the cycle of game start and relaunching with the following 4 steps...
In other words, it's an automated map launcher.
For maximum efficiency, it was necessary to set each game type so they will finish as quickly as possible. Here's the setups I used...
According to www.top360tag.com, only 341 players have gotten the 1000 DM games Ach. and 356 have played 1000 DO games Ach. This is out of 329,604 gamers that have played PDZ as of May 6th. 2007.
If the nerd factor flag hasn't already been raised to 11...I'm gonna wave another one right...about.....ooom.......NOW!
XBOT DRIVERBOARD CONSTRUCTION AND OPERATION
Unfortunately, I'm not going to provide a schematic for the driver board. I gotta keep some magic, mystery or whatever to it. What I will divulge is a step-by-step of what happens electronically...
1: A power supply converts 12VDC to 5V for the circuitry and splits off 12V for both the solenoids.
2: An adjustable 555 timer circuit generates the pulse, or speed, at which the following counters run. A couple of potentiometers control the rate of the 5V pulse, in other words, make its heartbeat faster or slower.
3: The pulse then runs a dual 4-bit binary counter which is cascaded to operate as an 8-bit binary counter. This number is visible with 8 of the 10 bars of a bar-LED display. It helps to see where the counter is at for adjusting the timing of this thing.
4: Choosing a couple of ON states of the counter to trigger my switches, those values are run thru an AND gate. Depending on the timing, I may need 2 binary ON states to trigger. If it's only 1, then the other AND gate input is tied to 5V.
5: Next, the output of the AND gates (2x) are run thru a 556 (Two 555 timers on 1 IC) which was wired as a Monostable Multivibrator. To put it another way, the 556 generates a predetermined pulse no matter how long (or short) the binary signal outputs are ON. Before this, during testing, the clock speed was set fast to watch the operation of the solenoids. A side effect of this was they started to overheat because of the high duty cycle. This also held true if the timer was too slow, the solenoids stayed on too long when the pulses came around causing a similar thermal condition. The Mono-Vibe was dropped in as a safety of sorts and it worked perfectly.
6: The outputs of the 556 are run thru 2 NPN transistors which switch the two 5v relays. This alleviates the current draw off of the 556. Without them, the spike would glitch the binary timer with erratic results. Can't have that happening!
7: Finally, the two rotational solenoids convert the electrical pulse to mechanical. Each controls a pushrod with a rubber bumper at the end. When the predetermined binary count is reached, click goes the controller buttons!
I eventually added a switch that turns off the power to the solenoids. This was in case I needed to fiddle with the controller buttons (game setup, check Achievement list, etc.) without stopping the timer.
A foible of the unit is when power is first applied to the xBot, both of the solenoids momentairly activate and push both of the controller buttons. The aformentioned cut-off is a work around. I probably won't try to debug that. The xBot has served it's purpose so I don't care. That and what's a home-brew gadget without some bugs to give it character anyway(?)
If I had to redesign the driver board, I'd probably have used a couple of decimal counters instead. That or run the binary counters thru a Binary to Decimal decoder. That would have alleviated the need for the AND gates. I used what parts I had on hand. But y'know when designing something like this it's 6 of one or half a bakers dozen of another (6.5?). The end result was the same.
In conclusion, this is all it does: It launches bot matches by pushing 2 buttons every 2 minutes to give me 60 gamerpoints in 40 some-odd hours.
It was a fun project to put together. Mainy because I wanted to see if I could pull something as ridiculous as this off. And it totally worked. And now with the 2 page OXM spread (Thanks guys!) my wife thinks the wasted time wasn't so much wasted after all. =)
Hope you enjoyed the xBot blah blah.