CD-MAN is a DOS game created by Creative Dimensions in 1989 and updated in 1992. It would have been just your basic run-of-the-mill Pac Man clone, except for one aspect: you could choose your game speed. The options ranged from the mind-numbingly slow "Zzzzz..." to the literally impossible "Warp". In fact, they made "Warp" so fast, that it is safe to argue that no one in history has ever beaten even the first level at that speed. This TAS makes history by finally beating not just the first level, but all five levels, twice each. And all in less than 2.5 seconds of actual gameplay.

Game objectives

  • Emulator used: JPC-rr 11.2
  • Uses hardest difficulty (LudicrousWarp Speed)
  • 2 players simultaneous
  • Completes all levels twice
  • Uses JPC-rr's default CPU speed (CPUDIVIDER 50)

Quick Encode

Note: This video is at game speed!
Did you blink? Here it is at 1/4 speed (15 fps)
Still too fast? Here it is at 1/10th speed (6 fps)

Game Version Choice

Probably more people recognize CD-Man Version 1.0 than do 2.0. Version 1.0 was released in 1989 and featured a very familiar-looking hero. It was also unfinished, with the third level explicitly saying so.
Version 2.0 was released in 1992 with some significant changes:
  • Had five complete levels
  • Only had to complete each level twice (instead of three times)
  • Changed the hero from a Pac Man copy to "The Snoofer" (probably to avoid a lawsuit)
  • Introduced two-player simultaneous play
Although both versions had the widely varying speed choices mentioned in the TAS description above, I chose to take on Version 2.0 because of the extra levels and the two-player simultaneous play.

Warp Speed

