1 2
7 8
Post subject: Running TASes on console at AGDQ 2014
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11492
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
https://docs.google.com/spreadsheet/ccc?key=0Alb3Dj0u13H7dGk4c29SNTFKR000SmFOSXJMTU5NYXc#gid=0 https://forum.speeddemosarchive.com/post/agdq_2014_games_topic__deadline_is_august_25_at_11pm_edt.html Wiki: ConsoleVerificationGuide We seem to have gotten half an hour to run some TASes. Adelikat and DwangoAC were going to go there to playback Gradius and SM64 0 stars using NESbot and Droid64. I suggested also playing back the glitched run of SMW by Masterjun. Ideally, Masterjun also succeeds to make a total control SMW playaround. And GhostSonic drives there to talk about snesbot. It is going to need more that 30 minutes. But we are to figure out all we possible can do for that to happen, and what we would want to happen at all. This thread is dedicated to invent and prepare everything related to that event. Console verifying NES and N64 runs looks already rather stable, while doing that for SNES is very unreliable and unexpected. Especially when it comes to finishing SMW in a couple of minutes. Especially when it is related to 4 controllers. And to freaking total control TAS! Link to video Link to video Link to video
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Post subject: TASVideos needs your support at AGDQ on 2014-01-05 5:25 EST!
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
Greetings, TL;DR: I will be representing TASVideos at the Awesome Games Done Quick 2014 charity marathon for the Prevent Cancer Foundation on January 5th starting at 8:25 PM EST and I am requesting donations from you (yes, you, reader :) toward a $10,000 USD goal during the TAS block where I will be showing TAS's on consoles. Donating during the block will enter you in a raffle to win various prizes, including the first production run bot from true in the form of a ROBBerry Pi! In August I started discussions in IRC about the idea of TASVideos supporting the AGDQ 2014 charity marathon and I'm very happy to see the level of support from across the TASVideos and SDA communities. Before I go into details, I should explain what AGDQ is and my motivations for doing all of this work. The website SpeedDemosArchive.com is the largest community of players completing games as fast as possible using human skill alone. Several years ago they started a yearly charity marathon now known as Awesome Games Done Quick and the marathons have driven more than $1 million in donations to various charities, primarily to the Prevent Cancer Foundation. As cancer claimed the lives of three of my grandparents when I was young I am motivated to support SDA's charity efforts any way I can. As part of this, I've had good discussions with adelikat about having TASVideos actively support the AGDQ 2014 marathon through things like a website banner on the front page and representing the TASVideos community during the marathon itself. I pitched the idea of a TAS block in the AGDQ 2014 Games List thread and mikwuyma (who is generally in charge of game selection and the marathon itself) responded on the next page by initially allocating a 30 minute block (which he later bumped to a full 45 minutes) during primetime on the opening day of the marathon on 2013-01-05 at 8:25 PM EST. Update: Many people contributed to this project over the course of the last several months, including Ilari, zid', micro500, DarkKobold, adelikat, and true. Here is what we've accomplished, with the original post at the bottom to provide historical context for the discussions in the rest of this thread. I attached a Raspberry Pi computer and the board that true built to a ROB and dubbed it ROBBerry Pi! ROBBerry Pi can play back NES and SNES games and will be used to play back Gradius with adelikat commentating, SMW total control thanks to Masterjun, and a bid war between SMB3 and something as-of-yet undecided. On the N64 front, micro500 has his existing bot and has also started work on a new revision. We'll be playing back SM64 0-star. My wife and I will be at AGDQ 2014 for the entire marathon. She's made a few raffle prizes and I will be volunteering at various stations. What I need now is for people to spread the word. The TAS Block will run on 2014-01-05 from 20:25 - 21:10 EST (8:25 PM - 9:10 PM EST). My personal goal is to raise $10,000 USD in those 45 minutes. It's an optimistic goal, and it can't happen without the help of the TASVideos community. Donating will enter you in a raffle to win various prizes, including the first production run bot from true. The second half of the original post is below for historical context
We even have some good ideas for donation incentives! So far, we have the following suggestions on things we can show in a TAS oriented block:
  • NES bot running Gradius, potentially with commentary from adelikat if he can attend Update: He'll be there!
  • N64 bot running Super Mario 64 0-star
  • SNES bot showing Super Mario World, possibly with total control based on work Masterjun is doing Update: There are exciting developments on this front!
For my part, I have experience and access to a hardware lab and am committed to doing the following:
  • Post regular updates of my progress (in an entertaining and educational manner)
  • Build an NES bot (using either the Arduino hardware or my own attempts using the ENIO board)
  • Build an N64 bot (either the existing design by micro500 or my own design)
  • Build an SNES bot (based on the design feos came up with)
  • Attempt to build all three on common hardware (as a TASBot) using a Raspberry Pi and engage the Pi community in the project
  • Attend AGDQ 2014 early around January 4th, 2014 to help them with setup
  • Read donations during the marathon
  • Set up hardware and give a demonstration of all of the bots that work during a TAS block
