Movie Information

Jetpack is freeware and can be downloaded here: http://www.adeptsoftware.com/jetpack/
The game runs at 70 frames per second. Floating point module must NOT be loaded for the game to work properly. The default BIOS and floppy drive images are used. The input ends after a name is entered in the high score table.
  • Emulator: JPC-RR r11.8 rc1 (syncs on r11.7)
  • Aims for fastest time
  • Uses death to save time
  • Heavy luck manipulation
  • Genre: Platform
Image info (some useless files were removed from the freeware installation, it is unknown if this has an effect on the sync):
NOTE: This image uses a volume label. When you import the image, check the "Volume label" box and name it jetpack.
Type: HDD
Tracks: 16
Sides: 16
Sectors: 63
Total Sectors: 16128
MD5: e4287f2e7f9d079de869be13eeb18642

Entry: N/A            N/A                                      20 /)
Vname: 19900101000000 N/A                                       0 jetpack)
Entry: 19900101000000 ec918833fd1032a59cda01d8d5eac55f       2306 /JETDEMO.DAT)
Entry: 19900101000000 2fb5d8421b228975b622162be33a6b4d      50602 /JETLEV.DAT)
Entry: 19900101000000 351d5f7893180e2925901c10b29dc1b6     141152 /JETPACK.EXE)
Entry: 19900101000000 1d1d658ed7e42225be4af6ad69afca7c      43559 /JETPACK0.DAT)
Entry: 19900101000000 a8f4cc17364adf2c51de655508d59eb8      30487 /JETPACK1.DAT)
Entry: 19900101000000 8f0b6d6797346fffd3a3c49782787508      33739 /JETPACK2.DAT)
Entry: 19900101000000 1d9472cea0da9bb049f40a27d71d9c25      38840 /JETPACK3.DAT)
Entry: 19900101000000 5944201eb8e997db20f57d7c3137710b      21048 /JETPACK4.DAT)
Entry: 19900101000000 70d1ab65d2807e59f76ba4cbcedd3447      17686 /JETPACK5.DAT)
Entry: 19900101000000 a958ca5da57a325119d3cbac70b116e5        785 /JETPAL.DAT)
Entry: 19900101000000 8a70bb766a132bed263ebb7df53ccaf0      72273 /JETSOUND.DAT)
Entry: 19900101000000 4b753c31504703a90bf1bfc737f1a4fb      11182 /JSWITCH.EXE)
Entry: 19900101000000 eee0c3907ac09624f7546ddd1464b266      40235 /SCLM.DAT)
Entry: 19900101000000 93b885adfe0da089cdf634904fd59f71          1 /_JETP_.DAT)
Entry: 19900101000000 3effbc43f424e28b2df650830ef05f9a         15 /_JETP_A.DAT)
Entry: 19900101000000 1d1d658ed7e42225be4af6ad69afca7c      43559 /_JETP_A0.DAT)
Entry: 19900101000000 50ae15f8c01a635f9de9e8c2a0a1c8fe         17 /_JETP_B.DAT)
Entry: 19900101000000 2f17ff3db151a0bae81b0902491ca5e7      43704 /_JETP_B0.DAT)
Entry: 19900101000000 0bf84430538b172a7d32530361209e4d         15 /_JETP_C.DAT)
Entry: 19900101000000 4c310670bdab05b99b77de2a9b8331fd      42811 /_JETP_C0.DAT)
After months of intense routing, the Jetpack TAS is finally completed! There are 100 levels in the full version of this game where the objective is to collect all green gems and then reach the exit.

Game Mechanics

The Jetpack

The jetpack can hold 10000 units of fuel, with 10 units being consumed for every frame of flight. Flying is necessary in most levels, as some places are unreachable by jumping, and it is almost always faster because the terminal flying velocity is higher than walking speed. Some levels introduce fuel chargers and drainers. In levels where fuel chargers are the only source of fuel, numerous tests must be done to determine if it is more time-efficient to charge and fly through certain sections or to not charge and walk instead.

