Tool-assisted game movies
When human skills are just not enough

Submission #2868: Ilari's DOS Skyroads in 15:53.26

Console: DOS
Game name: Skyroads
Game version: unknown
ROM filename: 80824CE94622A6C5E19B6E0CB082448F
Emulator: (unknown)
Movie length: 15:53.26
FrameCount: 57196
Re-record count: 2012
Author's real name:
Author's nickname: Ilari
Submitter: Ilari
Submitted at: 2010-10-10 01:11:54
Text last edited at: 2010-10-18 01:37:29
Text last edited by: sgrunt
Download: Download (36222 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)


  • 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.

The game is downloadable from http://www.bluemoon.ee/history/skyroads/skyroads.zip

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


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(10.52) 378(10.49) 1(0.02)
2 739(20.52) 738(20.49) 1(0.02)
3 408(11.33) 408(11.33) 0(0.00)
Into The Sun 1 616(17.10) 616(17.10) 0(0.00)
2 808(22.44) 808(22.44) 0(0.00)
3 338(9.38) 338(9.38) 0(0.00)
Blue Planet 1 402(11.16) 401(11.13) 1(0.02)
2 685(19.02) 684(18.99) 1(0.02)
3 466(12.94) 465(12.91) 1(0.02)
Satellite 1 531(14.74) 531(14.74) 0(0.00)
2 1236(34.32) 1236(34.32) 0(0.00)
3 1034(28.71) 1034(28.71) 0(0.00)
Misty 1 726(20.16) 719(19.96) 7(0.19)
2 1474(40.93) 1473(40.91) 1(0.02)
3 1257(34.91) 1256(34.88) 1(0.02)
Asteroid Belt 1 872(24.21) 869(24.13) 3(0.08)
2 969(26.91) 969(26.91) 0(0.00)
3 1024(28.44) 1023(28.41) 1(0.02)
Crab Nebula 1 933(25.91) 928(25.77) 5(0.13)
2 1222(33.94) 1221(33.91) 1(0.02)
3 832(23.10) 826(22.94) 6(0.16)
Over The Base 1 1009(28.02) 1005(27.91) 4(0.11)
2 1395(38.74) 1394(38.71) 1(0.02)
3 547(15.19) 539(14.97) 8(0.22)
The Earth 1 943(26.19) 943(26.19) 0(0.00)
2 1198(33.27) 1198(33.27) 0(0.00)
3 1049(29.13) 1048(29.10) 1(0.02)
Druidia 1 1472(40.88) 1459(40.52) 13(0.36)
2 883(24.52) 860(23.88) 23(0.63)
3 1248(34.66) 1232(34.21) 16(0.44)
Total 26694(12:21.41) 26598(12:18.74) 96(2.66)

Level comments

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.

Similar submissions (by title and categories where applicable):