I'm not sure if this is a good idea or not because it's so long but here is the complete script as displayed in TheAxeMan's lua script. I've posted it here because I initially had difficulty getting this to function in Linux (I ended up using Crossover to run the Windows version of FCEUX which works well - just don't Alt-Tab to the window or the Alt key will get stuck). I suspect users of other OS's such as Mac users will have similar problems seeing this content. I hope I'm not stepping on any toes by posting this; feel free to invoke administrative power to delete or reformat this if I'm crossing the line here. Without further ado, here's the text from the script (showing frame number followed by time before each comment from TheAxeMan):
10 (0:00) Welcome to the TheAxeMan's Crystalis run!
240 (0:04) Picking continue skips naming character
300 (0:05) You can move freely before landing but you can only bounce in one direction. Bouncing diagonally saves a few frames on the next screen.
1100 (0:18) Using the shopping glitch I pay $30 for alarm flute (normally $50) and $50 for warp boots (normally $60). I can't get anything for free here because there is no blank in the list.
1960 (0:32) Equip my sword
2300 (0:38) Meandering through the valley like this gets xp faster than grinding
2650 (0:44) There is a blob down there. Underneath the status bar still counts as onscreen, so you can hit enemies there. You can also go there yourself if the screen scrolling is locked.
3000 (0:50) Let me introduce the Global Counter (GC). It's displayed at the top center of the screen. This is at RAM address 0008. It increments every non-lag frame and controls enemy spawning and many other things. Display is in hex because many things happen when lower nibble (or hex digit) is 0.
3300 (0:55) Since it is one byte and increments every frame, that means one cycle takes 256 frames or a little over 4 seconds. So in the worst case that's how long you might have to wait for something to spawn.
4000 (1:06) Some enemies spawn immediately on entering an area. Others spawn at a certain GC value. Most of the enemies here spawn immediately on entering the area.
4200 (1:10) I'll describe the spawning process in more detail when the grinding begins
4850 (1:20) Taking out two blobs at a time is about 5% more efficient. Makes for a grind rate of about 0.6 xp/sec.
5000 (1:23) Equip alarm flute
6000 (1:40) Equip windmill key
6200 (1:43) Somehow starting the windmill causes an explosion...
6600 (1:50) Now let me introduce the seed for the RNG. Look at the upper right corner. This is at RAM address 000E. It increments when a random number is used. Any enemy that has a shot or attack uses this and some enemies use it for movement.
7200 (2:00) Turning and shooting like this can give an enemy time to use another random number. One way to manipulate luck.
7680 (2:08) The blob down there moved right for me
8200 (2:16) Refresh is the basic healing spell. I won't need it for this run.
8700 (2:25) I really wanted to spawn another slug here but couldn't make it on time
8850 (2:27) Need to wait a little for a spawn here
9400 (2:36) Seeing enemy hp onscreen is nice. Zero hp is still alive because the game kills off an enemy when hp-damage underflows. Below the hp is the enemy slot index. More on that later.
9730 (2:42) Slugs and blobs are 2xp each. Dragons are 3xp.
10050 (2:47) This golem is worth 4xp. Seems out of the way, but the timing worked out well.
10300 (2:51) The bats are only worth 1xp each, but they practically fly right into my sword
10500 (2:55) Equip my new ball. Going to the menu advances the global counter so I do it during wait times if I can.
11500 (3:11) I tried a few different ways to handle this wall and this turned out best. Often saves time to lure an enemy near a wall and multitask by killing it while wall explodes
11800 (3:16) Shots do more damage than stabs. Lvl2 shots do more than lvl1 shots. Takes 5 stabs to kill one of these dragons but a shot and 3 stabs will also work. Or a lvl2 shot, a lvl1 shot and a stab.
12400 (3:26) Don't blink
12600 (3:30) Leading off with a lvl2 shot saves a hit. He sends two bats at me but they appear right on top of my sword.
12700 (3:31) Moving during the early part of the explosion causes lag. But once the screen stops shaking it's all right to dance.
12800 (3:33) By the way, that is one of the slower boss fights :)
13350 (3:42) Welcome to Cordel Plains!
13500 (3:45) That shot hits twice. Difficult to do with wind sword lvl2 but possible if the enemy is big enough.
13800 (3:50) Once again, these pigmen take 5 stabs, but 3 stabs and a lvl1 shot also works. Or two hits from a lvl2 shot and one lvl1 shot. 5xp each.
14300 (3:58) In the short term, it's slightly faster to visit Brynmaer first and then warp back after getting the statue. But there's a spot up ahead where we have to wait for a precise spot on the counter and the timing and xp worked better this way.
14750 (4:05) Equip the statue. As long as we're in the menu, equip those rabbit boots too.
15200 (4:13) With the blank in this item shop's list I can fill out my inventory with warp boots. This is also the best time to get a medical herb for later.
15700 (4:21) Now to show off the most important feature: hitboxes
16250 (4:30) Jumping over the swamp doesn't save as much time as you might think. It's usually not worth extra effort to equip the boots, but luckily we have them on now.
16800 (4:40) Equip gas mask and warp boots
17000 (4:43) It is possible to get through here without the gas mask, but it takes too long. Options include pausing a lot, buying and using medical herbs and using all mp on refresh. Not worth it.
17400 (4:50) In order to warp back to Oak, you need to touch the hitbox just below the pond. This is a trigger for the next event.
17600 (4:53) We saved a menu trip by already having warp boots equipped
18000 (5:00) Taking out this enemy with shots like this is very efficient
18650 (5:10) All right Stom, I'm coming for you!
18959 (5:15) You can beat Stom on the first try if you use a little finesse. Your sword is wider than his, so from the right position you can hit him while dodging his attack.
19450 (5:24) Equip warp boots. Note that I never unequipped gas mask.
20350 (5:39) The enemies in the swamp can be hurt by wind sword but not until level 4. It would be nice to get some xp here, but it saves time to wait until later when I can get xp faster.
20750 (5:45) Equip rabbit boots and warp boots. I guess he can wear one boot on top of the other?
21700 (6:01) Equip my new fire sword and another warp boots. Then save the game and reset to execute the charge glitch.
22000 (6:06) Charge glitch: I can use lvl2 fire sword attacks despite not having the ball. This lets me skip the big bug fight in the swamp.
22250 (6:10) lvl2 fire shots may not lag much if well tweaked. Controlling screen scrolling and holding B button help.
22500 (6:15) An ideal spot to grind. Three enemy spawn points are close by and it is possible to kill them all every cycle. Each blob is worth 8xp, so 3*8xp / 256 frames comes out to 5.6 xp/sec. That will do for the next two levels, though it will still take a while.
22800 (6:20) On level 3 I need to use a shot to kill in one hit. On level 4 a stab is enough.
23100 (6:25) As promised, I'll explain how spawning works now
23300 (6:28) All data on enemies and other objects are stored in a table. The index that I show below hp tells me which slot the enemy or object is in.
23700 (6:35) Each area has a set of spawn points defined. Each of those spawn points is linked to an index in the enemy table.
24000 (6:40) Spawning is triggered for a spawn point at a certain point on the global counter. At that time the spawn point needs to be offscreen and its slot needs to be empty. These enemies spawn at A0, 90 and 80.
24300 (6:45) Of course the slot is not empty if the previously spawned enemy is still alive. But the slot can be occupied for other reasons.
24600 (6:50) Enemies spawn in a particular slot, but projectiles and coins can pop into any slot that is available at the time. Spawning will be blocked if they are still in that slot when spawn time hits.
24900 (6:55) That's why picking up coins can be important. Killing an enemy later or otherwise getting a coin to use a different slot can also work.
25100 (6:58) This can also make it important to manipulate enemy projectile attacks.
25300 (7:01) Dying enemies take some time to vacate their slot, so it's necessary to take out the previous enemy about 50 frames before the next one spawns.
25600 (7:06) These tricks can also be used to prevent enemies from spawning when I don't want them. So if I don't need their xp I can avoid some lag.
26000 (7:13) Another big result is that there are breakpoints where I need to reach a certain area by a certain counter value
26200 (7:16) There are also breakpoints where I need to wait for something to spawn. In that case I can use the extra time to reduce lag. That speeds things up overall because the counter does not count on lag.
26700 (7:25) Now it's time to kill a whole bunch of ice zombies. They take 8 stabs or 6 stabs and a shot and give 12xp.
26900 (7:28) Sliding down here makes things work out efficiently.
27409 (7:36) You can only hit one enemy at a time. You only need to wait two frames to hit the other one but this can still be annoying at times. Lower enemy index gets priority.
27740 (7:42) lvl2 fire attack can hit an enemy 4 times for lots of damage. Usually lags at least a little but depends on the situation.
28000 (7:46) The explosion animation can also interfere with spawning. In this case it conveniently removes an enemy that would cause some lag.
28400 (7:53) Those dragons can't be hit with fire sword and I can't switch without cancelling the charging glitch.
28850 (8:00) The lvl2 shot is so convenient on these spiders that it is almost always worth the lag. The lag is sometimes bad but often I can reduce it quite a bit. Turn on the lag counter if you are curious.
29300 (8:08) These ball enemies are also immune to fire sword
30400 (8:26) Delaying the shot like this helps to spawn one of the zombies and also cuts lag
30803 (8:33) Look for the slope counter ($0660 in memory) when I slide down. The higher it is, the more the slope affects you. In this case we want it to be high to slide down faster.
31100 (8:38) Every 16 frames when the lower hex digit of the counter is 0 the game checks to see if you are on a slope. If so, the counter increases.
31400 (8:43) If you are moving down at that point, it jumps to 7. Otherwise it increases by 1.
31700 (8:48) The counter does not go up if you are jumping at the check. But as soon as you land it goes up by one.
32000 (8:53) In each loop I kill 8 zombies for 12 xp each. The overall rate is 7.2 xp/sec. A little better than the 5.6 xp/sec I was getting before but not by much.
33300 (9:15) I'll get the rest of the xp on the way to the next area
33950 (9:25) I could have gotten all three spiders but I only need two of them
34200 (9:30) That chest has a medical herb, but it was still faster to buy it in the shop earlier.
34600 (9:36) Walking under the status bar is perfectly all right.
35700 (9:55) That's the last wall so now I can switch to wind sword and bracelet. Going to the menu during the explosion also helps cut lag.
36000 (10:00) All of the lvl 3 sword attacks are fun. I can spare some mp and it saves a little time.
36350 (10:05) Equip teleport and gas mask
36400 (10:06) Magic ring restores all of your mp. That will be useful later on.
36900 (10:15) Now I can take out these enemies. Fire sword also works but is laggier and switching would be a waste of time.
37650 (10:27) Better to wade through the swamp than spend time equipping rabbit boots.
37850 (10:30) lvl3 tornado attack is less laggy here and also very stylish.
37965 (10:32) Just walk through the middle here to skip Leaf kidnapping event.
38100 (10:35) That is why there was no need to go into Zebu's cave or Leaf again.
38300 (10:38) On the previous screen there is a trigger box that prevents entering the mountain before getting teleport. No way around that one.
38500 (10:41) No need to stop here at Nadare's inn. That will leave a blank in the teleport list.
38750 (10:45) Unequip magic by equipping and unequipping refresh, and also equip rabbit boots.
39000 (10:50) Earlier I mentioned that the slope counter increases every 16 frames. But you can prevent that by pausing at the right time.
39300 (10:55) The result is that you can keep climbing up without the slope pushing you down.
39600 (11:00) The increment that happens when you land after a jump can't be cancelled this way.
39750 (11:02) Later on I discovered that teleport and telepathy can have the same effect. This would be nice because I could use the charge glitch. But I was too far ahead and didn't want to go back to this point.
40100 (11:08) You can jump up this slope without the pause glitch, but you do need good timing with respect to when the counter increments.
40400 (11:13) The guards take 12 stabs or 10 stabs and a shot. Or two hits from a lvl2 shot, 1 lvl1 shot and 6 stabs.
40700 (11:18) Rabbit boots help tighten this grind loop. Neither the guards nor their swords can touch the airborne hero.
41000 (11:23) I need 1200 xp and the guards give 25, so I'll be taking out 48 of them. One of the longest grind sequences in the run. Rate is about 10 xp/sec.
41150 (11:25) The way it works out with their sword attacks is similar to Stom. I can avoid their attacks and fight back from the right position. But it can get tricky when there are many of them stabbing at me.
41500 (11:31) Although it is long, this was one of the more interesting sequences to optimize. There are a lot of factors to consider.
41800 (11:36) Of course the first consideration was making the loop as tight as possible. But the next most important optimization involves the second enemy from the top of the passage.
42100 (11:41) The other three spawn immediately on entering the room. That one is subject to the timer. Since he's so convenient I adjust the timing of things around spawning him. I can use the wait time to cut lag.
42400 (11:46) Another consideration is landing on the right amount of xp in the least time.
42700 (11:51) The number of enemies to kill on this platform is another factor. Both, one or none? They all take different amounts of time, affecting the spawn inside the passage.
43000 (11:56) I wrote a little optimization program to check all the combinations of outside kills and whether or not to wait for the enemy inside to spawn.
43300 (12:01) The script didn't actually play it out. It just analyzed the counter values, experience and overall time.
43600 (12:06) The result is what you see here. I always spawn the enemy in the passage and usually get just one kill outside.
43900 (12:11) Sometimes I need to wait a little for the spawn. That time is used to cut lag.
44200 (12:16) How can extra time cut lag? Basically, lag happens because the processor has more work than it can do in a frame. Sometimes you can avoid that by moving slower.
44500 (12:21) Often, just waiting a frame will prevent it. In other words, don't move for a frame and then the lag frame doesn't happen.
44800 (12:26) In the short term this means the same amount of time passes. But the counter doesn't count on lag. So that motionless frame counts toward the time for the next spawn while the lag does not.
45100 (12:31) In some cases I can use the extra time to switch to a completely different and less laggy method. Or manipulate enemies to behave differently.
45774 (12:42) There is a trick to using the rabbit boots to push enemies around. On hitting the A button you can take two steps before you start jumping and can't change direction. But during those two steps you are considered airborne. Two steps is enough to move left or right into position so that I can push them down.
46273 (12:51) There is another way to walk through an enemy. They can't hit you when they are being pushed back from a hit. This really only comes up when you push them against a wall but it's often useful to abuse.
46571 (12:56) Yay, level 7 at last! Now we can take down the boss.
47000 (13:03) The tornado shot hits three times. Kelbesque's movement is manipulated by the position of the hero. So I set him up to end the fight on top of the chest.
47300 (13:08) I need to go back for the key. There is an ice wall in the way and I couldn't execute the sword charge glitch because I needed to pause for the slope climb glitch. But with the flame bracelet I can now legitimately charge fire sword to lvl2.
47750 (13:15) Equip fire sword and unequip wind bracelet
48000 (13:20) The jail is empty because of the Leaf kidnapping skip.
48700 (13:31) I am now selective about which guards to kill because I can get xp much faster up ahead.
49000 (13:36) Switch to wind sword. This was timed to use the slope glitch for a little boost up the hill.
49350 (13:42) Equip fire sword and the key
49600 (13:46) The Leaf elder is not here because of the Leaf kidnapping skip
50416 (14:00) The voice in the hero's head mentions that paralysis will be useful in the next town. It won't be, but there will be other uses for it.
50700 (14:05) Welcome to Portoa. This visit is to set up warping so we'll be back later.
51000 (14:10) These green masked guys can be hit with wind sword. But they take too many hits and only give 25xp. They aren't worth taking out just yet.
51180 (14:13) On the other hand, the flying tentacle monsters can be taken out easily for 40 xp. I'll be getting more of them later.
51300 (14:15) Switch to wind sword
51600 (14:20) These crawlies go down easy enough for 30 xp, so I switch to wind sword for them.
51920 (14:25) Back to fire sword
52500 (14:35) Walk though persons glitch: By moving diagonal you can get through guard NPCs. This works because they push you back with respect to the direction you are facing. The hero faces south when walking southwest, so it is possible to progress west and be ejected north.
52800 (14:40) This avoids a lengthy sequence in Portoa where you need to talk to the queen and fortuneteller repeatedly to get the flute of lime to unstone them.
53300 (14:48) These medusas are the next enemy I'll be killing a lot of. But not just yet because neither of the swords I have right now can hurt them.
53600 (14:53) I probably put more work into this room than any other spot in the run. The result is well worth it though.
53900 (14:58) Rounding these enemies up for later slaughter
54370 (15:06) One reason this room is difficult is because I needed to manipulate the enemies' random movements. The enemies need to move into a good position for me to kill them.
54500 (15:08) Scrolling the screen to the right before blowing the wall saves time because I don't need to wait for the screen to scroll again before getting the chest.
54750 (15:12) Equip my new water sword and teleport. This means I can't jump. It would be convenient up ahead, but doing it this way saves a menu trip.
54900 (15:15) Now it's time to slaughter the enemies that I so carefully manipulated. Some of them will respawn and be killed again.
55200 (15:20) The other reason this room took so much work was lag. These medusas are very laggy. That's why I manipulate them to spread out and try to keep them from shooting much. I also have some wait time available because of how the spawning works out.
55500 (15:25) There is a grind loop here, but I won't need to spend much time in it. The ranching strategy helps out a lot.
55700 (15:28) Getting this enemy in the right position is a big manipulation issue. It can run away to the south if you aren't careful.
56100 (15:35) My loop takes two counter cycles and takes out six enemies for 50xp each. That works out to 34.6 xp/sec. Nice!
56450 (15:40) This damage boost helped work out the luck a bit.
56650 (15:44) A good place to end the loop because the next enemy is down the corridor a bit. I'll get the rest of the xp in the valley.
57200 (15:53) With water sword I can now take out those green hoods easily.
57800 (16:03) These tentacle fliers are great. They are worth 40xp and they fly right to me. Their movement is based on position relative to the hero. They move offscreen, but faster onscreen.
58600 (16:16) Equip the ball the Rage gave me and unequip teleport so I can jump.
58850 (16:20) We were supposed to meet Mesia, the heroine back there. But it's not necessary to trigger anything. Getting the ball of water is an important trigger. Even if we used the charge glitch, we need the ball to trigger something up ahead.
59400 (16:30) I've manipulated the slugs' random movements to be convenient for me.
59900 (16:38) Spiders are worth 120xp and vulnerable to water and fire. Plants are worth 100xp and vulnerable to fire and wind
60000 (16:40) More herding. In this case it saves a menu trip.
60140 (16:42) Equip wind sword and unequip water ball. For the wall.
60230 (16:43) Now equip fire sword. It's the best for fighting here because it can hurt most enemies and the lvl2 attack is very useful.
60700 (16:51) The dragons are only worth 10xp! They are only vulnerable to water.
60900 (16:55) The goombas are worth 80xp and vulnerable to fire
61200 (17:00) Switched to wind sword for the wall, then back to fire.
61600 (17:06) Throughout this cave I am using some frames for lag reduction. This is coordinated with the counter values I need at certain points to spawn enemies.
61980 (17:13) Wind sword
62490 (17:21) Water sword, ball and teleport
62900 (17:28) One cave down, one to go
63200 (17:33) Lvl2 water shots are very useful. Big hitbox, good damage, easy to land two hits.
63480 (17:38) Equip wind sword, unequip water ball and unequip teleport for jumping.
63850 (17:44) Fire sword
64050 (17:47) A lot of counter management went into spawning this spider. It's easy for the explosion of that wall to block him from spawning.
64400 (17:53) The spiders have a paralysis shot, but I generally manipulate luck to avoid them ever shooting. All the enemies here move based on relative positions and are straightforward to handle.
64850 (18:00) Lvl2 fire shot with no lag. It is possible.
65150 (18:05) Wind sword
65350 (18:09) Killing this goomba would require switching swords two more times. I considered herding him towards the wall but even that was more bother than it was worth. So he got lucky and gets to live.
65600 (18:13) Fire sword. Under the status bar again. Only problem with this trick is that it can be really laggy if you aren't careful.
66180 (18:23) Wind sword
66650 (18:30) Two goombas could spawn here but taking them out would require two more sword switches. Best to keep them from spawning to cut lag.
67000 (18:36) Fire sword. Finally, after three walls in one room!
67500 (18:45) I had to hurry to get all these spiders to spawn
67800 (18:50) Wind sword
67980 (18:53) Water sword and teleport
68200 (18:56) These dragons are only worth 10xp, but now I have the right sword equipped.
68550 (19:02) A little wait here to spawn the last spider
68725 (19:05) Wind sword
68890 (19:08) Water sword and ball
69220 (19:13) We'll finally do a little more in Portoa
70350 (19:32) 'The queen and fortuneteller were really me' says Asina. 'Sorry, I glitched past that part', replies the hero.
70500 (19:35) Recovery is another spell we don't need. But again, getting it is a necessary trigger.
70720 (19:38) Equip flame bracelet, medical herb and fog lamp. Some inventory changes are done in a funny order to save a few frames.
70980 (19:43) That was why we had to carry a medical herb all this way. Warping immediately after giving the herb lets us skip watching the dolphin swim out to sea.
71600 (19:53) Equip fire sword. The only reason for the menu here is because of an inconvenient glitch. Fog lamp is equipped, but not usable because we used the medical herb. Going to the menu fixes this, even if we don't do anything. But it saved a few frames to equip the fire sword on this menu trip, so I do. This glitch happens anytime you equip two consumables.
72350 (20:05) Talking to Kensu here is another necessary trigger
72470 (20:07) Equip refresh and shell flute
72712 (20:11) The dolphin gets an extra speed boost when skirting the shore
73000 (20:16) Getting Joel on the warp list is necessary to enter the Evil Island cave
73360 (20:22) Unequip refresh, unequip shell flute and equip magic ring. Any attacks with the B button lag when shell flute is equipped. The magic ring that we got back on Mt Sabre South will give us enough mp to reach a plot-based healing spot.
73750 (20:29) Lvl3 fire attack is very convenient on these octopus enemies. They take a long time to kill with stabs.
74000 (20:33) Mermen are worth 144 xp, octopus is 176 xp
74400 (20:40) The trick to cutting lag with this attack is to get as much of it as possible offscreen as soon as possible. It's also important to make sure the octopus doesn't shoot.
74580 (20:43) This octopus lives because I don't have time to charge a lvl3 attack (can't afford the mp either) and it takes too long to stab him.
74850 (20:47) These enemies are supposed to be turtles. They are worth 160 xp and there are six of them in this room. They spawn on entering the room, barely move and are easy to kill. Seems like it was designed to be a grinding spot.
75200 (20:53) That's good because I need a lot of xp. We'll be using a glitch to skip a good chunk of the game. To keep up we need to gain two levels. So even at 114 xp/sec this is going to be the longest grind in the run.
75500 (20:58) Clearing out all six enemies is about 5% more efficient than just taking out the first two. Those first two were the leftovers.
75800 (21:03) The turtles do move a little bit randomly within a certain box
76000 (21:06) I am doing some light manipulation to get the last enemy to be in a more favorable position. This saves a few frames each trip.
76300 (21:11) The enemies take four hits on level 9, but only three on level 10
76600 (21:16) That will speed up my rate to 117 xp/sec
76900 (21:21) While this grinding goes on I'll explain how to abuse the movement system
77100 (21:25) The game engine does not track subpixel position. Yet the per-frame movement is not the same each frame. Use frame advance and check the coordinates to see what I mean.
77400 (21:30) The variation is managed by a counter at $0480 that counts up every step you take. The distance you move each frame is determined by the low bits of that counter as well as the direction and terrain.
77800 (21:36) On dry land the hero always moves 2 pixels/frame in manhattan directions (up, down, left or right). But diagonal movement alternates between one and two pixels/frame.
78200 (21:43) The dolphin is faster than the hero on dry land, so it follows different rules. Moving in a manhattan direction alternates between 2 and 3 pixels/frame. The diagonal pattern is 2, 2, 2, 1.
78500 (21:48) There is another pattern when going over rough terrain that slows you down
78800 (21:53) The way to abuse this is to switch between manhattan and diagonal movement. On dry land, only move diagonal on the 'fast diagonal' steps when the hero moves 2 pixels instead of just one.
79100 (21:58) Of course it depends on where you want to go. But this trick is useful just about everywhere. To make it easier I have my script show a really clear indicator.
79400 (22:03) This is one reason why I wade through rough terrain more often than you might think. The slowdown is not as bad with tweaked movement.
79700 (22:08) Those three-pixel frames are why the dolphin moves so fast. Tweaking to get those with two-pixel diagonals lets the dolphin get anywhere really fast.
80100 (22:15) Anyway, those movement optimizations are a big reason why this game is interesting, but difficult to TAS.
80520 (22:22) This shot is to manipulate luck, avoiding shots from the last octopus
80900 (22:28) Ghetto flight: Jumping at the right time while dismounting the dolphin can confuse the game into letting you fly over the ocean. The effect is similar to the flight spell learned later. Note that the dolphin disappears.
81200 (22:33) Dolphin is back! I call this dolphin warp. Getting back on the dolphin will save a few seconds because he moves so much faster.
81400 (22:36) Barrier is one of the more useful spells. You'll be seeing it later.
81765 (22:42) Another shore boost. Also, I reach the next screen before the dolphin can stop me to say goodbye.
81870 (22:44) Equip love pendant and paralysis
82700 (22:58) Change is necessary for a few things. We could do the Amazones trip now, but it saves time to do it later.
82900 (23:01) Equip water sword and ball and our new change spell
83418 (23:10) When walking northwest in changed form you face west. In normal form you face north.
83600 (23:13) Normally you want to spend as little time as possible in changed form because movement is slower. But here there's a short wait for the gate to open so there's no need to change right away.
83970 (23:19) Get Goa on our warp list
84300 (23:25) This gargoyle enemy is worth 288 xp and continually bangs on the RNG when onscreen. I'll use him to make my luck better up ahead.
84600 (23:30) Mt Hydra is another mountain we'll be spending a lot of time on to get a couple of important items
85000 (23:36) The level designer forgot to put enemies in this part of the mountain
85750 (23:49) You can sneak in with the walk-through-NPC glitch. But using change is faster and we still have it equipped from the gate by Swan.
86000 (23:53) Rebel base Shyron. Don't get too attached.
86280 (23:58) Equip teleport
86500 (24:01) Teleporting to the entrance saves a couple seconds even though we had to pause specifically to equip teleport
87000 (24:10) We needed the key to get into the next dungeon. The entrance is up the mountain a bit.
87500 (24:18) Finally, something to kill! This might have been the longest stretch with no enemies in this otherwise violent run.
87800 (24:23) The flail lizard is worth 320 xp and the little crawlie is 30 xp
88030 (24:27) This is what I was setting up the RNG for. These morph blobs are going to be showing up a lot. They are worth 320 xp. They are easy to take out when they take form.
88300 (24:31) The problem is that they take form randomly. Every 32 counts when invulnerable they pick a random number. They take form on 8 RNG seeds: 9, 23, 29, 35, 45, 58, 59, 60. Note that these are not at all evenly distributed through the 0-63 range of the RNG seed.
88600 (24:36) There are limits to how well I can manipulate this. But a lot of them are going to conveniently congeal right in front of me. That is going to cut down on grinding quite a bit.
88970 (24:42) Equip the key and barrier magic
89200 (24:46) Barrier creates a hitbox around the hero. Any projectile gets vaporized on contact with it. Very nice, but there are a few quirks.
89400 (24:50) First, if a projectile contacts the hero's hitbox for even one frame it will still hurt him. Second, the barrier flickers off every eighth frame. Third, you can see that the north side of the barrier is a bit thin. Putting these all together, you need to watch out for fast-moving projectiles coming from the north.
89900 (24:58) Unequip magic so I can jump
90050 (25:00) An unexpected spot to grind! This is much faster than the standard speedrun hunting ground outside of Goa.
90400 (25:06) This might seem slow compared to the crossbow guards outside Goa. But this enemy is worth 672 xp while those guards are only 256 xp. At 154 frames per kill I am getting 262 xp/sec.
90800 (25:13) The next boss only requires level 12. But there's no better grinding spot until the boss after him who requires level 13. So that's what I am aiming to set up here.
91100 (25:18) Let me explain what goes into figuring out how long I need to grind. It involves a spreadsheet and several rough drafts.
91450 (25:24) I play through the area up to the point where I need to reach a certain level. I'll experiment and take notes on how many enemies of what type I can take out.
91700 (25:28) I'll also be trying to figure out which enemies might be difficult to spawn. This is generally because they are near the entrance to a room, so I would either have to enter the room at the right time or wait.
92000 (25:33) The spreadsheet helps me quickly calculate how many grind loops I'll need. I'll also see how close I am to cutting out another loop.
92300 (25:38) This helps me narrow down to a few routes that look good. I'll investigate those further and maybe play them out.
92600 (25:43) That process worked really well, helping me get the xp I need efficiently throughout the run.
92800 (25:46) So that's how I decided to stop grinding at this point and get the rest of the xp on my way.
93220 (25:53) Wind sword
93400 (25:56) This lizard is worth 608 xp. Enough to be worth switching swords just for him.
93520 (25:58) Water sword
94200 (26:10) RNG seed 58 is special. The next three morph blobs will congeal immediately.
94880 (26:21) Fire sword. We need it for the enemies here. This menu trip prevents one of them from spawning to cut lag.
95100 (26:25) These enemies are very similar to the medusas. They move randomly and shoot stone shots. They are also very laggy so I am cashing in some upcoming wait time to manage lag.
95350 (26:29) They are also worth 272 xp each. Well worth killing with good manipulation and lag management.
95500 (26:31) The butterfly is worth 204 xp and is annoyingly laggy. On death he releases a laggy cloud of poison. So this one gets to fly right on by.
96000 (26:40) Equip warp boots and barrier. Then warp out before getting into a long conversation with the wise men.
96100 (26:41) 'Sorry, no time to talk', says the hero. 'I'm in the middle of a TAS!'
96500 (26:48) Using warp boots instead of teleport can sometimes save a menu trip. If I had used teleport I would have needed to switch to barrier here. Each of the boots left over from the initial supply is used this way.
96750 (26:52) Water sword and teleport
97200 (27:00) Time to fight Mado. How will I manage without a level 3 attack?
97480 (27:04) Unfortunately, I can't take care of Mado without clearing that plot hitbox. So we get the wise men's lecture after all.
97900 (27:11) With good luck I was able to beat Mado very quickly without even taking damage. Back in the Styx cave I was grooming the RNG for this in addition to manipulating the eye enemies.
98280 (27:18) Equip thunder sword and unequip teleport
98400 (27:20) The wait time I used on the eyes was done to get the counter on the right spot to spawn these guys. There's more waiting up ahead so I use some extra time to jump around and take them out with no lag.
98900 (27:28) Usually wading through rough terrain is all right, but the desert is big enough to make me want to jump.
99050 (27:30) The zombies are worth 208 xp. I have extra time to go a little out of the way and take this extra one out.
99560 (27:39) Water sword
100000 (27:46) The reason I needed to be at a certain counter value was so that insect would spawn at the right time and fly to me here. Then it will conveniently respawn a few times for more xp.
100300 (27:51) At 592 xp it is well worth a little time to keep respawning it. Like other fliers, its movement is based on relative position. So I use my position to get it to come in faster.
100600 (27:56) They have a poison gas attack which I manipulate away
100800 (28:00) That's the fourth one. This is one reason I was able to stop grinding so soon.
101000 (28:03) It's also convenient that they are vulnerable to water sword which I need for the bridges here
101250 (28:07) Hey, he's getting away!
101520 (28:12) Isn't that nice, he came back to play
101650 (28:14) Thunder sword, ball and teleport
102240 (28:24) Equip my nice new power ring and barrier
102500 (28:28) Power ring is necessary for one of the last bosses. I get it as soon as I have thunder ball to blow the wall because it's always nice to hit twice as hard.
103000 (28:36) Welcome to Goa fortress, the hugest dungeon in the game
103450 (28:44) These guards are worth 560 xp. The fliers are worth 672. Well worth killing, even if I need to use laggy thunder sword shots to do it.
103600 (28:46) The reason for the funny behavior here is to manipulate another flier to follow me
103750 (28:49) You can't see him right now because he's under the status bar
104500 (29:01) Each flier lets me cut a loop from the last round of grinding, so I spawn and draw in as many of them as possible
104600 (29:03) Even this guard won't be spared
105200 (29:13) Landed exactly on 20,000 xp for my levelup
105275 (29:14) Wind sword and bracelet
105700 (29:21) None of the bosses here lasts long when you have power ring equipped
105932 (29:25) The prizes from these bosses are all useless. In a TAS at least.
106080 (29:28) Hp and mp restored. Thank you, Zebu! This is also the only room in the fortress where you can save.
106600 (29:36) I use two menu trips to equip water sword and ball so I can prevent two enemies from spawning
106900 (29:41) Those two enemies wield flails that take up an object slot, even when they are offscreen
107320 (29:48) That would prevent this insect from spawning
107600 (29:53) There's plenty of time for the flail enemies to spawn again and plenty of other slots for their flails. But they want to pick that slot if they can.
108530 (30:08) So I get to take out that insect three times, picking up useful xp
108945 (30:15) Thunder sword and ball
109150 (30:19) Here's one of the flail enemies I was talking about
109235 (30:20) Fire sword
109700 (30:28) The ghetto flight trick skipped the first fight with Sabera
109950 (30:32) I use my barrier to block all her shots, cutting lag
110208 (30:36) Another useless item
110700 (30:45) Another hp/mp restore. It might have been more useful if this area was more difficult.
111000 (30:50) Thunder sword. Ball was still equipped.
111070 (30:51) These medusas are still just worth 50 xp. It just happens to be useful though.
111440 (30:57) You can see another flier going by here. I don't have time for him because I need to make a breakpoint up ahead.
111800 (31:03) I'm right on time to start the grind loop here
112100 (31:08) I can take out both spiders in one cycle. It's well worth taking a little lag from the shots to do it.
112400 (31:13) The lvl2 shot is necessary because it takes three hits from lvl1 shots. That means two shots if I get one to hit twice.
112700 (31:18) Funny thing about the lvl1 thunder shots is that they actually do less damage than a stab. The spiders die to two stabs of the thunder sword.
113000 (31:23) Luckily it was possible to tweak down the lag quite a bit. Two lvl1 shots lag less than one lvl2. But I need a lvl2 on one of them to stabilize the loop.
113420 (31:30) Each spider is worth 1280 xp. Two per cycle with a little lag comes out to 548 xp/sec.
113750 (31:35) Ball of water, rabbit boots and unequip barrier
113860 (31:37) The moonjump glitch: If you time the A button right, you can jump again instead of falling into the pit. Here I use it to take out some more spiders on my way to the next area.
114600 (31:50) Luckily I can still one-shot these fliers without power ring
114804 (31:53) The timing and position also worked out well to let me respawn the flier quickly
115095 (31:58) Walking on the moving platform lets me move a little faster
115400 (32:03) Moonjumping saves a huge amount of time here
115700 (32:08) The many enemies and moving platforms can be laggy. Took some effort to tweak down this far.
115980 (32:13) Damage boosting lets me tweak even more time
116255 (32:17) Water sword, paralysis and power ring
116500 (32:21) Mado again, and I still don't have blizzard attack. How will I manage?
116955 (32:29) Thunder sword and ball
117500 (32:38) Free healing means I can throw in some damage boosts. I would blow off some mp if it helped.
118136 (32:48) Paralysis can be useful in combat. You'll see the real reason I have it equipped in just a bit.
118450 (32:54) These skeletons normally collapse after each hit and would take too long to kill. But when paralyzed they just stand there and die. At 1280 xp each, they will cut out quite a bit of grinding.
118730 (32:58) Paralysis is also useful for luck manipulation. I can paralyze the spider while he is still moving up so the damage boost pushes me that way.
119150 (33:05) More paralysis for luck manipulation. I am grooming the RNG by using the fact that paralyzed enemies don't take actions that use the RNG.
119390 (33:09) Have you ever seen a paralyzed butterfly stuck in midair?
119820 (33:17) This is what I was manipulating. These blobs are worth a juicy 1920 xp.
120100 (33:21) Equip barrier
120700 (33:31) The last of the finest four goes down. Again, vaporizing his shots on my barrier cuts lag.
121000 (33:36) We actually do need the Ivory Statue. The thunder bracelet is not far up that passage, but I won't be needing it.
121720 (33:48) Equip ivory statue and teleport
122000 (33:53) Finally we have flight, the most fun and useful spell
122500 (34:01) We need the Bows of Sun and Moon to enter the final dungeon. Each requires a side trip.
123000 (34:10) Bow of Sun is here on Mt Hydra. We need flight to reach it.
123600 (34:20) Lucky 58 on the RNG again
123900 (34:25) These blobs are still just worth 304 xp. But when they pop up right in front of me like this they're still worth killing.
124800 (34:40) The eyes are 272 xp. It's not much, so they only get killed when convenient.
125090 (34:44) Wind sword. I need it for a wall, but it doesn't hurt any of the enemies here.
125300 (34:48) There is another wall coming up and I can't be bothered to switch my swords back and forth for these small fry
125600 (34:53) There is a big counter breakpoint coming up. I have a small amount of extra time I can use to cut lag until then. That is nice because this room can be really laggy.
125800 (34:56) Thunder sword, water ball, warp boots and flight
125860 (34:57) Normally hitting the B button with warp boots equipped will use them. But the exploding wall blocks them and lets me do a normal attack. I use that fact to take out another enemy here.
126170 (35:02) Damage boosting is difficult to line up here. The push is always in the direction the enemy is facing. These enemies also randomly poison you, bringing up a dialog that would take too long to display. So I need to manipulate no poison in addition to making them face the right way.
126800 (35:13) Now for the Bow of Moon in Amazones. This side trip can be done much earlier, as soon as you get the change spell. There is a reason for putting it off until now.
127150 (35:19) The reason is that I can fly over the river, saving a few seconds over building the bridge with the water sword
127470 (35:24) Equip Kirisa plant and change
127670 (35:27) Those are all trigger boxes for the guard
127800 (35:30) You can sneak past the guard with paralysis or the glitch, but you must be in changed form to make the trade with Aryllis
127905 (35:31) Equip warp boots and flight. This is another case where warp boots saves a menu trip.
128150 (35:35) The blizzard bracelet is in the basement behind the queen's throne. But there's no need for it now. Actually, there was never a need, stabbing Mado is faster and doesn't lag.
128500 (35:41) I can buzz through these enemies without slowing down at all now
129200 (35:53) Here's the counter breakpoint I mentioned earlier. I needed to get here in time to spawn all the enemies in this passage.
129540 (35:59) Perfect timing to respawn this enemy.
129740 (36:02) Flight is very useful in combat. The fake 3D effect can be abused thoroughly.
130400 (36:13) I'm right on time to spawn all the enemies in this room too
130700 (36:18) The scorpions are worth 1440 xp. This room is packed with six of them, a great place to grind.
131000 (36:23) I can set up a loop where I take out 7 every two cycles, a rate of 1160 xp/sec.
131450 (36:30) One loop is enough. Spawning and killing everything in my path almost completely cuts out this session of grinding.
131600 (36:33) Getting this blob to spawn and congeal was very helpful
132100 (36:41) Once again I have some extra time to cut lag and I cash some of it in on this very laggy room. The fake 3D effect of flight means I don't have to scroll the screen so far up.
132325 (36:45) Equip water sword. Ball was already equipped.
132700 (36:51) Need water sword to hurt these mummies
133600 (37:06) Draygon can be taken down with any sword. Thunder sword does more damage, but it's not worth switching swords.
133800 (37:10) Unlike every other enemy, he has no invulnerability time in between hits. So it adds very little time to use a weaker sword.
134000 (37:13) I thought equipping psycho armor would be good for more damage boosts. Extra defense and a healing factor. But the healing factor adds lag, costing time instead.
134470 (37:21) By now you know it's not a coincidence when these morph blobs pop up in front of me
134900 (37:28) The last dungeon. It's almost over.
135780 (37:43) Wind sword and Bow of Moon
135965 (37:46) Bow of Sun
136400 (37:53) These warlocks are worth 1920 xp and can only be hurt by the puny wind sword. They take 10 stabs or 8 stabs and a lvl1 shot.
136600 (37:56) I skip this enemy to avoid lag
136900 (38:01) Cashing in some wait time lets me clear this normally laggy room with no lag at all
137400 (38:10) There's time for one more game mechanics lecture on hit detection
137600 (38:13) Hit detection between your sword and the enemies only happens every other frame, when the global counter is odd. But enemies can hit you every frame.
137900 (38:18) When you hit B, the sword counter starts at 17 if you are standing still, 18 if you are moving. It only hurts enemies from 15 to 3.
138200 (38:23) On the last frame, the sword hitbox extends 3 pixels. It also extends out from the position in the last frame, so you can start moving away a frame early. The extension can also be triggered early by hitting B to interrupt with another stab.
138400 (38:26) An attack can't be interrupted until the counter reaches 11. Doing so often cuts lag. I've been abusing this the whole game to save some frames here and there. That's why I spend a lot of time holding the B button.
138776 (38:32) Finally, no more levels to worry about
139210 (38:40) Thunder sword, Bow of Truth and barrier. This will be the last time in the menu.
139600 (38:46) Taking a hit before using the Bow of Truth is the key to making the big dragon form use its lasers right away. It also requires the global counter to be under 80 (hex). That was why I had some wait time in this dungeon.
139900 (38:51) Blocking the lasers like this requires standing in a very particular spot and timing when barrier is used. Otherwise the beams get through the one-frame opening in the barrier.
140300 (38:58) If there was some way to beat the human form without the Bow of Truth, the first pyramid could be skipped. Draygon's human form takes damage, but his hp gets reset every frame. So it is impossible to kill him in that form without hacking the game.
141000 (39:10) In the tower there are two main considerations. First, I want to get the blue robots to spawn as soon as possible. That means taking out the brown robots quickly.
141200 (39:13) The other consideration is that the tower can be very laggy. There are many sources of lag but the worst is the cannon that slides back and forth above the door.
141500 (39:18) I need to make sure that cannon doesn't shoot while I am fighting the robots. A lot of work went into this.
141800 (39:23) The combination of fighting the robots and that cannon fire lags badly. Once the robots are gone there is no problem.
142600 (39:36) Blue robots spawn one or two at a time every 16 counts. The counter value determines which ones spawn. So just like the rest of the game I am aiming for certain cutoffs on that counter and using extra time to cut lag.
142900 (39:41) The flying robot is another annoyance. It can be prevented from spawning if the robots shoot at the right time. But those shots would cause more lag. So I let it spawn and deal with it.
143600 (39:53) The cannon checks the RNG every 32 counts and may fire. For most enemies the chance is 1 in 8 but for the cannon it is 1 in 2. So manipulating it to not fire can be very difficult.
144050 (40:00) Moving down here manipulates the flier to move diagonally. That lets me outrun him, cutting lag on the last set of robots.
144400 (40:06) So after needing to kill enemies the whole game to levelup I needed to kill a few more to get through the tower. What a violent game!
144700 (40:11) Mesia is the heroine, but this is the first time we see her in this run. She shows up after in the Evil Island dungeon we skipped with ghetto flight. So even if you fully explore the game you won't see much of her.
145000 (40:16) 'Crystalis' was called 'God Slayer' in the Japanese version of this game. This game predates ESRB ratings but localization of the time was very thorough about removing religious references.
145600 (40:26) The last message can be skipped. The hero is tired of people talking in his head.
145900 (40:31) DYNA is pretty easy with Crystalis and barrier. However, a few tricks are used to cut lag. Timing hits properly can avoid a laggy crescent beam counter attack. It is also less laggy to stand in a blind spot and not use barrier.
146500 (40:41) Thank you for watching and I hope you enjoyed my run. Please visit tasvideos.org for more tool-assisted speedrun action.
-_-_-_
That's the complete dump of TheAxeMan's script. Enjoy,
A.C.
******