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.