(flowplayer module removed)
General
- Emulator used: JPC-RR r10.15 (should sync on r10 - r10.16, r11 - r11.2)
- No special settings
- Complete all 30 levels (no warps, no passwords)
- Abuses programming errors in game
- Takes damage to save time
- Does not use death
- Aims for fastest time
About game:
Skyroads is some kind of platformer/racing game hydrid where one controls racer on tracks containing lots of bottomless pits and obstacles, both are to be avoided (falling into pit kills you, same for ramming into obstacle at high speed).
Why I did this:
This game has published movie and I figured out speed improvements for in many stages, so I decided to do new version.
BIOS/OS/game versions used:
The BIOS/OS versions as well as game version is identical to 2651S.
imageinfo report about game image used:
General data:
Field | Value |
---|
Name | skyroads |
File name | /home/Ilari/repositories/jpcrr/projects/skyroads-tasv3-Ilari/../../disklibrary/skyroads |
Type | HDD |
Tracks | 16 |
Sides | 16 |
Sectors | 63 |
Total sectors | 16128 |
Primary extent size | 2420 |
Storage Method | 3 |
Sectors present | 1388 |
Claimed Disk ID | 80824CE94622A6C5E19B6E0CB082448F |
File table:
Timestamp | MD5 | Size | Name |
---|
N/A | N/A | 29 | / |
19900101000000 | 28664bdffbfae0c7a1ff40570a5327ff | 44808 | /ANIM.LZS |
19900101000000 | 1eaa43e89d11e37c3e800a362635f73c | 8167 | /CARS.LZS |
19900101000000 | c3cc104af58d1b9ad2c6f507fbafa928 | 10860 | /DASHBRD.LZS |
19900101000000 | 86f74c07f370f79ed6ae0efb8ab7bae7 | 6398 | /DEMO.REC |
19900101000000 | 7b43fe96a98481e2d5d694a5d30eb528 | 407 | /FUL_DISP.DAT |
19900101000000 | 9e4455e78e36e9f92bc485d912d5f190 | 26695 | /GOMENU.LZS |
19900101000000 | 4ca283916522bf70e04982614aaa1e86 | 60606 | /HELPMENU.LZS |
19900101000000 | 2a484f6baca7bb20e7f58dffdb4b09b6 | 20874 | /INTRO.LZS |
19900101000000 | b0e0eb6c45c0269dfe05edf5fbf02213 | 32100 | /INTRO.SND |
19900101000000 | 2dc7798dffb2d73cebd7070d4f9d2075 | 1140 | /MAINMENU.LZS |
19900101000000 | 39c82a6594b71507af96fcac83259c57 | 16821 | /MUZAX.LZS |
19900101000000 | 1a4ad8227cbce196bb2f1975d3d45e7b | 395 | /OXY_DISP.DAT |
19900101000000 | 80b0a02ae5a785c869cdd64edf0ae412 | 17102 | /ROADS.LZS |
19900101000000 | 4cc0f839bb497d63de2ca8490d286eed | 24666 | /SETMENU.LZS |
19900101000000 | 22fee57a5aa2bea2fcea6825f7617bf5 | 25807 | /SFX.SND |
19900101000000 | fc59ede3b3015ddabbc5b7be52271df7 | 30472 | /SKYROADS.EXE |
19900101000000 | 591e7a22dc25044b4cf7b170ff160e60 | 3903 | /SPEED.DAT |
19900101000000 | a003196ae39c17dd339f8a5ded2e6be0 | 98148 | /TREKDAT.LZS |
19900101000000 | 12fc0010f32cfb3389bcec6e3a2f289b | 26645 | /WORLD0.LZS |
19900101000000 | 660885a1aae50a01ea36c6f76c64c295 | 15696 | /WORLD1.LZS |
19900101000000 | dac9802774eb98ac7b7ce327b97b4534 | 27755 | /WORLD2.LZS |
19900101000000 | 179a760941741a27dd73b2e7875cb65c | 24082 | /WORLD3.LZS |
19900101000000 | 83d1d3623a40a150d01b7dc7e5021e43 | 31341 | /WORLD4.LZS |
19900101000000 | fe3d2195af01fadd5f4766cb1218bf7a | 20047 | /WORLD5.LZS |
19900101000000 | 6dd96d7c7a99017ffd767bd42c6aa76d | 18642 | /WORLD6.LZS |
19900101000000 | 72a16c456291f8782a60e5c290c47749 | 29960 | /WORLD7.LZS |
19900101000000 | 520076e4a113ffbf3e92848e3ebca73d | 14989 | /WORLD8.LZS |
19900101000000 | 7257c2fb813fba24156d47e13026381e | 21312 | /WORLD9.LZS |
19900101000000 | dc1034d32e560960018bf1104e8be6b8 | 683 | /readme.txt |
Tricks:
Improvements to previous run
The previous run here is 1513M. Times are in game frames, ~36 frames per second:
"World" | Road # | Old | New | Improvement |
---|
Red Heat | 1 | 379(00:06.32) | 378(00:06.30) | 1(00:00.02) |
| 2 | 739(00:12.32) | 738(00:12.30) | 1(00:00.02) |
| 3 | 408(00:06.80) | 408(00:06.80) | 0(00:00.00) |
Into The Sun | 1 | 616(00:10.27) | 616(00:10.27) | 0(00:00.00) |
| 2 | 808(00:13.47) | 808(00:13.47) | 0(00:00.00) |
| 3 | 338(00:05.63) | 338(00:05.63) | 0(00:00.00) |
Blue Planet | 1 | 402(00:06.70) | 401(00:06.68) | 1(00:00.02) |
| 2 | 685(00:11.42) | 684(00:11.40) | 1(00:00.02) |
| 3 | 466(00:07.77) | 465(00:07.75) | 1(00:00.02) |
Satellite | 1 | 531(00:08.85) | 531(00:08.85) | 0(00:00.00) |
| 2 | 1236(00:20.60) | 1236(00:20.60) | 0(00:00.00) |
| 3 | 1034(00:17.23) | 1034(00:17.23) | 0(00:00.00) |
Misty | 1 | 726(00:12.10) | 719(00:11.98) | 7(00:00.12) |
| 2 | 1474(00:24.57) | 1473(00:24.55) | 1(00:00.02) |
| 3 | 1257(00:20.95) | 1256(00:20.93) | 1(00:00.02) |
Asteroid Belt | 1 | 872(00:14.53) | 869(00:14.48) | 3(00:00.05) |
| 2 | 969(00:16.15) | 969(00:16.15) | 0(00:00.00) |
| 3 | 1024(00:17.07) | 1023(00:17.05) | 1(00:00.02) |
Crab Nebula | 1 | 933(00:15.55) | 928(00:15.47) | 5(00:00.08) |
| 2 | 1222(00:20.37) | 1221(00:20.35) | 1(00:00.02) |
| 3 | 832(00:13.87) | 826(00:13.77) | 6(00:00.10) |
Over The Base | 1 | 1009(00:16.82) | 1005(00:16.75) | 4(00:00.07) |
| 2 | 1395(00:23.25) | 1394(00:23.23) | 1(00:00.02) |
| 3 | 547(00:09.12) | 539(00:08.98) | 8(00:00.13) |
The Earth | 1 | 943(00:15.72) | 943(00:15.72) | 0(00:00.00) |
| 2 | 1198(00:19.97) | 1198(00:19.97) | 0(00:00.00) |
| 3 | 1049(00:17.48) | 1048(00:17.47) | 1(00:00.02) |
Druidia | 1 | 1472(00:24.53) | 1459(00:24.32) | 13(00:00.22) |
| 2 | 883(00:14.72) | 860(00:14.33) | 23(00:00.38) |
| 3 | 1248(00:20.80) | 1232(00:20.53) | 16(00:00.27) |
Total | | 26694(07:24.90) | 26598(07:23.30) | 96(00:01.60) |
Red Heat Road 1
Altering the route a bit allowed doing the scond lock earlier and gained 1 frame. Unfortunately, this frame was lost in next level transition.
Red Heat Road 2
Better use of plaform pulls got more distance when accelerating. This improved level by one ingame frame.
Locking might ignore height differences which would mean jumping from bounce for second locked jump would gain even more distance. Unfortunately this does not work since distance between jumps is too small (the bounce doesn't start before ship reaches locking range).
Into the Sun Road 3
There is insufficent space in start to bounce and lockjump from bounce. Well, one can do it but it doesn't gain as much distance as non-bounce lockjump.
Blue Planet Road 1
Better locking sequence (the locks do interact) gained 113 526 distance as opposed to 107 316 last time, resulting gained frame.
Blue Planet Road 2:
It turns out is possible to lock into edges one block further for 35 775 distance as opposed to 27 000 distance gained from first lockable edges. Unfortunately, this is not enough to break a frame.
I got the idea that jumping from post-jump bounce could work as the game seems to ignore jump target height. Unfortunately it didn't because game apparently takes jump source height into account when computing where to lock. And thus all attempts to jump from bounce wound up locking nowhere or to something that does not help.
Fortunately, the beginning of those ledges with tunnels is just barely within acceleration range and thus locking to them does speed ship up. This allows gaining 42 374 distance, which is enough to break a frame.
Blue Planet Road 3
Improving the locking sequence in beginning gets 75 226 distance as opposed to 63 450 last time, which is enough to break a frame.
Satellite Road 1
Starting lockjumps from bounce gets some extra distance (79 358 vs. 75 226), but unfortunately this is not enough to break a frame.
Satellite Road 2
The lockjump interacts with jump to top of pipe. I got better jump than last time, gaining 106 425 distance as opposed to 104 791. Unfortunately, this does not break a frame.
It is possible to confuse locking algorithm and jump on top of two blocks during acceleration. Unfortunately this does not save time due to less distance gained.
Satellite Road 3
For reasons similar to Into the Sun Road 3, lockjumping from bounce will not save time.
Misty Road 1
The side tracks start far enough for locking into them. But not far enough to be able to usefully lock into them from bounce. Where the tracks merge can be used for additional pull. This gives 51 333 distance.
In section with lots of platforms, one can bounce across one gap in order to avoid slowing down lock.
Misty Road 2
This is the longest road in the whole game, both distance- and time-wise. It is possible to lock onto second pair of edges, gaining only about 9504 distance, enough to break a frame. But this frame is lost to lag in next level transition.
Misty Road 3
It is possible to lock on first edges and then still lock to second ones. This gives 18 299 distance, enough to break a frame.
Asteroid Belt Road 1
It turns possible to lock from lower level if one bounces before jump. The margins are incredebly tight. This gains 48 600 distance.
Asteroid Belt Road 2
Using lock from bounce, it is possible to gain 10 921 distance, but unfortunately this does not break a frame.
Asteroid Belt Road 3
Better lock sequence (including lock from bounce) got 87 750 distance, which should be enough for 1 frame improvemnt. Unfortunately, 2 frame improvement was quite close, but I couldn't manage to improve the locks any further.
Also, the section with hole can't seem to avoid banging the ship twice, losing fair amount of distance. Thus although near, I couldn't break second frame.
Crab Nebula Road 1
Route change brought big savings. Turns out it is possible to enter the gap from side, allowing making it without losing speed. Also locking from bounce improves the pull somewhat, but not enough to break a frame (66 120 distance).
It is possible to confuse locking algorithm and lockjump on top of blocks. Unfortunately it does not appear to be possible then to enter the hole from side (if that isn't possible, then speed loss will be excessive).
Crab Nebula Road 2
Doing the section where one has to slow down better loses less distance, allowing breaking one frame.
Crab Nebula Road 3
It turns out to be possible to lock onto second horizontal bar. That lock has to be done from bounce due to slippery floors. The bar is slippery as well, but fortunately ship plows into ground where one can control the ship before falling off track.
Over the Base 1
Better locking sequence gets 72 316 distance, which is enough to break 4 frames.
Over the Base Road 2
Using lock from bounce it is possible to sightly improve the first pull. Also, locking algorithm avoids burning blocks, which makes it possible to lock on section of road after burning floor. This gains total of 24 617 distance, which is enough to break a frame.
Over the Base Road 3
It is possible to improve locks by jumping on the center block using race-against-the-lock. This gets over 121k distance.
In the end, it turns out one doesn't have to slow more than one contact with sticky floor by using bounces in suitable manner.
The Earth Road 3
Nope, I still couldn't figure how to get lock, but by jumping over some sticky floors one can avoid few thoursand distance units worth of slowdown. This comes at cost of banging the ship a lot, but this is still faster than hitting those sticky blocks, so I manage to break a frame.
Druidia Road 1
It truns out to be possible to get some pull in beginning and manage fuel better. This results 13 frame improvement.
The fuel management was solved using integer linear programming, and as apporiate, the level is finished with 1 unit fuel (0.003% of full load)
Druidia Road 2
Improved locking sequence gains 90 898 distance. The "phase" relative to blocks is suitable, one doesn't have to slow down at all if one uses the pipe route (suicide in realtime).
Druidia Road 3
One can take less slowdown in one of the jumps, but it leads to more slowdown later. Also, I managed to lose less time in jumps. Also, racing with locks works here and saves 8 frames.
Going to bounce around the "HI THERE.." text avoids one slowing locked jump, saving about 6 or 7 frames. The remaining frame or two is from wasting less time with jumps.
Screenshot suggestions:
- Transferring from right to left in beginning of Asteroid Belt Road 1
- Entering gap from side in Crab Nebula Road 1
- Entering the pipe in middle of two pipes in Over The Base Road 3
- The block jumpover at end of Over The Base Road 3
- Somewhere from side to side section in The Earth Road 3 (full speed)
- Jumping over the walls in maze section of Druidia Road 1
- Jumping from pipe in Druidia Road 2
- Ship being on 'Hi There..' text on Druidia Road 3
Final stats:
Final input cutoff: 953.263s (old was 955.916s, improved by 2.653s)
Final rerecord count: 1974 (old was 1560)
Final control lost: 953.431s (old was 956.048s, improved by 2.616s)
Making this TAS:
This TAS was slower to make than last time (about 11 days to do the first version, mainly because of doing less work on this run). Later I noticed improvements... Fortunately, experiments with Lua-level recording and playback (even through they proved to be less than sync-stable) saved lots of time.
adelikat: Accepting for publication as an improvement to the published movie.