Zippy the Porcupine is a homebrew Atari 2600 game by Chris Spry and Atari Age that adapts Sonic the Hedgehog to the system. This game started as a physical release but has since been made freely downloadable by the developers here:
https://forums.atariage.com/topic/269247-zippy-the-porcupine-binary-released/
I did a quick and not super optimized test TAS that I uploaded here:
User movie #638114940436284980
I also made a preliminary RAM watch file uploaded here:
User movie #638114942205017629
Some notes I made when making the test TAS:
- Jump height is influenced by Zippy's speed when the button is pressed. This means for certain jumps Zippy needs to be at the right speed to get successful jumps.
- The best way to maintain speed is to be running, so getting out of rolling on the ground is usually the best course of action outside of when it's needed to get through passages or destroying enemies that are unavoidable.
- Spin dashing with down and the button creates a frame of lag. Since speed can be built up at the start of a stage and during vertical area transitions, spin dashing at the start is about a frame slower. However, spin dashing is faster by about a frame if there are places where Zippy needs to stop and start again, such as falling straight down to a lower level and rebuilding speed.
- Vertical screen transitions have a load times and from my observations should only be done if there's no other way around.
- The input polling is normally runs at 30 FPS but there are a lot of effects that can slow this down, such as landing, destroying enemies, ground breaking, etc. This is the worst with the Aqua Zone levels since that naturally has a lot of lag since those levels do input polling at 20 FPS when in the lower level for water physics simulation.
- Boss fights are influenced by player inputs. This is highly important for the final boss since the times between hits can be varied by about 100-200 frames. All bosses take 6 hits and the fights end upon touching the emerald on the right side of the screen when it drops to the ground.
- Boss locations, or at least the first one, is determined by the frame which the button is pressed on the title screen.
- At the minimum, I got a level order that only required 10 out of 16 levels to be played.
I might come back to this but I know there are Sonic loremasters that could improve this a bit. The main thing I want to do is to maybe get a boss order that has as few Aqua Zone levels played as possible but I'm not entirely sure if all boss locations are determined on frame start or when each boss fight ends.