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

Submission #3317: c-square's DOS Space Quest IV: Roger Wilco and the Time Rippers in 07:36.51

Console: DOS
Game name: Space Quest IV: Roger Wilco and the Time Rippers
Game version: USA
ROM filename: sq4.img
Emulator: (unknown)
Movie length: 07:36.51
FrameCount: 27391
Re-record count: 3395
Author's real name:
Author's nickname: c-square
Submitter: c-square
Submitted at: 2011-10-06 20:42:24
Text last edited at: 2011-12-05 20:59:34
Text last edited by: Ilari
Download: Download (37103 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:
Ever since I stumbled upon TASVideos, I've wanted to make my own TAS. I tried to find a game that I knew very well, that wouldn't be a long TAS, and that hadn't been done yet that people wanted to see. I finally settled on Space Quest IV. Turns out, this may be the first mouse-based dos game to be TASed.

(Three chickens were harmed in the making of this film)

Game Objectives

  • Emulator used: JPC-rr 11.2
  • Aims for fastest time
  • Manipulates luck (slightly)
  • Uses death to save time??

(Link to video)


Route Selection

This run turned out to be a lot longer than I had originally anticipated. I figured that if I jumped straight from SQ XII to SQ I and back, the guard in the right hangar would be gone and I could enter Vohaul's complex from there. I TASsed that, just to discover that the guard was still there, and I was shot. So, I then tried jumping straight to the mall and back. Zap! Guard still guarding. Turns out, to get the guard to leave you have to summon the time machine and guards in the mall. To do that, you have to clean out Zondra's bank account. And to do that, you have to save the ladies from the sea slug. So, a trip to SQ X is unavoidable. Still, since the jar of slime is the only real inventory item you need to get to Vohaul, I was able to skip past SQ I, the software store, Radio Shock, as well as bypass catching the bunny.

Emulator Limitations (and Solutions!!)

JPC-rr is a very functional emulator in all aspects except one: mouse support. Unfortunately, in almost all cases, mouse input is faster than keyboard input for this game. As built, JPC-rr comes with a side menu with mouse movement options of Up 10, Up 20, Up 30, Up 40, Up 50, and corresponding options for down, left and right. The problem is, those increments are too broad for any accurate mouse movement. My initial solution was to alter the extramenu file to add Up 1, Up 2 and Up 5 options (as well as the same for down, left and right). This provided me with a more exacting way of specifying mouse movements. Still, mouse movement was always trial and error and it made TASsing painfully slow. "Up 20? Nope, not enough. Up 20, Up 5? Still not enough. Up 30? Too much. Up 20, Up 5, Up 2? Not enough..." Halfway through TASsing the game this way, I decided I couldn't keep going like this. I needed to find a better way.

Luckily, Ilari included the source code with the emulator. With some poking around, I was able to implement the ability to drag the game's mouse cursor around with my mouse. Click on the the mouse cursor, drag it to your desired location and release. The cursor will move to wherever you want, no menus or guesswork involved. I have no idea if it'll work for other games, but it made TASsing much, much easier for this one. I also added the ability to type in the x and y movement values so you can simply specify 'Move X 17, Y -11'. Finally, I added buttons to move the mouse cursor to the bottom left and right-hand corners. With this new functionality, not only was I able to TAS this game in a quarter of the time it took me before, but I was also to play around with the mouse cursor and do some fun things during player idle times.

I'm sending my changes to Ilari for consideration. If anyone is interested in using my hacked version, let me know and I can send it over to you.

Mouse Cursor Play

To add a little bit of entertainment, I incorporated some mouse cursor play into the run. After reading some of the comments on this submission, I realized that those who had never played the game before might think these movements were originally part of the game! XD There are in fact five different times I added mouse cursor movements to the run for entertainment. For a fun Easter egg hunt, try to find them all. (FYI, The bouncing nose and monorail mouth together only count as one). Some of them are really quick, so blink and you'll miss them!

Area-Specific Comments

Xenon Streets

Although it's possible to move diagonally between some screens here, I haven't found a way to move diagonally between the starting screen and the screen with the sewer grate. There's definitely some savings available if someone can figure out a way to do it.


Once you approach the slime, it's kind enough to stay still for a few seconds to let you take a sample of it. The unfortunate downside of this is that if you leave the screen before it starts moving again, the game refuses to change screens and just stays stuck on that one screen. I try to get as close as possible to the screen boundary before the slime begins its movement again.

Flight Up to Hangar

This is one of several cut scenes where, no matter how fast you have the speed, you have to wait for the music to finish to continue. In some future scenes, I try to do some inventive things during this idle time. For this one, I decided to just let it play out.

Time Buster 2000 SUX (The time machine)

Welcome to the customizable part of the TAS! Roger enters two codes into the Time Buster (your first code always fails). You can put your own message into this TAS by altering the following lines:

First Time Code

Lines: 1056-7, 1061-2, 1066-7, 1071-2, 1076-7, 1081-2

Second Time Code

Lines: 1104-5, 1109-10, 1114-5, 1119-20, 1124-5, 1129-30

You'll notice for each time code there are six pairs of lines. Each corresponds to an X and Y mouse movement. To customize the time codes, replace each XMOUSEMOTION and YMOUSEMOTION pair with one of the following number pairs:

Letter (X, Y)

  • A (-15,10)
  • C ( 15,15)
  • E (-15,15)
  • G (-10,10)
  • H ( 10,17)
  • I ( 10,10)
  • S (-15,17)
  • T (-10,15)
  • U (-10,17)
  • ! ( 15,17)
  • ? ( 15,10)

So, for example if you wanted to spell 'ACCESS', you could use:

+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION -15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 10


+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION 15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 15


+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION 15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 15


+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION -15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 15


+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION -15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 17


+# org.jpc.emulator.peripheral.Keyboard XMOUSEMOTION -15

+# org.jpc.emulator.peripheral.Keyboard YMOUSEMOTION 17

(Just be sure not to change the numbers represented by #)

Latex Babes of Estros

Simple speed run through this section. Nothing interesting to see here.

Galaxy Galleria

I hate moving sidewalks. Imprecise mouse movements and moving sidewalks make for very tedious TASsing. I optimized Roger's movement as much as I could around here, but I'm sure there are some frames to be saved if someone wants to try their hand at it.

Big and Tall

This store can actually be skipped completely. If you come to the mall first and work at Monolith Burger before you go to the rocky ledge in SQ X, you'll have enough money to buy the women's clothes in Sacks. The robot there doesn't care if you are missing your pant legs, though for some strange reason your pants are fixed when you change out of drag. Unfortunately, the extra hop in the Time Buster takes more time than it saves, so it's not really worth doing.

Monolith Burger

If the Snake Eater TAS can skip the battle with The End by moving the clock forward, I certainly can skip the burger making mini-game. Besides, it'd be really boring to watch. Trust me.

Arcade & Ms. Astro Chicken

This shortcut only works in the disk version of the game. In the CD version, the time police are waiting for you once you finish your game. There are four ways to die in Ms. Astro Chicken, and they each take different amounts of time to process your death:

  • Shot by Farmer: Instantaneous
  • Caught by Dog: Fast
  • Hit by Squirrel: Very Slow
  • Hit by Windmill: Very Slow

This is why, on the second life, I avoid the flying squirrel. It's faster to go by a hill with absolutely nothing interesting on it and be shot by a farmer than it is to be hit by the squirrel. Oh, and I egg the dog, not just for fun (though it is fun), but also to make another dog appear right at the start of the third life.

Time Buster 2000 SUX (again...)

Since the time travel sequence only ends after the time travel music is finished playing, I decided to use that time to show something else...

Vohaul's Maze

There are robot drones patrolling the maze, and initially there is one that approaches from the left. Normally, you need to run and hide from this drone. But, if you time it just right, you can safely pass the drone during the screen change. This is one of the few parts of this speed run that I think could only really be done in a TAS.

After going to the mega-computer and flushing the brain (This is your brain on toilets..), I have to dodge another drone. If I could save two more frames between dodging the first drone and the second, I'd be able to use the safely-pass-drone-during-screen-change trick. Unfortunately, no matter how hard I've tried, I've not been able to find those frame savings. If someone is able to find them, they could shave a couple seconds off the run. Even with having to wait for the drone to pass (which takes < 2s), it's still faster than flushing the drone program on the mega-computer (which takes > 3s).

Fight with Vohaul

Regardless of who wins each battle, you have to battle Vohaul five times before he gets pushed into the force field. The final input is closing Roger's son's second gray speech box.

Other Comments

Perhaps a future run of this game might include a TAS of Ms. Astro Chicken. It wouldn't be the most entertaining TAS out there, but it would be interesting to have a TAS nested within a TAS.

Screenshot Suggestions

Here are a few possibilities:


HDD, 16 tracks, 63 sectors, 16 sides.

Filename Size MD5 Timestamp
adl.drv 8040 d1ea243124c1a982d68373bb8cada130 19900101000000
cms.drv 3734 83d623646c2c4b46c612e7c4348d8fcc 19900101000000
ibmkbd.drv 537 ce095142a4b231a0e5d2e4662b6ea829 19900101000000
ibmps1.drv 4364 d0ed61a57384da298b3996363c1b0fe1 19900101000000
install.bat 96 f8e3f6b5c8210ecfa62de5f530727689 19900101000000
install.exe 21239 aa910d272f361036d6bf0831147af8ca 19900101000000
install.hlp 7950 b94b822fe006705bc99cb086d54fd476 19900101000000
install.scr 3462 ef4fdee846ccd9be38419a6e77d87e05 19900101000000
joystick.drv 607 c75b73974160ff652a909a0d01f97214 19900101000000
mt32.drv 1989 1d7fc0680b9539e93a47221dee01c9f6 19900101000000
mtblast.drv 3685 f57f0c81cdfa68f286191ca6961b1fbb 19900101000000
readme 196 f33c7738c90ab5134894e568c28721ad 19900101000000
resource.000 173330 b0fd6032e789321f5c3a60d8bf3d9431 19900101000000
resource.001 1247215 3739053944c2b9f921a86c22275ea3d7 19900101000000
resource.002 1218373 23d4c18f693823f821fadb02e10ce061 19900101000000
resource.003 1240130 4841fcc5643305b25da109bac17a5946 19900101000000
resource.004 1200631 7ca0a3722b2a51686fbfe576a3415349 19900101000000
resource.005 1053294 2bb5e789e9d18b5171c4acab6d9d2f49 19900101000000
resource.cfg 128 3d60f01d4adefa13c7693624c01bfaf1 19900101000000
resource.map 5928 6ea4f337d8d9a5c306f343e86861e9d8 19900101000000
scidhuv.exe 104937 87e84df2af6cc8650a4f2f9636b12063 19900101000000
script.000 13702 8ae526b127371cd7fcd60c1711d2b31f 19900101000000
script.119 762 b101aef83fa0deaec997e9b47413c7a1 19900101000000
script.120 410 3a2f3311b5ac633e1769f28448c9d176 19900101000000
script.405 10450 26b95a02d4db47e227096284ff8aeed5 19900101000000
script.410 10334 fab1c7f2ad1537619759e7049ff11b34 19900101000000
sierra.bat 25 6fa14b7343605530869c747caaec43aa 19900101000000
sierrah.bat 22 cb7d55af740b783ef63545a7fc462d0e 19900101000000
sndblast.drv 9738 1a4b2c2e76e1d91d7b037fa2f1db7d2d 19900101000000
sq4.bat 32 207d3bd3a6ae8026d2da84dce6adbf1b 19900101000000
sq4.uhs 9290 592361bf99f09101f07ef8ddd71159e4 19900101000000
sq4h.bat 29 36d0f1e5ec6b11629c432983c628e809 19900101000000
sq4rs.bat 31 b3f20a957896de527b2132099e573cef 19900101000000
std.drv 1468 1d1626f37396996c94ac51e198b7e2ee 19900101000000
text.000 1668 ed1b5b427985d1e3b8c26d76fd14be3f 19900101000000
text.405 53 a6a2456ab79492026755e9529860aba0 19900101000000
text.410 53 9d4805b0941eb48d7317ca15bc8927b9 19900101000000
version 7 7233646488ab8085557a4b56de9b1bd9 19900101000000
vga320.drv 4426 cc8e04ded65a8f5d58a2dde1bb4e674f 19900101000000
view.992 5613 de92a199b251f9b9cd261cebbf1e1458 19900101000000
view.993 5482 2f704aaff9a616347fd4f03befd1ad49 19900101000000
view.994 2245 0fefac7c1cf28c33b112522c982e5047 19900101000000

DarkKobold: Judging.
DarkKobold: Great user feedback on an underrepresented genre! Accepting.
Velitha: Processing... first JPC run I've worked on, so may take a bit.

Similar submissions (by title and categories where applicable):