Phaser

Phasing is a crucial mechanic for a few reasons. For one, it allows you to burn through certain blocks. The phaseable blocks are light and dark brick, pink blocks, and crates. The blocks return after a certain amount of time, except for crates, which are gone permanently. Phasing may also correct the player's position into the center of the nearest block, which can be used to shift momentum rapidly.

Teleporters

Teleport pads send you to another teleporter of the same color. There is a brief period of near invincibility before and after teleportation. In the delay before teleportation, gems can still be collected.

Barriers

Barriers are turned on and off by switches of the same color. There are two types of switches - buttons and floor switches. Buttons must be activated manually by the player, while floor switches toggle if they are walked over, either by the player or an enemy.

False Walls

Some blocks can be passed through and are indistingushable from regular blocks. Hidden passages are navigated with an extension of Ilari's Lua script which displays the player's position.

Exits

The exit opens up after all green gems in the level are collected. Contact with the bottom of the exit door will finish the level, even if the player is dead on arrival!

Movement

Understanding the physics in Jetpack is important in optimizing each level, and the movement in this game can be broken up into two major components: with and without fuel.

With Fuel

Flying velocity increases at a fixed rate per frame, eventually reaching a terminal velocity. When beginning to fly, velocity is built upon your initial velocity rather than being reset - starting your flying from a dead stop is slow, but getting a running start is much faster. Any mechanic that instantaneously increases velocity and ignores momentum can therefore be used to gain a significant speed boost when flying is initiated. These mechanics include:
  • Walking
  • Climbing ladders
  • Phasing position correction

Without Fuel

Moving around without fuel simply consists of jumping and falling. The jumping height and speed curve are fixed, for all intents and purposes. The speed curve starts off quite high but ends very low, so care must be taken to stop the jump as soon as possible, either by landing or attaching to a ladder. A jumping trick called "wiggling" is important in optimizing jumps, with the main mechanic being that your horizontal velocity can instantly be reversed in midair while jumping. The velocity continues to follow the speed curve but simply changes its sign when the direction is reversed. Hitting a wall resets the horizontal velocity to zero, but careful wiggling through narrow passages can maintain the speed curve and allow for quick entry and exit of narrow corridors. Falling off ledges is also an extremely useful fuelless mechanic because terminal velocity is instantly achieved when doing so. Flying is often stopped when approaching ledges simply to take advantage of this mechanic.

RNG

Randomness takes a large role in Jetpack, but is thankfully straightforward to manipulate. Anything that calls for a random number advances the RNG - the phasing animation is randomly chosen, so phasing is used as a simple RNG advancer than doesn't waste any time to execute. The relevant random mechanics in Jetpack include:
  • Powerups. These are extremely rare occurences that can make a serious impact on the time it takes to complete levels. Random fuel drops can turn levels that are intended to be fuelless into a joke, and stunners and invincibility allow you to bypass any enemy or hazard that is blocking a convenient path. Because of the extreme rarity of these powerups and the inability to advance the RNG quickly and accurately enough to cause them to appear, powerups are not manipulated in this TAS. Powerups may still appear by coincidence, and they are picked up if they save time.
  • Teleporters. If there is more than one possible destination, a random pad is chosen from the remaining teleporters of the same color. The destination can be manipulated not only for the player, but for enemies entering teleporters as well.
  • Trackbots. These are the enemies with treads that can climb ladders. At certain floor/ladder intersections, trackbots make a random decision about which path to take based on the player's position. Their behavior is still not fully understood, but their decisions are manipulated when possible.
  • Flitzers. These enemies are blue with a red dot pointing towards their current direction. Every 8 frames, or any time they hit a wall, one of 8 directions is randomly chosen. Flitzers typically take several manipulations to move out of the way due to their low speed.
  • Spinners. These are the spinning blades that move diagonally. At the beginning of each stage, their direction is randomly chosen out of the 4 diagonals. In order to manipulate them, you have to advance the RNG before exiting the previous level.

