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

Submission #5340: TaoTao's NES Vice: Project Doom in 12:06.34

Console: Nintendo Entertainment System
Game name: Vice: Project Doom
Game version: USA
ROM filename: Vice - Project Doom (U).nes
Emulator: FCEUX 2.2.3
Movie length: 12:06.34
FrameCount: 43652
Re-record count: 78691
Author's real name: Y. A.
Author's nickname: TaoTao
Submitter: TaoTao
Submitted at: 2016-12-24 22:20:54
Text last edited at: 2016-12-30 23:14:57
Text last edited by: Spikestuff
Download: Download (5667 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:

Temp encode

(Link to video)
Note: I improved the movie once. This encode does not contain the improvement.


  • Emulator used: FCEUX 2.2.3
  • Aims for fastest time
  • Takes damage to save time

Run overview

I improved the previous run by 1436 frames (~24 seconds), due to a wallzipping trick, high jump, and various optimization.

I used a HUD script to optimize. If you want to know about memory addresses, check it.

This run is based on excellent previous runs. I appreciate the authors.



You can zip into some walls, but the wall must be two vertical contiguous blocks, and you can zip only from right side of walls. This trick is posted by Tarbash, thank you!

High jump

You can jump 5 pixels higher when you press A and SELECT simultaneously. It increases initial y-speed.


This game is hard to TAS, due to its strange mechanics and many lags. So I itemize some tips:

  • To reduce lags, minimize the number of objects in screen as possible.
  • Sometimes you had better not kill enemy. When screen is filled with objects, some succeeding enemies may not appear.
  • Subpixels do not consider sign. This is the reason why the game does not calculate position correctly when you move left or up.
  • You can change your weapon with SELECT while screen transition, and it often affects the amount of lags before next screen.
  • If you attack at the moment you touch ladders, your velocity is remained for a while.
  • When an enemy is spawned, its subpixel is not initialized. So, movement of enemies depends upon previously spawned enemies. If you need to manipulate it, try killing some other enemy (which has the same index in object list) at different timings.
  • Driving stages are mysterious. Some obstacles occasionally disappear. And the amount of lags sometimes increase for unknown reason.


  • Maps (thanks to Will Mallia)

Nach: Judging.
Nach: Replacing submission with improvement from author.
Nach: Nice speedy run, improving on the time of the previous. Great audience response. Accepting as improvement to existing run.

Spikestuff: Publishingggggggggggggggggggggggggggggggggggggggggggg.

Similar submissions (by title and categories where applicable):