Submission Text Full Submission Page

What game is this?

This is Astro Barrier, a minigame from Club Penguin. The version I prefer is 2006, because it requires less modification to run, it looks nicer, and it actually has an end screen. However this should sync on any version, including Thinicetrobarrier, which requires no modification. To be able to run the 2006 version, use an SWF editor such as FFDEC to remove the checkDomain function from frame 1.

What Ruffle version is this?

This is a fork of Ruffle with a fix to make this game possible to complete. The issue is on level 38, where your bullet will fail to pass the lower target, due to something about object bounds. A pull request to fix this wasn't merged because it may have caused other issues with Ruffle. I don't know if this is classed as an unofficial emulator version.

Why does it start at level 30?

On the intro screen you can press 1, 2 or 3 to go to level 10, 20 or 30 respectively. This is revealed to you after completing the hidden Expert Levels. I don't know whether this counts as a password or a warp or what. In future I would like to TAS levels 1-40, which would contain all the content in this TAS and more.

The TAS itself

I first made an Astro Barrier TAS in 2017, with a time of 30.21 (when adjusted for 24 FPS). I used a macro, which was quite tedious and inaccurate. About a year later I tried again. This time I modified the SWF to show the position of the player and current frame so I didn't have to rely on external timings to sync. It still wasn't great however. Using a proper rerecording emulator made it significantly easier to create and optimise the TAS. I saved 8 frames over my previous attempt, partly due to rerouting the last level, but mainly from having much better precision in the timing of shots.

Transition shots

This is a mechanic that mainly comes into play in the later levels once blasters (the stationary objects which shoot at the same time as you) are introduced. When you complete a level, the unused bullet remains through the level transition and can hit targets in the next level. This was the main timesaver between the first and second versions of the TAS.

Conclusion

I have no idea whether this TAS is or could be acceptable. In the end I decided to submit it to see what happens. Special thanks to PASRC for making the encode.

Info Teddy: This is going to be an interesting one to judge...
Info Teddy: Replaced file with a 5 frame improvement, 3 of them from TheAmazingAladdin (who is also now a co-author).
Info Teddy: Replaced file with the Platform: Flash annotation so the site parser will recognize it as Flash.
Info Teddy: So the way I see it, there are three issues with this submission. In order of least to most problematic:
  1. The SWF file needs to be modified to remove the DRM check.
  2. The run starts at level 30 by using an officially-revealed hotkey, which is basically a level skip password.
  3. Ruffle needs to be patched for the run to sync, and the patch was not accepted by Ruffle maintainers.
Issue 1 is fine, it just hasn't been updated in the rules yet, but nobody has a problem with allowing modifications to games to remove DRM checks.
Issue 2 is hard to justify allowing even after the recent changes to the rules to allow more cheats/passwords in runs. My proposed solution here would be to accept as-is, but in the future allow full runs of this game to obsolete this submission. It'd be a special case, though, and not something that should be seen as universally acceptable. But there's disagreement among the judges about accepting even this since it's basically starting a run from a pre-existing save file for this game.
Issue 3 is a pretty big problem. Ruffle is already a special case because it has no stable release yet, making it akin to Dolphin (which has not had a stable release for over 6 years). So here, Ruffle nightly builds are considered to be official releases of Ruffle. We try pretty hard to do everything possible to get things to sync on official builds, such as with #7334: HarshESC's GC Scooby-Doo! Night of 100 Frights "100%" in 1:42:11.05. There's also a submission that we've accepted that requires unofficial modifications to the emulator (well, TAS tool): #7242: duuuuude5's Windows Undertale "Genocide ending, minimum confirms" in 1:22:29.95, but even that is a special case, because the patch needed is an official commit of libTAS - it's just that there's no official stable release of libTAS that has that patch without also having an issue that desyncs the run.
Here though, the patch is both unofficial and not accepted by upstream. Specifically, a pull request of the patch was opened, and then a Ruffle maintainer explained why they were hesitant to merge it. Then the author later closed it themselves due to being outdated (Ruffle is a fast-moving project) and needing reconsideration. This is very much not ideal, and after talking with judges, we agree that this can't really be accepted as-is.
Fortunately, Playground is suitable for this run. Playground allows game and emulator modifications, no questions asked, and it also allows using level skip passwords. Plus, this run looks fairly decently optimized, and it does in fact sync on the patched Ruffle build. Therefore, I'm moving this to Playground. The build of Ruffle needed to sync this run is hosted here.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
Location: 127.0.0.1
This topic is for the purpose of discussing #7570: Randomno & TheAmazingYucemu's Flash Astro Barrier in 00:21.21
p0008874
He/Him
Player (71)
Joined: 3/2/2022
Posts: 35
Location: Taiwan
That will be delay if ruffle TASed is not on official nightly version.
Banned User
Joined: 4/1/2022
Posts: 122
What's hash for AstroBarrier2006.swf? The only AstroBarrier.swf i could find gave me green screen of death.
WIP
Editor, Active player (458)
Joined: 2/11/2018
Posts: 240
TheAmazingAladdin wrote:
What's hash for AstroBarrier2006.swf? The only AstroBarrier.swf i could find gave me green screen of death.
Unmodified: 8aee05393b84fe6bf317542179de30fa Modified (deleting all of frame 1 script): 3aaf5908619acebee62389e3cff88abf The green screen suggests you didn't remove the domain check. If you don't want to do that I suggest using thinicetrobarrier.swf, md5 is 7a6248dc6f6e8124b9112a02e4c56310. Edit: So, AstroBarrier2006 is very hard to find. If you're using the modern version that is most easily found, you should:
  • In DefineSprite 39, frame 1, change the variable on line 22 to be true. This removes the membership check to allow you to proceed past level 5.
  • In frame 1 (of the whole SWF), remove the security check on line 14.
This will give you a functioning version for playing back the TAS, but none of the text will be loaded. To do that you would either need to further edit the SWF, or download all the files used for Astro Barrier, run bootstrap.swf on libTAS instead of AstroBarrier.swf, and modify the TAS slightly because the game will now load at a later frame. There do exist standalone versions of (modern) Astro Barrier but I'm not sure how much modification is required. Given all this, I would definitely recommend using Thinicetrobarrier if you can't find the 2006 version.
Banned User
Joined: 4/1/2022
Posts: 122
Confirmed Sync with another md5 hash for modified AstroBarrier2006.swf named "AstroBarrier2006 1.swf" which removes Frame 1 in scripts folder: 6dfd94cedeaf17713c27dc0ae6d52426
WIP
Banned User
Joined: 4/1/2022
Posts: 122
https://tasvideos.org/UserFiles/Info/637925771447673508 Also, i saved 3 frames on it. meaning that's a little bit unoptimal, let me know if you can sync it.
WIP
Editor, Active player (458)
Joined: 2/11/2018
Posts: 240
TheAmazingAladdin wrote:
https://tasvideos.org/UserFiles/Info/637925771447673508 Also, i saved 3 frames on it. meaning that's a little bit unoptimal, let me know if you can sync it.
Nice improvement. Not sure why I overlooked it as I used the left-to-right route in my original TAS. I probably discarded it because of the bad positioning in level 31. I improved 2 more frames, one in 31 tutorial screen, and one at the end of 34, the latter already present in the first iteration. https://tasvideos.org/UserFiles/Info/637925854264873202