Advanced Jetpacking

I've covered all the basic mechanics for the purpose of watching this TAS, but for those who are looking for more in-depth information, we have assembled a comprehensive resources page for Jetpack that includes numerous tricks, enemy behavior, velocity and frame data, complete maps of all 100 levels, plus the programs and scripts used in the making of this project. I think I can say without a doubt it's the most complete technical resource for Jetpack on the web. Go here:

Improvements

  • Powerup manipulation. Full control of powerups would be the largest time saver in the run, on the order of a few minutes. Fuel powerups would trivialize "jumping" levels, and invincibility would remove the danger of enemies and hazards.
  • New tricks. As the TAS continued, more and more tricks were discovered for optimizing movement, so there are some slight further optimizations that can be made in early levels.
  • Routes. All the levels in the TAS have multiple ways of completing them, whether it's major route changes or just minor room optimizations. Every level was thoroughly tested, but there may be even better routes available that were overlooked.

Special Thanks

This project was definitely not a solo effort, and here are the major contributors:
  • Nach. He has been a huge driving force, always interested in the progress and always pushing me to do better when the level WIPs had room for improvement. We've had tons of crazy (and fun) routing sessions together, making inane looking route maps and tweaking each other's routes - and the end result has been quite good! He also got the resources page set up and contributed lots to it, including separating Jetpack's map file into individual levels for easy mapping. How's Popcorn, you ask? It's fast. :)
  • Ilari. Without him this TAS would actually have been impossible, since he created JPC-RR in the first place! He also coded the Lua script for Jetpack, which provides some really useful information and was an invaluable resource. Ilari provided a lot of technical support to get the game and sound working properly - in fact, he's actually responsible for all input up until the beginning of the first level. He's always been interested in the run's progress and even released a new version of JPC-RR to make Lua scripts more stable. Big thanks!
  • Svimmer. A major trick finder and resources page contributor. He's always on my case to add new tricks I find to the page, and sometimes I got lax on it, but the project has been better off for his persistence!
  • creaothceann. Created really nice maps of all 100 levels for the resources page. Also uploaded a couple of the WIPs at half-speed.
  • hegyak. Created the level editor view maps of each level, which show false walls. Some levels would be an immense pain without these - just look at level 72!
  • Anyone who posted in the Jetpack thread, talked to me about the run on IRC, or even just watched some of the level WIPs on Youtube. Knowing that there are people out there that are interested in this definitely kept me going.
That's it! Enjoy the TAS, and perhaps look out for a second version at some point...