Here are the parts I still need to pull this off:
  • A copy of Gradius that will sync with adelikat's run Update: micro500 lent me his cartridge - Thanks!
  • A copy of Super Mario 64 (an SDA member named Corrodias on #SDA offered to donate an N64 console for this project)
  • A copy of Super Mario World (I own one, but it's not with the rest of my SNES games and I have been unable to find it)
  • Four sacrificial SNES controllers (I only need the cords so broken controllers are fine) Update: I bought SMW, SM64, and two controllers from a local enthusiast and I bought a third controller using Bitcoins from SDA member AniMeowzerz
  • A Raspberry Pi to backfill the one I plan on using to create a new TASBot platform (still needed)
  • Potentially a GERTBoard for the Raspberry pi to protect the Pi's sensitive 3.3v GPIO pins from voltage spikes No longer needed
  • Wiring harnesses for each console, possibly with console-specific circuitry as needed
  • An Arduino (as a "backup strat" :) Borrowed from a co-worker with much thanks
I'm seeking donations from the community to help obtain these items as some of them might be difficult to find. In particular, getting the correct copy of Gradius could be a challenge, and not many people actively sell broken SNES controllers (I'm good here now). I'm planning on financing the plane trip itself from California to Washington, DC and covering room costs for a week at the Crowne Plaza as well as covering the costs of all of the materials needed but at the same time I would not turn down donations. Update: An anonymous Bitcoin donor (namely, Sonny from Butterfly Labs) covered all of the existing travel and materials costs! The only remaining costs I have are food and transportation while we're there and a few smaller materials (lots of yarn for raffle prizes, primarily :). If you're inclined to donate but do not have any of the needed materials I can receive Bitcoin donations at the address 1CknXDyb5jTG1Nw1hs437r6fnz7npBSEfA and can publicly thank donors during the stream if you make your identity known. Thank you in advance for the support, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Joined: 7/10/2007
Posts: 280
I wish you luck at educating the room/stream and not getting laughed or hated out of the room.
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
Tristal wrote:
I wish you luck at educating the room/stream and not getting laughed or hated out of the room.
Heh - I think we'll be just fine there. The last time DarkKobold showed off the NES Bot it was very well received. Having said that, I want to make absolutely sure I'm as prepared as possible and have a "marathon safe" demonstration. While the marathon's deadline is in January, my personal deadline is December 10th; I plan on presenting what I have working at the December North Bay Linux User's Group general meeting. Anything between December 10th and the marathon will be refining what already works (or at least that's my plan now :). Thanks for the best wishes, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Joined: 7/2/2007
Posts: 3960
Good luck! I still think the bots are some of the coolest things to come out of this community. Making one of each type sounds like a big job.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
Derakon wrote:
... Making one of each type sounds like a big job.
Indeed! Making one that handles all types is even more ambitious, but I'm up to the challenge. :) A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
PJ
He/Him
Joined: 2/1/2011
Posts: 182
Location: Western NY
I'm really looking forward to this, and I approve of the games you selected (Gradius and SMW are really strong picks, SM64 I have no strong opinion for/against).
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
PJ wrote:
SM64 I have no strong opinion for/against).
At this point SM64 is about the only thing we know that works for certain, so that's just a starting point. Having said that, what N64 choices would be good ones, keeping in mind we'd have to source the original cartridge? Just curious, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
After looking at the console verified videos, I think Marble Madness, SMB2 (warpless if there's time, warped otherwise) and Tetris "fastest 999999" would also be strong choices. Of course, I also think that if you're bringing a bunch of TAS bots to an event where everyone is bringing a bunch of games to play and speedgame, you should use this great opportunity to attempt to console verify as many TASes as possible (probably mostly NES given not many SNES runs being Bizhawk yet, but hey), and maybe the options will change at the marathon itself. That would be sweet~ If you're going to be talking about TASing during the block, I think you should be sure to emphasize that TASers and speedrunners help each other out, by proving glitches and tricks and routes are possible to each other and discovering new stuff about the game, and both 'sides' improve the times of the 'other side', and that many speedrunners also TAS. It might also be worth talking about a different kind of TAS which I hear called a theory TAS, which is to demonstrate a mistake-free real time route, not to go for full speed, but to show how good an RTA speedrun route can get.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Skilled player (1417)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
I like the idea of taking requests at the event.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Joined: 7/10/2007
Posts: 280
Gradius is a fantastic choice because there's nothing completely unbelievable about the run.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
I just thought of something else, for TASes that have 60Hz vibrations of movement it would be good to see if the stream can be capable of displaying what's going on (e.g. is there a good deblinking filter that works in real time?)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Ambassador, Experienced player (710)
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
I'm curious if Final Fantasy syncs. The full run is way too long but I have a script that generates the input to enter names as fast as possible for a potentially hot donation item. The run could stop after Garland or load a savegame near the end and beat the final dungeon. Still too much for a half hour show but maybe some other time.
Skilled player (1742)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Well, how about something short like the Wizardary runs for the NES? It would be nice to see an RPG sync on the actual console. :o
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
To briefly answer some of the questions that came up about running different games, yes, I'd love to try. Just like the other NESBot owners, though, I'm under the same restriction that I can't run games I don't have access to. The marathon will be a perfect time to attempt to console verify other games, so I'll be making a post in the SDA Marathons forum in a few weeks asking people to bring games to be verified. It's hard to say what the reaction will be to that idea, but it couldn't hurt to ask. Thanks for the support from everyone, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Joined: 2/3/2013
Posts: 320
Location: Germany
Patashu wrote:
I just thought of something else, for TASes that have 60Hz vibrations of movement it would be good to see if the stream can be capable of displaying what's going on
Twitch is able to show videos with full FPS.
Patashu wrote:
(e.g. is there a good deblinking filter that works in real time?)
I doubt there's such a thing.
All syllogisms have three parts, therefore this is not a syllogism.
Post subject: Progress on creating an NESBot
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
I've made some good first progress at making an NESBot. Unfortunately, I'm signed up to donate blood today so I have to make this quick. Starting state: http://ic.pics.livejournal.com/ac/9096/1244251/1244251_original.jpg What I got done last night: http://ic.pics.livejournal.com/ac/9096/1235837/1235837_original.jpg And a whole lot in between: http://ac.livejournal.com/pics/catalog/22750 There's so much more to post about and describe but suffice it to say I used an NES MAX controller as the donor for a 4021 chip per the instructions at http://www.instructables.com/id/NESBot-Arduino-Powered-Robot-beating-Super-Mario-/ and my next step is to figure out how best to interface with a Raspberry Pi and adapt the code micro500 came up with. I still do not know if this will work, but I won't find out until I try. :) I'll flesh this entry out later with better pictures and more information. Edit: I created a new entry for the update which can be found here: http://tasvideos.org/forum/viewtopic.php?p=354440#354440 Until then, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
I think adelikat's Gradius run is a perfect demonstration of what can be accomplished under TASing conditions. Personally I'd love to see Genisto's SMB3 playaround too, but that's WAY too long.
Previous Name: boct1584
Post subject: Re: Progress on creating an NESBot
Tub
Joined: 6/25/2005
Posts: 1377
dwangoAC wrote:
and my next step is to figure out how best to interface with a Raspberry Pi
I was under the impression that the previous bots were simple things that couldn't do anything but send a few electrical signals, and they had to be reprogrammed from a PC anytime you wanted to changed movies or something. But the Raspberry Pi can run a complete OS with a GUI. So.. would it be possible to make the bot completely self-sufficient, by installing an emulator on the Raspberry, attaching keyboard and monitor, and working from there? I think that'd be cool for a live demo. Show the Raspberry's screen on stream, play around with the emulator.. this is slowdown, we can do frame advance, here's a savestate.. just record a little movie while explaining the basic tools we use. Then send it to the real console. Live. And when the viewers understand what's going on, go for the real movies. Possible? Feasible?
m00
Post subject: Re: Progress on creating an NESBot
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
Tub wrote:
So.. would it be possible to make the bot completely self-sufficient, by installing an emulator on the Raspberry, attaching keyboard and monitor, and working from there?
That's definitely a possibility. I have a Motorola Lapdock I picked up for $50 which has a screen and can be adapted to both power the Raspberry Pi and provide a touchpad, keyboard, and screen. If I can get everything working my plan is to use that platform and have individual harnesses that connect to each supported console to allow quickly transitioning between them. December 10th is coming awful soon for all the plans I have... :) A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Skilled player (1742)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
dwangoAC wrote:
To briefly answer some of the questions that came up about running different games, yes, I'd love to try. Just like the other NESBot owners, though, I'm under the same restriction that I can't run games I don't have access to. The marathon will be a perfect time to attempt to console verify other games, so I'll be making a post in the SDA Marathons forum in a few weeks asking people to bring games to be verified. It's hard to say what the reaction will be to that idea, but it couldn't hurt to ask. Thanks for the support from everyone, A.C. ******
Can you also include (and update) a list of games you do own/confirmed to be able to borrow so others wouldn't end up bringing doubles?
Post subject: First steps: reimplement an NES controller on a breadboard
Moderator, Senior Ambassador, Experienced player (907)
Joined: 9/14/2008
Posts: 1014
When I posted about making my own NES bot I promised to post regular updates on my progress and this is the first major entry. I invite you to follow along in the journey - I'll do my best to make it an entertaining one! I'll be posting several pictures which you can click on to see in the original size. I'll be uploading all of the raw pictures to this TASBot album. I wanted to start by re-creating an NES controller on a breadboard to make sure I understood all of the different components. This turned out to be very worthwhile as I discovered many deficiencies in my own knowledge which I filled in over the course of a few days of research and experimentation. To get the project kicked off, I sorted through my boxes and pulled out an old breadboard I acquired as an extra when I bought my Twilight Zone pinball machine. Here's what my workspace looked like shortly after I started: That's a solid-core door sitting on two filing cabinets for a desk with the Twilight Zone pinball machine to the right. Note the breadboard with a previous project's wiring still in place. It took me a while to clear off all of the jumper wires but I was able to get them sorted by length. I decided to sacrifice an NES MAX controller for this project (I have two normal rectangular NES controllers and that particular MAX controller always seemed difficult to use for me). I desoldered the cord and removed the existing 4021 CMOS shift register IC from the board with the assistance of my helping hands gripper. An NES controller uses the shift register to collect the 8 buttons that can be pressed (U, D, L, R, Select, Start, B, and A) and feed them to the NES one bit at a time through a single serial data out pin. Since my goal is to emulate what an NES controller can do I decided to start with that chip on the breadboard. I initially relied on the wiring diagram from micro500's original instructables post. I started by getting the wiring harness pinned down and the 4021 placed with a few wires run. In this state I wasn't supplying the column marked A with any voltage so the dangerous-looking yellow jumper on the right was innocuous. It should also be noted that in this state it didn't do anything useful and I wanted to fix that so I took a couple of days to do some research. I was attempting to short one of the 8 parallel in pins of the 4021 to ground in the hopes that it would trigger a button press but nothing was happening and I wanted to fully understand why and what I should be doing instead. With the aid of an army of people in #tasvideos giving me guidance (including micro500 himself, DarkKobold, true, zid', Ilari, and several others I'm probably forgetting) I got a better grip on how to work with CMOS integrated chips. The consensus at the time was that the voltage needed to be pulled in the correct direction rather than just relying on shorting to ground. During this string of educational conversations I came across this helpful post about connecting an NES to a Raspberry Pi with links to a project from Seb who put together a very helpful wiring harness design (albeit with the wire colors in German). After many hours of trial and error testing over the course of a couple of days the breadboard looked significantly more populated. I happened to have an 8 position dip switch and placed it next to the 4021. I also joined A and B on the left with A and B on the right, respectively, which can be seen in this image of the full breadboard. By connecting all 8 parallel pins to 5 volts using 10k resistors I was able to pull those pins high unless the switch was flipped to allow current to flow to ground, thus pulling the respective pin low. I did a bit of testing and this somewhat works, but at this point there is no timing, so what tends to happen is all 8 buttons are held down when the console is turned on or no buttons are held down until the 8th switch (4021 pin 1, parallel in 8) is flipped. This tells me that I now have at least a somewhat working circuit (the behavior of the 8th parallel in pin puzzles me, but I suspect it is due to the lack of timing synchronization). Now that I have the basics down my next step involves a whole lot of research to determine the best way to connect a Raspberry Pi to this interface, keeping in mind that the NES is the most simple device of the lot and the design must eventually support 4 SNES controllers at maximum data rate. I'll post as I make progress, although it could be a while before I have anything else fancy to show. Thanks again for everyone who assisted me and here's to further progress over the coming days and weeks, A.C. ******
I was laid off in May 2023 and became too ill to work this year and could use support via Patreon or onetime donations as work on TASBot Re: and TASBot HD is stalled. I'm dwangoAC, TASVideos Senior Ambassador and BDFL of the TASBot community; when healthy, I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
A nesbot built inside a regular NES gamepad would be awesome. (Naturally it would have to have an extra USB port of something similar for it to be programmed, but other than that it could look identical to a NES gamepad.) You would simply connect it to the NES normally and it would play the game by itself. Extra bonus if it could be used as a regular gamepad as well (perhaps there could be a switch to select which mode it is in.)
WST
She/Her
Active player (490)
Joined: 10/6/2011
Posts: 1697
Location: RU · ID · AM
And if someone really makes it, I’d be glad to see the circuits, PCB layout and the firmware ;)
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
Warp wrote:
A nesbot built inside a regular NES gamepad would be awesome. (Naturally it would have to have an extra USB port of something similar for it to be programmed, but other than that it could look identical to a NES gamepad.) You would simply connect it to the NES normally and it would play the game by itself. Extra bonus if it could be used as a regular gamepad as well (perhaps there could be a switch to select which mode it is in.)
HELL YES I will now do something like this...
true on twitch - lsnes windows builds 20230425 - the date this site is buried
1 2
7 8