TASVideos

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

Submission #4589: c-square's DOS CD-Man Version 2.0 in 00:03.71

Console: DOS
Game name: CD-Man Version 2.0
Game version: any
ROM filename: CDMAN2.exe
Branch:
Emulator: JPC-rr 11.2
Movie length: 00:03.71
FrameCount: 223
Re-record count: 2706
Author's real name:
Author's nickname: c-square
Submitter: c-square
Submitted at: 2015-02-15 06:25:14
Text last edited at: 2017-09-23 02:14:37
Text last edited by: c-square
Download: Download (20487 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:
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!

(Link to video)

Did you blink? Here it is at 1/4 speed (15 fps)


(Link to video)

Still too fast? Here it is at 1/10th speed (6 fps)


(Link to video)

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.

Filename Size MD5 Timestamp
CDMAN2.EXE 35337 d0130eccbf574f3b12ffd0b27731a754 19900101000000
CDMAN2.ICO 766 962552a4f3bd73ca5cea109938c6eb8e 19900101000000
CHARTAB.CDM 3556 fea94215cca5e48347e6cd1b70bd36f8 19900101000000
DEMO.CDM 4746 45f9ab60a74ca150ab06e41682750cb4 19900101000000
DPS.NFO 7186 18274aa1d427691f3875916febd18e34 19900101000000
FILE_ID.DIZ 525 bfc71aeda77d7c3649ab52750413e775 19900101000000
GRAFIX1.CDM 14202 773ac57bcbe95ce03e1cc68589414263 19900101000000
GRAFIX2.CDM 10260 3053a9ca6b8813e097f38e52e59f908a 19900101000000
GRAFIX3.CDM 11863 7e8a8847b58d7ff2ee5372fe3fcc74ac 19900101000000
GRAFIX4.CDM 11788 0d204d644f804fe14ceb6fd7e03a4c60 19900101000000
GRAFIX5.CDM 10851 5052a40229ce5e4de71c8b3d4f8750c0 19900101000000
GRAPHIC1.CDM 69756 76d4649d371a3f0c4e49d89f133f6047 19900101000000
GRAPHIC2.CDM 51319 9252a9e1d372663dab15dbc1155c35b9 19900101000000
GRAPHIC3.CDM 60178 44ba97ca0e2dd0c068e4facc45194775 19900101000000
GRAPHIC4.CDM 64206 8e059189ca2933a5c1707cc6979b8b93 19900101000000
GRAPHIC5.CDM 50233 864f6cb1a58d4df053a018be070b9369 19900101000000
HELP.CDM 4394 432a832047d26f24121c67a077ffb5e8 19900101000000
HIGHSC.CDM 2221 a22ef1926944541799714a1ede19db97 19900101000000
SCREEN1.CDM 43268 b8470c931013737c0e83d42f009bc396 19900101000000
SCREEN2.CDM 40308 0aa73ad4e1e2caa082d4b494d18ba8b1 19900101000000
SCREEN3.CDM 32900 d5a7a8757bfd40c1c7612dedfc3e5b7f 19900101000000
SCREEN4.CDM 38201 7a2122dd3c007686b9a31e80a02f3297 19900101000000
SCREEN5.CDM 35892 af0313441c572c811f5dc556b778c868 19900101000000
TITLE.CDM 70790 89e065f111ef192715ef61d86cd60a09 19900101000000
WOSHI.CDM 48041 ee674a77e95ccda72a97349701ff3c88 19900101000000
XMUSE.BIN 204019 9e49ec23496bd585a760004bfb71ce63 19900101000000

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 (USA) 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.

Similar submissions (by title and categories where applicable):