Nach: Even though I helped a lot early on in this run, much of it still surprised me, and the solutions and entertainment level of many of the later levels was not anticipated. Time and again, this TAS shows off some of the greatest heights in TASing, what with extreme route planning, having just enough fuel, pixel precision maneuvering, luck manipulation, and more.
Watching the run in slow motion, it's clear the run isn't perfect, there are slight mistakes here and there, and some of the tricks are not applied to the earlier levels. Despite that, the run really appears to be quite solid, and to the average person, this is far far beyond ordinary ability.
The responses to this run have for the most part been very positive, and I find this run to be our best TAS for the combination of action + puzzle platformer. Levels like It's not raining rain demonstrate luck manipulation and precision rarely even seen in a TAS. Many of the enemy packed levels are completed with an I control reality attitude which is only seen in our best TASs. Therefore, I am accepting for stars. Accepting.
Ilari: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15619
Location: 127.0.0.1
This topic is for the purpose of discussing #4095: slamo's DOS Jetpack in 32:22.55
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
slamo: If you still have the dump file, could you extract the audio to .wav or .mp3 and upload it to MediaFire/Mega/etc.? I'll try to dump it myself but it looks very complicated.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
Congratulations on finishing!
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Many of the enemy packed later levels portray a mastery which surpasses even Gradius. On so many levels, this is one of the best TASs ever made.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
I am glad it's ready. I didn't expect to get a special thanks. I want to thank everyone who added all that good stuff to the Wiki. So much information!
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
hegyak wrote:
I didn't expect to get a special thanks.
We also mentioned you a lot on IRC, namely when remarking about all the people who contributed a lot towards the run.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Spikestuff
They/Them
Editor, Publisher, Expert player (2655)
Joined: 10/12/2011
Posts: 6446
Location: The land down under.
no.kappa
I LOVE IT
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Editor, Expert player (2079)
Joined: 6/15/2005
Posts: 3282
Pretty well-done run. I can't believe the rerecord count is only 56762. I expected more like 100K. Though I feel that when watching, the speed is a bit too fast, and the 50% version is too slow. That's just me though.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
What about slowing it down to 60/70 = 85.714% speed?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 9/27/2011
Posts: 207
Location: Finland
Congratulations slamo!
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Patashu wrote:
What about slowing it down to 60/70 = 85.714% speed?
That would likely be too fast. There's no real technical reason 50% would be even easier to do than the rest, so if you think you have better speed, speak up.
Joined: 6/24/2007
Posts: 119
nice run!
Editor, Experienced player (860)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
I REALLY ENJOYED THE MUSIC! Just kidding, awesome TAS; looks well-optimized. Voting YES.
Editor, Skilled player (1537)
Joined: 7/9/2010
Posts: 1319
Nice work. Althought the run is relative long, there was non-stop action. I give it a yes vote.
Favorite animal: STOCK Gt(ROSA)26Sortm1.1(rtTA,EGFP)Nagy Grm7Tg(SMN2)89Ahmb Smn1tm1Msd Tg(SMN2*delta7)4299Ahmb Tg(tetO-SMN2,-luc)#aAhmb/J YouTube Twitch
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I can honestly not see what makes this such an anticipated TAS. Sure this game presents an optimization problem -- how to navigate a maze in the fastest manner... But it gets boring after some manner of time. Undoubtedly the movie presents a style of play that is really difficult for an unassisted speedrunner -- things often go a little too fast in this run to even think --, which may appeal to people who have played this game though.
Active player (328)
Joined: 2/23/2005
Posts: 786
I had to watch it in two parts, but I was entertained the whole way, even though I never played this game. Also, I was able to follow the player just fine. I don't really see how this is considered too fast by some people. It really is representative of the old single-screen platformer puzzles of the 90s, complete with the evil level design, and I really enjoyed watching it get smashed to bits. Also slightly reminded me of Boulder Dash in the way the pathfinding was planned.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
Bisqwit wrote:
Undoubtedly the movie presents a style of play that is really difficult for an unassisted speedrunner
Yes. It pulls all kind of tricks like luck-manipulating random teleporters, staying just one pixel away from enemies, dying just before the exit because this still counts as a win, and exact fuel management.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
There's other features/glitches exploited consistently and constantly as well which an unassisted speederunner wouldn’t. Such as at the right moment using the phaser to force Jetman into the next square in the level grid (faster movement), or exploiting collision detection (going where no man has gone before).
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Skilled player (1114)
Joined: 5/1/2010
Posts: 1217
Radiant wrote:
dying just before the exit because this still counts as a win
I think it isn't just for showing, IIRC doing that saves a few frames.
Editor, Expert player (2079)
Joined: 6/15/2005
Posts: 3282
Ilari wrote:
There's no real technical reason 50% would be even easier to do than the rest, so if you think you have better speed, speak up.
I was referring more to what speed to play back this TAS in an encode, rather than what game speed the TAS should use.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
I think he was speaking about the speed of the encode. And yes, 75% would just as easy to do.
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
Ilari wrote:
I think it isn't just for showing, IIRC doing that saves a few frames.
Yes, it does. The point is that this TAS is not just an exercise in calculating the shortest path through a maze, but much more than that.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Radiant wrote:
The point is that this TAS is not just an exercise in calculating the shortest path through a maze, but much more than that.
Very true. My opinion of the movie: :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.