During the judging of the game, turska discovered that Warp speed is unbounded and is only limited by the clock speed of the CPU. Much thanks, turska!
At JPC-rr's default CPU speed during each frame of the game both the heroes and the villains both move up to twelve moves each. That's twelve moves in 14 milliseconds or 0.014 seconds!
JPC-rr's default clock speed of 20 MHz is appropriate for this TAS, as it matches the speed of 386 and 486 CPU clocks at the time of the game's release (1992) (see http://www.islandnet.com/~kpolsson/micropro/proc1990.htm). Any future TASes should use the default clock speed.
This insanely fast speed offered some unique challenges to making this TAS:

Impossible Turns

Due to the speed, there are some tight turns in the game that are simply impossible to make. Even if you input commands to move and turn immediately one after the other, by the time it processes the command to turn, the hero has already moved past the turn. This aspect made route planning a little trickier.
Example of an impossible turn

Trial and Error

The only way to TAS this game was frame-by-frame trial and error. Each frame took many rerecords, as I had to slowly build up and buffer moves for each frame. The cycle of input > save > frame-advance > restore > input > save > frame-advance > restore, is pretty tedious, so I had to do this TAS in bits and pieces, and have been working on this off-and-on since 2013.
Here's an example of what doing one frame would entail:
The board at the start of the frame. I've drawn in the routes I want the heroes to take:
NOTE: P1 is on the left (blue path), P2 is on the right (red path)
1. Save Slot 10 (In case we need to trapped several frames from now and need to get back here)
2. Save Slot 1
3. P2 Left
4. P1 Left 
5. P2 Down
6. P1 Up
7. Save Slot 2
8. Frame Advance (checking to make sure inputs did what I expected)
So far, so good.
9. Restore Slot 2
10. P2 Right
11. P1 Left
12. Save Slot 3
13. Frame Advance 
Looks good. Next to turn them.
14. Restore Slot 3
15. P1 Up
16. P2 Up
17. Save Slot 4
18. Frame Advance 
Nope. P2 made its turn, but P1 didn't make the turn up I wanted. At least we know P2's corner isn't an impossible one
19. Restore Slot 3
20. P2 Up
21. P1 Up
22. Save Slot 4
23. Frame Advance 
Ugh. Still no. P1 Now made its turn, but P2 went past. We'll have to do these one at a time
24. Restore Slot 2
25. P2 Right
26. P2 Up
27. Save Slot 3
28. Frame Advance 
P2 looks good. Next for P1
29. Restore Slot 3
30. P2 Down (Don't go any further out of your way than you need to.  Also, don't get too close to those spiders)
31. P1 Left
32. P1 Up
33. Save Slot 4
34. Frame Advance 
WHAT THE HELL, P2! I thought you had eaten that dot! Grumble, grumble...
35. Restore Slot 3
36. P1 Left
37. P1 Up
38. P2 Down
39. Save Slot 4
40. Frame Advance 
Hmm... hard to tell. Let's advance another frame to see what happens
41. Frame Advance 
Yeah, that's what I wanted! P2 lost a life. Let's see if I can avoid that by turning
42. Restore Slot 4
43. P2 Right
44. Save Slot 5
45. Frame Advance 
Same as before. Let's go one more
46. Frame Advance
There we go! I'll have P1 turn left at the start of the next frame to avoid those spiders
47. Restore Slot 5
48. Frame Advance 
1. Save Slot 11 (Store the latest good frame in case we need to get back here)
2. Save Slot 1 (Start of a new frame)
3. P1 Left
... Trial and Error the next frame ...

Stage by stage comments

Level 1

Because you need to eat a key to open the gate to the upper-half of the level, a little bit of luck manipulation was required to get the key to show up in a convenient location.

Level 2

This level was the most annoying to do, as it has the most dots to eat, and lots of open areas.

Level 3

I had to redo this level several times (on both passes) as I got trapped a couple times by one of the rocket ships. There were a number of impossible turns in this level which also spiced things up.

Level 4

Arguably this the hardest level when playing the game normally, due to its long narrow paths that are easy to get trapped in. Fortunately, since it has so few dots, it was easy to TAS the entire level with the enemies being edible practically the entire time.
Here's an image of the route map I created for this level:

Level 5

Again, a pretty easy level to do. On the second run through it, I end input one frame early, and let the heroes walk the long corridors at the top to end the TAS.
Once you beat Level 5 twice in the single player game, you get the following screen:
(Looks like they left Pac Man in there!)
Unfortunately for the two player simultaneous game, it just takes you back the first level again. I consider the TAS complete once Level 5 has been beaten twice.

Other comments

My goal in route planning was to have as little overlap and retracing in the heroes paths as possible, and for each hero to end the level at approximately the same time. I'm sure a couple frames could be saved on better route planning, especially on the first couple levels where I was still getting the hang of things. I do think I did a pretty decent job overall, and I'm satisfied with the result. If anyone wants to start a frame war over this, they're welcome to it. I won't be responding, as the amount of manual work to TAS this game isn't worth the few frames of savings for me.
I think a one player TAS would be worthwhile. If anyone wants to pick it up, feel free to get in touch with me for tips and pointers.
It would also be interesting as a playaround to see if the game is even TASable at JPC-rr's fastest speed (CPUDIVIDER 1), and what that would even look like.
Suggested Screenshot: 2369

Files:
HDD, 64 tracks, 63 sectors, 16 sides.
FilenameSizeMD5Timestamp
CDMAN2.EXE35337d0130eccbf574f3b12ffd0b27731a75419900101000000
CDMAN2.ICO766962552a4f3bd73ca5cea109938c6eb8e19900101000000
CHARTAB.CDM3556fea94215cca5e48347e6cd1b70bd36f819900101000000
DEMO.CDM474645f9ab60a74ca150ab06e41682750cb419900101000000
DPS.NFO718618274aa1d427691f3875916febd18e3419900101000000
FILE_ID.DIZ525bfc71aeda77d7c3649ab52750413e77519900101000000
GRAFIX1.CDM14202773ac57bcbe95ce03e1cc6858941426319900101000000
GRAFIX2.CDM102603053a9ca6b8813e097f38e52e59f908a19900101000000
GRAFIX3.CDM118637e8a8847b58d7ff2ee5372fe3fcc74ac19900101000000
GRAFIX4.CDM117880d204d644f804fe14ceb6fd7e03a4c6019900101000000
GRAFIX5.CDM108515052a40229ce5e4de71c8b3d4f8750c019900101000000
GRAPHIC1.CDM6975676d4649d371a3f0c4e49d89f133f604719900101000000
GRAPHIC2.CDM513199252a9e1d372663dab15dbc1155c35b919900101000000
GRAPHIC3.CDM6017844ba97ca0e2dd0c068e4facc4519477519900101000000
GRAPHIC4.CDM642068e059189ca2933a5c1707cc6979b8b9319900101000000
GRAPHIC5.CDM50233864f6cb1a58d4df053a018be070b936919900101000000
HELP.CDM4394432a832047d26f24121c67a077ffb5e819900101000000
HIGHSC.CDM2221a22ef1926944541799714a1ede19db9719900101000000
SCREEN1.CDM43268b8470c931013737c0e83d42f009bc39619900101000000
SCREEN2.CDM403080aa73ad4e1e2caa082d4b494d18ba8b119900101000000
SCREEN3.CDM32900d5a7a8757bfd40c1c7612dedfc3e5b7f19900101000000
SCREEN4.CDM382017a2122dd3c007686b9a31e80a02f329719900101000000
SCREEN5.CDM35892af0313441c572c811f5dc556b778c86819900101000000
TITLE.CDM7079089e065f111ef192715ef61d86cd60a0919900101000000
WOSHI.CDM48041ee674a77e95ccda72a97349701ff3c8819900101000000
XMUSE.BIN2040199e49ec23496bd585a760004bfb71ce6319900101000000

Nach: Replacing submission with better file from author.

turska: Judging.

turska: This game's speed is poorly controlled and depends on system performance. This is not limited to the absurdly quick Warp speed setting used in this TAS; lower speed settings are also affected.
The Warp speed setting used in this TAS is absurdly fast at JPC-RR's default settings; in games like [2247] DOS Mega Man by DarkKobold in 02:23.55, even a high speed remains watchable and does not alter gameplay under TAS conditions. The speed is so fast that movement is significantly restricted and affects strategy in the TAS; TASing it on a slower emulated system would have more freedom of movement, while a faster system would limit movement even more. This makes TASes done on slower/faster emulated systems and different speed not directly comparable.
To avoid these issues for future movies of this game, TASes of CD-Man should use a system speed setting that is equal or slower than JPC-RR's defaults; the default setting is CPU Frequency Divider = 50.


The copy of the game used in this submission is not "clean" - DPS.NFO is a warez release notice that is not found in official releases, such as those found on The Internet Archive. This makes the movie desync on copies that lack this file. Aside from unused files and the resulting sync difference, the copy used is identical to the "official" Archive.org release.


Whether this run should be published in Moons or Vault is not straightforward. There are several factors favoring Moons:
  • Good audience response.
  • Has a high chance of being nominated for awards, mainly Speedy TAS. Vault runs are ineligible for awards, so Vaulting this run would effectively disqualify it from being nominated.
  • One of the fastest TASes ever submitted.
  • Less than two seconds of gameplay. At such a speed, even Pac-Man makes for an entertaining TAS.
There are also problems, howewer:
  • Pac-Man clones generally don't make for an entertaining game choice - if this game, or any of the countless similar games was TASed at a normal speed, they would most likely fail Moons entertainment requirements.
  • The run's speed is more a result of poor programming and choosing a high speed setting than the game's suitability for TASing.
  • The speed is so overboard that the gameplay is impossible to follow even with massive slowdown with up to twelve moves happening on a single frame.
While the issues are considerable, I think the run's uniqueness and favorable audience response outweigh them. Accepting for publication into Moons.
Since this is the only published run for this game, it doesn't need a "2-player" branch.

fsvgm777: Processing.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
This topic is for the purpose of discussing #4589: c-square's DOS CD-Man Version 2.0 in 00:03.72
Active player (372)
Joined: 9/25/2011
Posts: 652
I think I made a mistake submitting a save state jrsr instead of the movie file. How do I update the movie file submitted? Or should I just cancel this and resubmit?
Patashu
He/Him
Joined: 10/2/2005
Posts: 3999
Wow, I think this must be the fastest TAS in all of tasvideos history. I feel like the only way I could keep up with it is if I downloaded an encode and frame advanced it (which I might have to do, hah)
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
Editor, Skilled player (1402)
Joined: 3/31/2010
Posts: 2081
Suck it, Sonic
Samsara
She/They
Expert player, Senior Judge, Site Admin (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Joined: 12/10/2006
Posts: 118
Nice run. Had to view several times in slow-mo, how how beat level 5 twice. Was expecting 1-5,1-5 and not 1,1,..,5,5.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
c-square wrote:
I think I made a mistake submitting a save state jrsr instead of the movie file. How do I update the movie file submitted? Or should I just cancel this and resubmit?
Upload your real movie to http://tasvideos.org/userfiles/my#uploadfile and post a link here.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1998)
Joined: 8/25/2013
Posts: 1198
Uh, wow o_o. Fastest TAS ever confirmed. ...Yes vote.
effort on the first draft means less effort on any draft thereafter - some loser
MESHUGGAH
Other
Skilled player (1884)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
The only way to TAS this game was frame-by-frame trial and error
Well first of all, congratulations on proving sonic is slow as phuck, but I don't understand the quoted sentence (you already know the distance you can travel each frame) nor the problem behind the "impossible turns" (example is an L turn at a corner?). So what did you do when you can't turn "instantly"?
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
canavar147
He/Him
Joined: 12/8/2014
Posts: 21
Location: Switzerland
You don't even need to encode. Just make a GIF and you're good to go :D btw this run made me laugh. Yes vote :D
lol ok yes
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
There are two shorter submissions than this, I think: * Alden submitted a Minesweeper run in 28 frames. * Sticky's "9-game run" of Barney only had a handful of frames as input. However, this is arguably the fastest complete game run. It's ridiculous how quick it goes. I'm not sure if that really makes it entertaining though... I'm voting Meh. I have no objection to it being in Moons for sheer novelty value.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Editor, Skilled player (1502)
Joined: 7/9/2010
Posts: 1317
That was a long movie, I fell asleep, now I have to rewatch it.
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
Post subject: Re: #4589: c-square's DOS CD-MAN Version 2.0 "2 player simultaneous" in 00:03.71
Player (26)
Joined: 8/29/2011
Posts: 1206
Location: Amsterdam
This wins the prize for being the most utterly ridiculous run since the impossible mode of Hyper Princess Pitch. So of course, YES vote!
Active player (432)
Joined: 4/21/2004
Posts: 3516
Location: Stockholm, Sweden
Dear lord..... This was one of the funniest tases I have ever seen! Hahah wow just wow man.. I am sure this run will be remembered for a very long time and rightfully so! Easy yes vote and I am personally already claiming this will be a contender for a few categories for this year's TAS awards :)
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Joined: 7/2/2007
Posts: 3960
MESHUGGAH wrote:
The only way to TAS this game was frame-by-frame trial and error
Well first of all, congratulations on proving sonic is slow as phuck, but I don't understand the quoted sentence (you already know the distance you can travel each frame) nor the problem behind the "impossible turns" (example is an L turn at a corner?). So what did you do when you can't turn "instantly"?
The turn is impossible because you input "L" to head left, the character travels 12 spaces, and you overshoot your turn opportunity before you get the next chance to provide input. I don't know what specifically makes the game trial-and-error, though.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Patashu
He/Him
Joined: 10/2/2005
Posts: 3999
But can't you provide sub-frame input in DOS games? I've seen another TAS on this site that does it.
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
Techokami
He/Him
Joined: 6/23/2008
Posts: 160
Patashu wrote:
But can't you provide sub-frame input in DOS games? I've seen another TAS on this site that does it.
I don't think JPC-RR supports sub-frames. If it did, then that could be one way to get around the limitations. I'm impressed at how mind-numbingly fast this is. You blink and you miss it.
Active player (372)
Joined: 9/25/2011
Posts: 652
feos wrote:
c-square wrote:
I think I made a mistake submitting a save state jrsr instead of the movie file. How do I update the movie file submitted? Or should I just cancel this and resubmit?
Upload your real movie to http://tasvideos.org/userfiles/my#uploadfile and post a link here.
Done! http://tasvideos.org/userfiles/info/20830882759795573
Active player (372)
Joined: 9/25/2011
Posts: 652
MESHUGGAH wrote:
The only way to TAS this game was frame-by-frame trial and error
Well first of all, congratulations on proving sonic is slow as phuck, but I don't understand the quoted sentence (you already know the distance you can travel each frame) nor the problem behind the "impossible turns" (example is an L turn at a corner?). So what did you do when you can't turn "instantly"?
Thanks! In regards to the impossible turns, Derakon described the situation perfectly:
Derakon wrote:
The turn is impossible because you input "L" to head left, the character travels 12 spaces, and you overshoot your turn opportunity before you get the next chance to provide input. I don't know what specifically makes the game trial-and-error, though.
Kudos, Derakon! Whenever I ran into an impossible corner, I had to replan my route to go around it from a different direction. As for the trial-and-error, I've added an example of what it takes to TAS one frame in the submission description. Not all frames were that complex. A fair number of frames were more complex. Unfortunately, it's not as straight-forward as each hero having a predefined speed, as turns and stopping while the other player's input gets buffered, affects the speed dramatically. I do my best to avoid the latter situation, but you can only do so much at this speed.
Active player (372)
Joined: 9/25/2011
Posts: 652
Samsara wrote:
That's awesome!! Thanks for giffing this up, Samsara. :)
Active player (372)
Joined: 9/25/2011
Posts: 652
Techokami wrote:
Patashu wrote:
But can't you provide sub-frame input in DOS games? I've seen another TAS on this site that does it.
I don't think JPC-RR supports sub-frames. If it did, then that could be one way to get around the limitations. I'm impressed at how mind-numbingly fast this is. You blink and you miss it.
Thanks! I'm not sure what you both mean by sub-frame input. Each frame is about 14 milliseconds long. Each input takes between 2 and 3 milliseconds to enter. So, I can cram between five and seven inputs into each frame. Any more simply spill over into the next frame. Depending on when I enter an action, the game will process it at different times in the frame, resulting in different timings for the action. There were several times where I simply hit space bar to delay entering an action, because entering it immediately was too soon. I've added an example of what it's like to TAS one frame in the Trial and Error section of the submission description. Is that what you mean by sub-frame input?
Active player (372)
Joined: 9/25/2011
Posts: 652
AngerFist wrote:
Dear lord..... This was one of the funniest tases I have ever seen! Hahah wow just wow man.. I am sure this run will be remembered for a very long time and rightfully so! Easy yes vote and I am personally already claiming this will be a contender for a few categories for this year's TAS awards :)
Thanks! I just saw the awards for the first time in January, and had a hope this one might contend for the Speedy TAS award in 2015. :)
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Please edit your submission to include details on the disk image used for this run as other DOS runs do. Thank you.
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.
Active player (372)
Joined: 9/25/2011
Posts: 652
Nach wrote:
Please edit your submission to include details on the disk image used for this run as other DOS runs do. Thank you.
Hi Nach, I'm not sure how to do that. Last time I think it did it automatically for me. This time I submitted the wrong file (a save.jrsr) so I'm wondering if that's the reason why it wasn't added. I've since uploaded what I think is the right thing (the movie file I saved to use for the dump that created my quick encode). I was told just to link to it in the comments, which I did. Is there something else I need to do? If so, would you point me to where I can find instructions to do it?
Joined: 2/27/2011
Posts: 69
Location: Calgary, Alberta
Yeah, this is a no vote from me. But probably vault material. Disclaimer: I was and am a Mac/console gamer so PC or DOS games were generally unknown to me. I think the game choice is lousy. It's unremarkable how games back then were coded: the fastest speed setting seemed unbounded and was limited back then due to hardware. I recently booted Sim Tower for Mac System 7 running on a PB G4 1.67 GHz in Classic on OS X 10.4 and in the fastest mode, it's ridiculous. I am not able to confirm in this game whether or not the max speed shown in the video (or gif) can be duplicated on hardware from the same era. I prefer King's Bounty styled quick completion because at least you get an ending. Here, not only do you not get a sense of the game, but with two player, you're robbed of a congratulations type screen. Despite the no vote, I do appreciate the submission length and detail and that makes it worthy for the vault by giving some context that is impossible to glean from watching the TAS.