Submission Text Full Submission Page

Submitting #5880: MrWint's A2600 Barnstorming in 00:53.15 as two separate submissions as suggested by feos. This is a literal copy&paste of the previous inputs. All explanations can be found there.








Copy of the game mechanics section of #5880: MrWint's A2600 Barnstorming in 00:53.15 since the submission form doesn't like short description texts.

Game mechanics

The game as a whole is very simple: fly through the barns in the shortest amount of time.

Game modes

The game features 4 game modes, which differ in the amount of barns you need to fly through and the pattern of buildings and geese on the map. Game mode 4 is supposed to be random, but all it randomizes is the starting position in the pattern, the patterns themselves are still fixed.
This run only considers game mode 1, which requires the least amount of barns and can be completed the fastest.

Movement

The movement looks like a simple auto-scroller, but has quite some oddities to it which make it hard to optimize. The plane moves forward at 1.5 pixels/frame by default, and up to 2.3125 pixels/frame when pressing B. However, when pressing up or down, it only moves at 15/16 its normal speed, so you want to fly straight as much as possible.
Vertically, the plane moves up to 1.4375 pixels/frame up or down. The vertical speed gradually builds up and resets to 0 immediately once you stop the input.
Fractional movement amounts are stored in subpixel variables. However, the fractional amounts don't have any direction, it's easier to think of them as movement potential: potential built up moving upwards can also be used to accelerate moving downwards. One of the quirks is that the speeds are only updated every second frame, but they are applied to your movement every frame. This, in combination with the fractional movement buffers, means that it's not optimal to hold up or down to move vertically. It's better to only press up/down every second frame to keep the speed up, and use the in-between frames only if you have enough fractional potential stored up to move 2 pixels instead of 1. That way, for each frame you press up or down and therefore lose out on horizontal distance, you get more vertical distance on average.

Buildings

Another quirk is that the barns and windmills don't have a fixed distance between them. They're not laid out on a fixed track, instead the next building spawns as soon as the last building left the screen (there are "blank" buildings which sometimes create gaps, but they follow the same rules). The new building always spawns at the same relative position to you at the right edge of the screen, independent of how much you were moving. That means it's possible to overshoot and waste a pixel of distance during this transition, depending on how your position aligns with the one of the current building. To avoid that, you can intentionally slow down, using the extra slack to start moving vertically early for free, or aligning your subpixels better.

Collisions

Collisions in this game are kind of painful to predict, because it is based on the hardware collision detection of the Atari 2600 console, which does pixel-perfect collision detection. That means you collide if and only if your pixels overlap. And this is affected by the animation cycles of the different objects, so you may or may not hit a windmill at a certain height depending on where it is in its animation when you pass over. But it also means you can thread the needle through objects in some instances, and this runs shows some instances of that.

Geese

Whenever you are moving at more than 2 pixels/frame, geese spawn at the top of the screen. Their patterns are based on a fixed cycle, hitting them costs a lot of time, and avoiding them also costs time since you need to move up and down around them, costing you horizontal distance. So the best situation is when they don't get in your way at all. There are two ways to manipulate the geese. The first one is slowing down to avoid spawning them, but this is not practical for obvious reasons. The second, way more effective method shown in this run is using the difficulty switch. The right difficulty switch controls the number of geese that spawn, when switched it doubles the rate at which the game cycles through the geese patterns. So toggling it mid-game can be used to speed up or slow down where you are in the pattern cycle, making the geese spawn earlier or later. By using this strategically, you can avoid the geese ever getting in your way without slowing down.

feos: There's no reason to consider abusing difficulty switches of A2600 illegal. It is input that is just as valid as Reset. And games are supposed to handle it the way they want. It so happens that some games allow switching them during play and process this action like they normally do. It resembles how Reset can be explicitly rejected during saving to SRAM to prevent save corruption: games that allow this action passively let us corrupt our save data. TASing is not expected to avoid this like some sort of a cheat, just like we don't avoid Left+Right.
So while this run is fully legitimate, and it has some awesome research behind it, we're still only talking about a game with 2.4 entertainment rating. No matter how crazily you play it, you only get that. Which means this game can only exist in Vault. Which, in turn, means that there can only be one any% branch of it. We don't accept runs that avoid some technique for entertainment into Vault. And for this game, the fastest any% run is #5929: MrWint's A2600 Barnstorming in 00:14.74, which uses the same shenanigans with difficulty switching.
Rejecting this run for an unvaultable goal.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15580
Location: 127.0.0.1
This topic is for the purpose of discussing #5928: MrWint's A2600 Barnstorming "no collisions" in 00:32.41
Joined: 1/27/2014
Posts: 181
I liked this. Thanks for taking the time to do this game Mr Wint!
Spikestuff
They/Them
Editor, Publisher, Expert player (2642)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
Just like my comment on the cancelled one for separation, I'll keep this in one post for both submissions. I still think the no collisions is eh, even thought it's an amazing submission of improvement, so it'll receive a Meh from me. On the collisions TAS, it's still a shocker on the code, and the entertainment survives on it for me to receive a Yes on that one. Now just for the "no collisions" TAS. I want to claim it for Publications on the chance of acception. The elephant in the room for this TAS is the Difficulty Switching and it must be addressed in the Publication as it does beat the controversial easy difficulty of Todd Rogers' 32.5 (which as we all know he was stripped of).
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Personman
Other
Joined: 4/20/2008
Posts: 465
I don't think this category is interesting. The other run is faster and more entertaining and should be accepted.
A warb degombs the brangy. Your gitch zanks and leils the warb.
TASVideosGrue
They/Them
Joined: 10/1/2008
Posts: 2785
Location: The dark corners of the TASVideos server
om, nom, nom... *burp*!
Former player
Joined: 6/30/2010
Posts: 1107
Location: Zurich, Switzerland
Any chance of this getting added to Gruefood Delight? It's still a historically interesting accomplishment and it would be sad if it just got buried as some obscure rejected run.
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.