I did believe I wouldn't make a significant improvement. Alas, my belief failed me.
Let's see... What tricks have I learned...
- Applying input just before the lag transition lets that input work a frame earlier than doing it after the lag transition.
- Try to avoid "pushing" solid walls. Even walking along it with angled input. Lots of lag will result.
- Realize the game uses an odd debouncing mechanism that refuses change in input until it gets two duplicate input polls in a row.
As for each level:
r01 - (-002) I saved two lag frames. I did also save a not-lag frame, but lost it somehow...
r05 - (-031) I go to the right after breakable wall. Also lets me line up a stylish shot.
r09 - (-003) Lag. Everywhere. Yah. Honestly, I was lazy here, but I'm still faster.
r10 - (-013) Shot the secret wall from a better angle. Also phased through Death.
r11 - (-117) Skipped the key. This will cost me, however.
t13 - (-006) According to my notes, FODA lagged the treasure room. How?
r14 - (+028) I pick up the earlier key. Faster than r11 key by less than 5 frames, apparently. Other key skipped.
r17 - (-043) The upper panel is skipped. I get the key blocked off by a secret wall, faster than r14 corner key.
r18 - (-006) Not sure what I did different.
t19 - (-002) These two frames were due to the pre-transition input.
r20 - (-017) I thought for a moment. Each dragon head has 100 HP. Elf arrow does 1 damage, 2 with Extra Shot. It costs about 300 frames to get Extra Shot. I doubt I can shoot a head with less than 2 frames per arrow.
188 frames for the first world, plus another 17 frames for the first level in the second. Measurements are done by finding the first non-lag frame after the room fade-in transition.
As far as scripting goes, I actually have very little need of an active script. The only numbers I'm using are the ones shown in this script
and my X,Y coordinate. I don't see what other information would help. Well, other than a suite of complete mapping functions
... I am not fixing the filename typo.