JorWat25
He/Him
Player (18)
Joined: 1/15/2015
Posts: 79
Location: United Kingdom
I've decided to try to make a TAS of the Practice Mode of Hexcite: The Shapes of Victory for GBC. For the most part, it's very simple as most levels have just one solution. However, I've come across some weird stuff. Compare this file to this file. The only difference is that frame 2882 has been deleted in the second file. Both files run fine until frame 7381, when the A press to clear the upcoming "Pass... Player 1" text box ends up being a frame too early for the second file, cancelling out the frame saved earlier. So, can someone who's better at working this sort of this help me answer these questions:
  1. Are there frame rules? If so, how long are they, and when are they checked?
  2. Why does deleting frame 2882 work? Most of the time, holding right for two frames only moves the tile once.
  3. Possibly related: Why can I rotate the piece at frame 6211 immediately after selecting it? Most of the time it takes three frames after pressing A before more input is accepted.
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4038
Though you finished your run already, I thought I would answer your questions anyway as it should help you improve your future TASes: 1. In Super Mario Bros., a frame rule occurs to allow the game to stop and load the next level. In your example, since over a minute has passed since your input change at frame 2882 and you're in the middle of another level at 7381, it's unlikely the game would enforce a frame rule there. You would have noticed if you encountered strange delays elsewhere that erased your progress up to an oddly specific frame. Instead, I think you ran into what's called a lag frame. Lag happens when a game can't keep up with what's happening. They usually show up in BizHawk as a red number in the top-left corner, like at frame 262 when the game is booting up, or they can be totally missed by BizHawk and appear white like normal frames. In either case, no input presses will be read on that frame, as the game is lagging behind and needs a lag frame to catch up. Reducing lag can be as simple as reducing the amount of actions the game needs to "think" about. For example, maybe moving the shape both Down and Right is too much for the game to process right now for whatever reason. You might be able to move Down, then Right on the second frame, and still move the same distance as if you'd pressed Down+Right, then nothing on the second frame. Keep trying ways to change up the input without wasting time. If you just can't get past that lag frame, try the more advanced strategy described in MESHUGGAH's comments here. That's right, you might avoid lag frames by going slower. This is because if you waste 1 regular frame where you could've been moving the Hexcite shape, you might save 2 lag frames later. 1 - 2 = -1, so your turn has finished 1 frame faster. This TASing technique took me a few years to grasp, so I can try to explain it better for you if you need it. 2&3. Sometimes, a game processes fewer actions than it expects to on a frame, leaving it open for more actions on the next frame, so you can input the work of 3 frames in only 2. It's like the reverse of lag, and you should take advantage of it whenever you can. For example, in the N64 game Blues Brothers 2000, I can press A on the first police officer's textbox a couple frames earlier than for all other textboxes, and I have no idea why. But a frame saved is a frame earned, so take advantage of weird things like that to make your run even shorter! I hope this helped. Also, if you're looking for another GB puzzle game to TAS, you could improve this run of Daedalian Opus!