Moderator, Senior Ambassador, Experienced player
(908)
Joined: 9/14/2008
Posts: 1014
My current plan for SGDQ is to move forward with Super Scribblenauts and whatever Endrift gets working. My intent is to shoot for 45 minutes of content with a maximum of 3 different things or so. I'm not set in stone on this but I don't want to take time away from AGDQ 2017 preparations. As an aside, I'm sick and tired of having to scramble at the last minute because payloads and hardware aren't ready in time, leaving the team on-site at the event scrambling until minutes before the TAS block starts. Here and now I'm declaring that all hardware for SGDQ (and for that matter, AGDQ) must be fully vetted, including any visualization boards, no later than two months before the event, and all payload seriously done other than minor tweaks a month before the event, because it's clear that we need time for both technical rehearsals as well as presentation rehearsals. But, that's enough of a rant from me on that subject. ;)
One GB game that might be interesting is Mario Land 2: 6 Golden Coins, or perhaps Metroid II. We don't even know if this can work, though, and the majority of my energy will be devoted on AGDQ 2017 work. Thoughts?
I have neither of those, but they're both done in VBA, which is probably really bad news for syncing. If they could be redone in lsnes, that would likely be a lot better, but that would be rather time-intensive, I'd imagine. If they are, I'm sure I could acquire one.
As for what I've gotten working, well...the Castlevania run actually appears to be dead in the water. It fails to pick up one of the souls on real hardware, despite it having seemingly frame-perfect sync up until then, and it DOES pick up the soul in mGBA, so it'd be hard for me to keep investigating. I did get Sonic Advance 2 working, but that might be...too old hat considering we did Sonic Advance 1 last year.
Actually, if you want to educate the GDQ viewers about ACE/AMC glitches, the "old" route for 6 golden coins (using the pipe glitch to AMC into the credits) is one of the clearest ways to do it. I'm not sure if there's actual ACE available via that route, but explaining how the credits warp works there is one of the clearest examples of game glitching I've seen.
(ACE = arbitrary code execution, AMC = arbitrary memory corruption; the difference is that although AMC lets you corrupt RAM, there might not be any code pointers in RAM that you can trick the game into following, so you might be limited to manipulating data rather than code.)
The old 6 Golden Coins would be good to try. I have no idea how well it might sync.
I started putting together some NES ideas for replays since that is in theory relatively safe. Looking for existing runs that are highly rated, noticeably different from human play, and reasonably available.
These games have already been verified (Metroid only for 100% but I'm expecting the others to work):
NES Dr. Mario (JPN/USA) in 01:12.83 by CtrlAltDestroy
NES Metroid (USA PRG0) "low%" in 11:08.78 by Lord Tom
NES Metroid (USA PRG0) in 08:19.32 by Lord Tom
NES Mega Man 2 (JPN) in 23:48.51 by aglasscage, FinalFighter, pirohiko, & Shinryuu
NES The Legend of Zelda (USA PRG0) in 22:38.13 by Baxter & jprofit22
The last two are on the long side but very well known with the audience and I believe neither are going to be offered for straight up play at the event.
These games might have potential for testing:
NES Battletoads (USA) "warps, 2 players" in 11:04.72 by feos & MESHUGGAH
NES Castlevania (USA PRG1) "minimalist, pacifist" in 12:53.41 by Grincevent
NES Legacy of the Wizard (USA) in 13:44.23 by Lord Tom
NES River City Ransom (USA) "playaround" in 12:55.38 by adelikat & JXQ
NES The Battle of Olympus (USA) in 10:40.78 by foda
On the N64 front I really want to see if F-Zero X can sync. There is some very good content there.
Moderator, Senior Ambassador, Experienced player
(908)
Joined: 9/14/2008
Posts: 1014
In order to get something that would sync well enough on a console I would probably need to use lsnes and for convienence I would probably do it with SGB. I would be more than willing to try creating my own run of 6 Golden Coins, seeing as I actually own it. I do not have a copy of Metroid II, unfortunately.
Gyre, I like almost all of your ideas for different reasons. Some of them we've already shown during the bonus block for AGDQ 2014 (Dr. Mario and The Legend of Zelda) and we did Mega Man for SGDQ 2015 so that's probably out but I'd love to do a run of Metroid with commentary. I was unable to get Battletoads to behave and true had poor results with other Battletoads movies as well, per the Console Verification Tests page, so that one is definitely out. River City Ransom sounds interesting, it hasn't been tried yet. These things take time and cartridges. :)
You're right that I missed striking off the ones that had appeared on bonus stream already.
Battletoads and Legacy of the Wizard are both in the failures list. They're old movies though. I was planning to see if they could be patched up to work with a more modern emulator first. Possibly too ambitious if Metroid is already a viable candidate...
If there is interest in Battletoads I'd be willing to work on it from the TAS end of things. I've been meaning to pick up that game for a while now anyway.
I like console verification type things, so I'm willing to help on other games too. I don't have much hardware but if help is needed on the TAS end just let me know.
I liked the suggestion of Monopoly `4cpu`, but it has to be presented a certain way. At the end of the input file you'd have to actually unplug the controllers from the NES (assuming that's safe and doesn't generate input glitches like it did for SMW->Super mario maker at agdq2016). There's around 2 minutes of gameplay after that happens allowing a showcase of extreme luck manipulation. Drives home just how much control a TAS has over luck.
Too bad it's only 4 minutes, making for pretty minimal play time. But Mario Kart 64 `StarCup` was that long...
For explanation to the audience, a TAS is timed from power-on to last input that is needed to let the credit roll play out. I always imagined the end of a TAS as being definite when the player will actually "surrender the controller" by dropping it on the ground shouting "TIME!", figuratively speaking. Conversely a regular speedrun is timed from "Press Start" to the moment victory is guaranteed (eg: final boss's HP meter hits zero). Consequently a TAS is technically "longer" than a regular run since more content is timed. Monopoly shows that a small number of TAS' try to work around that by dropping the controller way too early, yet still winning.
Edit: add last paragrpah
It has. It doesn't sync.
Battletoads has known emulation errors. The 100% run gets to the vertical stage past the snake stage, but the boss behaves differently than expected. Improve emulation and this game may sync.
Joined: 4/17/2010
Posts: 11495
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
What about finally replaying Gradius? Bonus points if the controller is plugged out after the movie ends to make it clear that the rest of the run is planned out to have no input.
And I still think multi-game tas is a nice thing. Since consoles might have different timing, it can be done by plugging a separate bot to each console, so it comes to having more than one replay device.
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.
Unless each game has its own TAS bot, it would be almost impossible to sync. Crystals aren't perfect and any console is likely to drift and eventually end up +/-1 frame. Then there is the problem of the consoles possibly polling input sooner or later than the others for whatever reason and cause the TAS bot to increment an extra frame. Some form of debouncing could easily fix the second issue but would make the TAS bot more susceptible to the first issue.
There is then the problem of if a movie refuses to sync on real hardware. You can't just add or remove frames of input because it would then cause the remaining to desync instead. Just one misplaced lag frame and the game is done.
I believe if anybody could pull this off, it would be our wonderful engineers that are already making the impossible happen for our entertainment. 1 controller, 4 games HYPE!
P.S. Alternatively, each game could get its own TAS bot but we are already under enough scrutiny from the general public as is.
I remember a suggestion for verifying multi-game TASes was to power-on all the systems at the same time using a power strip/surge protector. Any idea how viable this is? Also, I'm not an engineer, so I don't know about the technical aspects of having TASbot's signal repeated out to multiple consoles.
Moderator, Senior Ambassador, Experienced player
(908)
Joined: 9/14/2008
Posts: 1014
If we were to do this we'd have one TASBot for each console, but replaying the same button presses. It would be important to have visualization boards to demonstrate that yes, the same input was being sent to each game. Regrettably, the biggest problem with this idea so far has been that we don't have enough games that this has been done with that console verify. I played around with this idea prior to AGDQ 2015 submissions but didn't have much luck as everything desynced on the Mega Man front with the cartridges I had on hand. I could potentially borrow other entries and test them out, however. Needless to say, this idea is overall a good one even if it is a bit gimmicky but there are some kinks to iron out first. Thanks for the feedback!
Joined: 4/17/2010
Posts: 11495
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Errr, Mario games are quite an obvious pick. As I said, use as many as your available amount of tasbots allows. I'd use SMB2 since it hasn't been replayed yet, and isn't too famous outside tasvideos, though it's a popular run over here. And since SMB2j isn't an option, and SMB1 is already too famous, I'd use SMB3, that is also a trend for using ACE.
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.
I'm not sure if it's a good idea, but could it be possible to desolder the crystal oscillator of the various consoles and feed them with a common clock signal ?
That's asking for trouble. Each electronic system is carefully designed to take clock skew (the time it takes for the clock signal to actually physically travel the wires to different parts of the system) into account. Furthermore, each system is designed to work with a specific clock frequency. If you go slower or faster, you can get timing violations, which basically means the signals don't get to the point they need to go in the appropriate time frame.
Well, I'm sure it is impossible for gigahertz processor.
But the SNES run at 21Mhz which give a wavelength of about 9.5m. I'm sure we are well under these dimensions.
More over, skew is not so important if you inject the clock at the same point the crystal oscillator was before.
So, there is a small non zero chance that it could work with two same versions SNES.
I don't have any SNES around there, I can't test it )
Moderator, Senior Ambassador, Experienced player
(908)
Joined: 9/14/2008
Posts: 1014
We have less than 2 weeks to submit games for SGDQ 2016, so we need to get cracking on fleshing out the ideas I'll be pitching.
As of right now, the pitch ideas as described in the first post are Super Scribblenauts, Anatomy of an Arbitrary Code Execution, and a race (demo version released early, full game released at start). There are a few suggestions in the thread already such as Monopoly, VVVVVV, Metroid II (not confirmed if this would work), and possibly a 1-movie, multiple consoles run although it would have to be Mario games and might not fly well. Are there any additional arguments for or against anything that's already been mentioned or anything I accidentally left out? Thoughts? Thanks for the support!
I'm obviously partial to the VVVVVV "No Death Mode 20 Trinkets" run since I suggested it, but I also really like the "Anatomy of an Arbitrary Code Execution exploit" idea.
Sure, not impossible, but still not probable.
If you don't inject the signal so that it starts off in the system at the beginning of each clock period, you're likely going to have timing violations or other weirdness. How can you guarantee that you're balancing the wires from the oscillator such that it arrives at exactly the right time in the system?
I don't know how much leeway you have in terms of timings for such old systems, but TASBot has had syncronization issues in the past already. Adding more things that can go wrong is just asking for more trouble where it's unstable enough already.
Considering that AGDQ lacked an explanation of what a TAS is and how it's made, I suggest picking up a TAS that is impressive to watch, but doesn't have a lot of tricks to explain, so the presenters can focus on explaining the concepts of TASing.