Posts for TiKevin83


1 2
10 11 12 13 14
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I've been able to save 224 frames in the speedcode (2370->2146) and another 71 in the first level from the optimization to the speed of the game loop (2404->2699). I'll make another post when the update is complete through all 10 levels. I'm keeping the pastebin updated with the code optimization. I was able to rearrange the code to draw sprites first, which led to some other optimizations. I also was able to move the code that checks for collisions out of a for loop and turn it into list math. I also discovered a previously unknown behavior with DelVar that it can be used without counting towards the single line for normal If statements. https://pastebin.com/TMu6pyiB
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I agree with your first point. It is not really possible to know if any run could be more optimal but it's very likely something more optimal does exist. To your 2nd and 3rd points, "arbitrary" is a better word than "cheated." But I believe almost any decision made with things like game version/number of levels/code choices could be described as arbitrary, which relates to what I'd say for point 4: The goal is not intended to be "any% speedrun of Daleks on TI-83," which I would agree falls short as my port is highly likely to be less notable than TASing the DOS game. The goal choice is intended to be more in the "esoteric and unorthodox" realm, "speedcode Daleks on TI-83 and then speedrun the coded game," with Daleks 2-10 used as a benchmark so that future TASes could compete against a similar goal. If the entertainment value of the coding and gameplay falls short, by all means I would understand how this TAS could fall short. But to me that piano roll of inputs and the amount of function behind it is one of the more entertaining things I've seen in TASing.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Yep as a general rule X is avoided in graphscreen related programs because a bunch of graph commands reset X and Y. http://tibasicdev.wikidot.com/sk:variable-tips Now that being said it may be possible to use X still somewhere in this TAS, haven't tested that much given the above.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
The movie publication happened with the incorrect time of 1:30:03 and not the correct 1:29:53 somehow... this is very disappointing
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I don't think the existing movie rules are that far off from the type of content being discussed. Looking at the SGDQ TASes, Mario Kart Wii could fit if the course replays are treated as individual levels, Tetris would make sense as a playaround except that the existing movie rules use that word in the context of ACE, and the Celeste TAS fits somewhere between fastest completion and full completion. The movie rules already have to involve notability as a factor for publication, for instance with playarounds, unofficial games, and obsoletions. I would suggest that much of the disparity between the content Dwango and I noted and the existing movie rules could be remedied by adding a third set of allowable content for vault so that it contains fastest completions, full completions, and "notable" completions. Notable could be defined as a goal having a certain number of times listed on an SRC category, perhaps 10 or 20 minimum, would allow for the TAS to follow the human route as a goal (following from it's unique notability), and would open up the notability aspect of GDQ/ESA other event demos. TL;DR there should be ways for these sorts of TASes to still have submission standards if TASVideos wanted them to be publishable here, whether through slightly expanding goals like playarounds or adding notability exceptions to goals with clear standards.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
This should probably be broken off into a different thread but the discussion is here for now. The problem with movie rules excluding relevant content to the TASing scene is not confined to event-driven movies. There are at least two other categories of movies that have come up while I've been here. Human theory TASes where the tools restrict themselves to human viable play/routing, and TASes that follow SRC categories but don't fit movie rules. TheoryTASing has come up with SM64 and SRC category TASes came up when Pokemon Gen 1 No Save Corruption was treated as a single branch. TASing is growing in some really great ways and I'd love to see more of these kinds of movies, but it's hard to spread them without unified curation on all fronts. For the GDQ/ESA/etc movies yes they're being shown to a huge audience at the event, but if they sit in one spot online with the other kinds of TASing then those viewers have an easy trace back to the TASing scene.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
It's interesting to watch the development of the libTAS scene, and this game is certainly prime for TASing. Big yes from me
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
The movie syncs on the final 2.3.2 release. 2:48:36.03 by the new timing method (and syncs on console as MrWint mentioned!!!)
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I will note also, treating R/B and Y as fundamentally different games helps explain the admittedly high branch count. The basic save corruption (SC)/memory corruption (NSC) /branchless (Glitchless) split makes for three logical categories in each game along the recommended count, with Red/Blue additionally having some Catch'em all movies for full completion and skipping SC/NSC due to the much heavier redundancy with Yellow. I would still argue that the memory corruption (NSC) movies should be treated as different branches, but it's much more complicated than the Glitchless situation.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I appreciate your effort to adhere to the movie guidelines. I agree that different sections of the movie guidelines could certainly lead to different interpretations of how to handle Gen 1 Pokemon branches. My reading of the movie rules would lead to interpreting Red/Blue and Yellow as different games: In "Use the correct version" "If there are significant in-game differences between different versions of a game, movies which take advantage of such differences can be published side by side" I would suggest that the differences I list should be considered significant, at the very least because of Instant Text and the nature of Red Bar, if not for the various other visual differences mentioned. Then following general notes in that subsection, each point leads in a different direction. Blue is the earlier release, Yellow Glitchless TAS has 15x as many views on my channel as Blue, and Yellow has graphical improvements like color. So some of the points that would go in favor of Yellow could lead to obsoleting the "faster" movie in Blue Glitchless. Between the varied options there and the differences I was able to list, I think it becomes reasonable to treat R/B and Y as different games as opposed to versions of the same game.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I'll start by addressing your point about more obvious visual differences: The initial rival fight in Yellow - the choice to lose causes Vaporeon in later battles, which should be visually distinctive both compared to winning in Blue and the resulting rival pokes The Pidgeotto and Pikachu battles in the forest. This one is interesting because while they accomplish similar technical goals (experience, red bar, 1% forest encounter) they look completely different to a casual viewer. The Brock fight is completely different. Different Pokemon use different moves against a geodude and onix. Mt Moon - The Jessie and James battle replaces a trainer Cerulean - Instant Text Rock Tunnel - less PP for Bubblebeam leads to the hiker gen 1 miss selfdestruct strat in Blue Lavender Tower - Gastly Thrash for red bar in Blue is a massive visual change from Yellow, which is done in part because of the 3 trainers fought on top of the tower. Koga - first Juggler 2 is completely different because of the different Lavender Tower strategies, then the optimal Koga fights look completely different, with Yellow using the standard Horn Drills and Blue needing to stall somewhere to save a Horn Drill. Blaine, Erika, and Sabrina are all quite different, but Sabrina most visually so because of the Thrash which helps setup an insane red bar play which is not possible in Yellow due to the different gym order. Yellow's Vaporeon play from the initial rival fight sets up the ability to use NineTales for red bar management between Silph and Viridian Rival. I will write separately to address what I think are the critical technical distinctions, but I'd like to also note that I'm working on improvements to Yellow which would cause even more visual distinctions, including the use of animations ON for the first rival fight because Tackle is faster with animations on. What would be the place for those improvements if Blue is deemed to "obsolete" Yellow? Would Yellow Glitchless become Vault status? Or would there be no place for such routing?
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
You could certainly do a TAS that involves cart swapping, but I don't understand why you'd want cart swapping to be part of the closed environment. There's no more value in TASing a cart tilt or cart swap than there would be TASing a PC game and tilting a stick of RAM or disconnecting a hard drive. That's why Rare cancelled their cart swap "feature" for the N64. With respect to ACE, yes you're modifying data and potentially generating similar outcomes to a cart tilt, but you're doing it starting within a closed environment where you have to find the exploit to do so in the game's software. Then people can say "I find this movie entertaining because it shows X bug in X game under typical hardware." Cart tilting cannot have the same entertainment value because it equally applies any possible result to any game within a given system. The DS having error handling for this in software does not imply that every console maker prior to the DS expected game devs to attempt to handle cart read errors in software, the same way that a PC developer would not be expected to handle Hard Drive read errors within his game's software.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
These gamecube games all have total control save data exploits: Animal Crossing BMX XXX F-Zero GX James Bond 007: Agent Under Fire The Legend of Zelda: Twilight Princess The Legend of Zelda: The Wind Waker Pokémon Colosseum Pokémon XD: Gale of Darkness Super Smash Bros. Melee Tom Clancy's Ghost Recon 2 Tom Clancy's Splinter Cell Tom Clancy's Splinter Cell: Pandora Tomorrow Phantasy Star Online Episode I & II is also vulnerable to ACE via PSOLoad (broadband adapter game update exploit)
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I think it helps to notice the need to define what the "closed system" is in which TASing takes place. Left+Right on controllers: It depends if the controller is supposed to be part of a closed environment with the system, but in most cases systems have external ports that are designed to work with third party controllers which may or may not have the same limitations. So I'd say this should generally be allowed. Pressing buttons that don't exist on real controllers yet are still read by the console: See above. Streaming arbitrary data through an external port: this should be allowed depending on entertainment value. A huge number of games are vulnerable to ACE, so if you're going to pick a game to do an ACE movie with it should be for a very good reason. It should be allowed more generally in Vault unless movies are way too similar on the same console even across games. The controller port isn't the issue here. Partially Disconnecting a cartridge: Cartridges are like components in modern computers, they're part of the closed environment in which to start any TAS. I don't see how allowing this would be viable. Swapping discs when not prompted: See above Swapping discs with a different game: See above Witnessing the ending without completing typically required objectives: this sounds like an entertainment value issue. If a run that skips straight to the end movie is uniquely entertaining from one that gets both the victory conditions and the resulting movie, why not allow it? But I suspect this specific scenario causes a lot of entertainment issues. Getting a game beaten state in memory without witnessing the normal ending: This sounds more ripe for uniquely entertaining movies than the above issue. A movie that gets to the ending the normal way would qualify in any event, and then a movie that perhaps skips straight to post-game content could look hilarious in comparison. Resetting during a save operation: The power button is part of the closed system for TASing, it's basically a controller input for most speedrunners. Even being told directly by the game not to turn off the console should not inherently prevent this from being used. This has the potential though to end up like the streaming controller port issue because it very often leads to ACE. So it should be allowed but heavily regulated around entertainment value of the specific outcome compared to other movies that use the same trick. Starting a run with dirty memory: I think the closed system should be seen as a new, previously unplayed one to eliminate several problems about the possibilities of TASing on deteriorated consoles. If a certain console can contain dirty memory from the factory, it seems reasonable to allow it, otherwise no.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
For posterity, a YT backup of the first successful sync stream. https://youtu.be/1FBJHVGfStY I'm waiting to do a quality-driven console encode until MrWint is satisfied with optimizations and streaming those tests. In order to achieve this level of synchronization, MrWint, Gifvex, Extrems, and I had to improve the precision of our transform script to send inputs to GBI and verify that each input was being sent during the correct part of each frame. MrWint's emu updates also allowed us to have RTC accuracy to the degree necessary to emulate real cartridge behaviors, like the RTC running .2 seconds too fast over the 2 hours and 49 minutes in the prototype.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I'm more than happy to do console verification tests (I have a crystal cart too), and I have bizhawk and libgambatte building from source on my machine so I can test experimental changes. I'm more than happy to jump in BizHawk IRC and help with porting the RTC stuff, I did a little bit myself already but not in your fork.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
The rerecord count likely won't ever be a sensible number in any modern Pokemon gen 1-2 TAS again. Yellow NSC and Blue Glitchless both had undocumented rerecords done in other frameworks before the final inputs were pushed into BizHawk. The A* algorithm we use for encounter manip searching churned through at least a few hundred million paths to find Blue's L3 Male Nido, and none of that is documented in rerecord count. And it shouldn't be, because those kinds of iterations aren't even comparable across different path search algorithms. I agree with the idea of having this obsolete Gold for TASVideos. My opinion would likely change if Gold were much more thoroughly optimized.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Wsopboy in the RTA community has forwarded some suggestions: It may be faster to use the PC at 29:00 from the side (4 steps) vs the current egg deposit PC (6 steps and a turn frame) It may be faster to nickname poliwag (20 name appearances/120 frames vs the time to nickname) It may actually be faster period to use the Girl. Exarion and wsop referred to luckytyphlosion's prior comments about Girl sprite lag being a second faster than the boy's. But this has not been confirmed. The RTA community also generally believed that it was faster to be seen by Alfred, but had not ever properly timed this, so if it's been confirmed that it's faster to talk to him that makes sense. edit: another find Instead of teach surf to poli(down 1), teach strength to raikou(up 1), use surf from menu(down 1). what you can do is teach strength to raikou first, then teach surf to poli, saving an input. It may also save an input later on teaching Iron Tail.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Oh trust me I'm aware of the pains of resyncing given your first 2 links about attention to gen 1 glitchless ;)
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
And yes as Alyosha mentioned there's a good chance we could resync this to console verify if we port Gifvex's RTC code to BizHawk's Gambatte.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Holy crap you're killing me Wint, we were just talking in PSR about how Crystal would be a good project for after Blue Glitchless a few weeks ago! The RTA folks expected Toto and Entei to be a better combo, but I could definitely see cry length being a big question. I'll have to give this one a thorough look over asap.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Much appreciated Wint! I'd love to do more with botting for this run if you ever want to look at it together. There are a few insane RNG sequences missing due to hand-TASing the battles (such as 6 gen 1 miss rock tunnel hiker with Leer fails, more gen 1 misses at Misty especially if using IT, etc). Also there's an obvious 3 seconds available with 2 gen 1 misses on Koga's Weezing to avoid 2 turns on the earlier Koffing.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Just a heads up, the Yellow Glitchless TAS that is console verifiable (submission 6023) is 1:36:34.31 by the more accurate timing method.
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
I've got an uncommentated encode of this available now in 4k60! The other console Pokemon TASes are in the works as well. https://youtu.be/xHE41xxppKo
TiKevin83
He/Him
Ambassador, Experienced Forum User, Moderator, Published Author, Site Developer, Player (120)
Joined: 3/17/2018
Posts: 348
Location: Holland, MI
Hi Svimmer, I'm not sure I understand what niche SDA is trying to fill in speedrunning. The post you linked says that there's a gap between SRC's community-driven RTA boards and TASVideos' curated TAS archive. This gap involves curated human and TAS "pure speedruns," just bare audio and video of the record. If this is the standard for SDA, why make it ridiculously difficult compared to other sites to submit and watch your runs? One of my favorite SDA submissions is a Pokemon Ruby segmented run. It's quite difficult to watch because the video is split across the 40 segments. With the right encoding, the video could easily be stitched together and hosted on YT, BitChute, etc. And because the submission process is so complex, the video is now so outdated that it's been surpassed by single segment human runners. Despite this, the segmented 1:54:21 is still claimed on SDA as the "best time." Clearly the community driven boards have a better understanding of which runs are legitimately the fastest in a given category, so "pure speedrunning" under the definition in that post is far too restrictive. Curation from what I've come to enjoy at TASVideos rather helps ensure a standard for game/branch/category quality, so that runners trend towards bigger game communities and gain some focus towards common goals. A site gap that I do think exists is in community-driven TASing. TASVideos isn't an amazing place for human theory TASing (TASes that try to optimize the current human capable RTA route), and sometimes their branches don't line up well with SRC community defined categories.
1 2
10 11 12 13 14