Kung-Fu Master is an arcade game produced and released by Irem in 1984. It is perhaps more widely known by its NES title, Kung Fu. Kung-Fu Master is the seminal game of the "beat 'em up" genre, and it would influence the arcade game industry for years to come. It was a great success for Irem, not just for the arcade market, but also later for the home video game market, as it (as well as Irem's 10-Yard Fight) was chosen as one of the launch titles for the NES. Kung-Fu Master is based on Bruce Lee's final film, Game of Death, wherein the hero must ascend a pagoda at his increasing peril, with each floor guarded by a master of a different martial art. The game even features digitized audio of Bruce Lee ("woo-DAH!"). However, before the game was released, it was roughly retooled to be used as a promotional tie-in for the Jackie Chan film, Spartan X, and the game was released in Japan under the same title as the film. It is from Spartan X that the character names Thomas and Silvia are derived. The gameplay is fast-paced, and the stage music is simple elegance with an Eastern flavor. The game is a thing of Golden Age beauty: simple, easy to learn, fun, and hard.

Game Objectives

  • Emulator used: MAME-RR v0.139 v0.1-beta
  • Aims for fastest game completion
  • Aims for maximum score without sacrificing Frames
  • Abuses programming errors
  • Entertains without sacrificing Frames
  • Takes damage to save time
  • Manipulates luck
  • They Fought With Expert Timing

DIP Switch Settings

  • Difficulty set to Hard
  • Decrease of Energy set to Fast
  • Number of Fighters set to 2

Tricks and Glitches

Animation Cancellation:
A standing attack can be cancelled by Jumping or Crouching. A Crouching attack can be cancelled by Jumping. A Jump can be cancelled by Crouching. Cancelling input (e.g. Jump) can begin after just 1 Frame of attack input has been entered, there is no need to hold the attack input for 2 Frames before entering cancelling input. However, a Kick requires 1 more Frame than a Punch, so the attack input must be held for 2 Frames before entering cancelling input. A Forward Jump delays Thomas for 5 Frames after he lands. By holding Down on the joystick for 2 Frames starting 1 Frame before Thomas reaches his final X location (1 Frame before he can begin an attack), this delay can be reduced to only 2 Frames. Cancelling an attack by Crouching saves as many as 19 Frames compared to allowing the attack to complete normally.
Hit Cancel:
When Thomas is hit while he is standing, he is delayed for 9 Frames. Using this technique, this delay can be reduced to as few as 2 Frames. If Thomas is hit during Forward Jump, his horizontal movement is stopped until he lands. However, if Thomas is hit during Forward Jump, there is no delay to resume walking after landing as there normally would be after landing from a Forward Jump. Hold Up for 2 Frames just before Thomas is hit. The earliest possible Frame on which to begin holding Up is 5 Frames before Thomas is hit. The last possible Frame on which to begin holding Up is 3 Frames before Thomas is hit. This causes Thomas to be hit after the Jump animation has begun, but before Thomas has left the ground. Because the game recognizes that Thomas was hit during a Jump, and because Thomas never left the ground, there is no delay to resume walking after landing. The window of opportunity is only 3 Frames in duration. After holding Up for 2 Frames, the joystick can be briefly released before walking can be resumed. For a Forward Jump Hit Cancel started on the last possible Frame, the joystick can be released for 1 Frame. For a Vertical Jump Hit Cancel started on the last possible Frame, the joystick can be released for 2 Frames. A Vertical Jump Hit Cancel causes a delay of 4 Frames. Because a Forward Jump allows Thomas to continue moving forward during the 2 Frames that Up is being held, a Forward Jump Hit Cancel causes a delay of just 2 Frames. The same effect as a Forward Jump Hit Cancel can be achieved if Thomas is hit as he lands from a Forward Jump.
Post-Jump Quick Action:
After landing from a Forward Jump, holding Down on the joystick for 2 Frames allows Thomas to immediately begin walking again. By delaying 1 Frame after Thomas lands, the Punch button can also be held while Down is held on the joystick. If Thomas uses a Forward Jump Kick against a Boss or Knife Thrower, lands within Punch range, and then uses Cancel Punch 1 Frame after landing, Thomas can hit the enemy 2 times at a cost of just 3 Frames. Using this technique saves 1 Frame compared to using 2 Cancel Punches (the fastest alternative). This technique also allows Thomas to hit an enemy that is approaching from behind him for just 3 Frames. Using this technique to attack an enemy behind Thomas saves 1 Frame compared to using a Turn Cancel Punch or Turn Cancel Kick (the fastest alternative). Because this technique allows an attack to begin on an otherwise "dead" Frame, 1 Frame can be saved by using Post-Jump Quick Action compared to the normal delay of using an attack. This technique can save up to 2 Frames when breaking an enemy's hold.
Quick Turn Attack:
Thomas can turn to face the opposite direction while an attack is in progress. This allows him to quickly attack enemies in front of him and behind him. If it is necessary to turn to face the opposite direction during a Punch, the joystick can be held in the opposite direction starting on the same Frame that the Punch button is held. This causes Thomas to Punch for 1 Frame in the direction he is facing before turning to Punch in the opposite direction. This saves 2 Frames compared to entering the Punch input before entering the turning input. If it is necessary to turn to face the opposite direction during a Kick, Down can be held on the joystick during the 2nd Frame of turning input. This saves 1 Frame compared to holding the turning input for 2 Frames before holding Down on the joystick.
Double Hit:
This technique works only for Boss Giant. Hold the Punch button or Kick button for 2 Frames. Release the button and hold Down on the joystick. The initial attack is applied a second time when the joystick is pressed. This can be done even more quickly by holding the Punch button or Kick button for 1 Frame, and on the next Frame continue to hold the button and also hold Down on the joystick. On the 3rd Frame, release the button and hold Down on the joystick.

Comments

As a bonus, the input for this TAS also works with Spartan X!
In the Installation Instructions, 5-Floor Boss is referred to as "Boss of Organization X". In the game, he is referred to simply as "X".
In order to maintain walking velocity, the joystick need only be pressed for 1 Frame every other Frame.
If 2 The Grippers are destroyed simultaneously, 1 of the replacement The Grippers will spawn on the left, and the other will spawn on the right.
The RNG is affected by Thomas's location and control input.
Enemy spawns are determined by the RNG and the presence of Knife Thrower.
Enemy and Boss AI is determined by the RNG.
A maximum of 5 enemies may occupy the screen at any given time.
By design, it is not possible to hit a target on the ground with a Jump Punch.
Turning around during an attack to also hit an enemy behind Thomas is 2 Frames faster than attacking the 2 enemies individually.
At the end of a Floor, the Player receives 100 points per each Hit Point remaining. Each Hit Point requires 1 Frame to add to the score. As such, it is faster to have fewer Hit Points remaining at the end of a Floor.
At the end of a Floor, the Player receives 10 points per each unit of Time remaining.
1 unit of Time expires per each 3 Frames.
Attacking too quickly in succession can cause an attack to fail to hit an enemy, even if that enemy is within range of the attack. Thomas must wait for the enemy's invulnerability timer to expire before the enemy can be hit again.
A Boss regains 1 Hit Point per each 112 Frames.
Jumping up the stairs saves as many as 19 Frames compared to walking up.
If Thomas loses the last of his energy while he is Jumping up the stairs, he will not lose a life, and the transition to the next Floor begins normally.
Thomas begins a Floor with 63 Hit Points. Thomas is not defeated when his Hit Points reach 0; in such a case, he must be hit once more to be defeated.
A Boss begins with 63 Hit Points.
If The Grabber or Tom Tom spawns in front of Thomas, and Thomas walks forward without interruption, that enemy will be in range to hold Thomas 42 Frames after he appears. If The Grabber or Tom Tom spawns behind Thomas, and Thomas walks forward without interruption, that enemy will be in range to hold Thomas 281 Frames after he appears. As such, it is generally faster to have an enemy spawn behind Thomas.
If Energy Loss is set to Slow, Thomas's Hit Points decrease by 1 per each 4 Frames while he is being held. If Energy Loss is set to Fast, Thomas's Hit Points decrease by 1 per each 3 Frames while he is being held.
Hitting multiple enemies simultaneously with an attack is worth more points than hitting a single enemy with an attack. Turning around during an attack to also hit an enemy behind Thomas also contributes to the multiple enemy point bonus. A Knife Thrower does not contribute to the multiple enemy point bonus. Note that although Punch can hit 2 enemies (by turning around), it does not receive a bonus for hitting multiple enemies.
Crouching under a Knife requires a minimum of 4 Frames.
All actions require 2 Frames of input, with 2 exceptions. Breaking an enemy's hold requires just 1 Frame of input per "wiggle" of the joystick. Crouching requires a minimum of 3 Frames of input.

The Techniques

Punch requires 21 Frames and does 12-16 Hit Points of damage. Cancel Punch requires 2 Frames. Cancel Turn Punch requires 4 Frames.
Kick requires 22 Frames and does 8-16 Hit Points of damage. Cancel Kick requires 4 Frames. Cancel Turn Kick requires 5-6 Frames.
Crouching Punch requires 20 Frames and does 12-16 Hit Points of damage.
Crouching Kick requires 21 Frames and does 8-16 Hit Points of damage.
Jump requires 37 Frames. When Thomas lands after a Jump, his momentum is delayed for 5 Frames. Thomas must walk in the same direction for 25 consecutive Frames before he is able to use Forward Jump. Attempting to Jump before this only yields a Vertical Jump. If Thomas shakes off an enemy hold, the Frames spent shaking off the enemy count toward the movement prerequisite for Forward Jump.
Jump Punch requires 37 Frames and does 12 Hit Points of damage.
Jump Kick requires 37 Frames and does 24-32 Hit Points of damage. It is the ultimate power in the universe.
Crouching requires a minimum of 3 Frames.
Breaking an enemy's hold delays Thomas for a minimum of 6 Frames. However, because Thomas takes 1 Hit Point of damage from the hold, 1 Frame is saved at the end of the Floor. If an enemy holds Thomas while he is Jumping, it is possible to break the enemy's hold before the Jump has landed. Breaking an enemy's hold scores no points.

The Enemies

The Gripper simply walks toward Thomas and holds him when he is near enough. Destroying The Gripper with Punch is worth 200 points. Destroying The Gripper with Kick is worth 100 points. Destroying The Gripper with Jump Kick is worth 200 points.
Knife Thrower requires 2 hits to defeat, regardless of the attack type. Knife does 24 Hit Points of damage. Destroying Knife Thrower with Punch is worth 800 points. Destroying Knife Thrower with Kick is worth 500 points. Destroying Knife Thrower with Jump Kick is worth 1,000 points. When Knife Thrower is hit, he becomes invulnerable for several Frames. As such, Knife Thrower can only be hit a maximum of once per each 7 Frames. When Knife Thrower spawns, he approaches Thomas and throws a Knife as soon as he is within range (80 pixels). Knife Thrower will continue to throw Knives until he is destroyed. Knife Thrower throws a Knife once per each 252 Frames If Thomas is stationary, or once per each 119 Frames if Thomas is walking. When a Knife Thrower is on the screen, enemies will not spawn on the side of the screen occupied by Knife Thrower. This is exploited throughout the TAS to control enemy spawns as needed.
Tom Tom does 12 Hit Points of damage. Tom Tom can not be hit by Punch or Kick. Destroying Tom Tom with Crouching Punch is worth 300 points. Destroying Tom Tom with Crouching Kick is worth 300 points. When Tom Tom jumps, he becomes immune to attacks, though a collision with Thomas will destroy him, provided Thomas is not Crouching when the contact occurs. Destroying Tom Tom by contact while standing is worth 200 points. Destroying Tom Tom by contact while Jumping is worth 400 points. If Thomas is Crouching, and the RNG is favorable, Tom Tom will jump toward Thomas when he moves within 44 pixels of Thomas. This occurs 31-34 Frames after Tom Tom spawns. Tom Tom can be manipulated to jump with as few as just 1 Frame of Crouching, though in certain conditions, Thomas must delay for 1 Frame before beginning Crouching input. It is also possible to Jump over Tom Tom.
Snake Vase does 32 Hit Points of damage. Destroying Snake Vase with Kick or Jump Kick is worth 100, 200, 400, or 600 points as determined by the RNG. Destroying Snake Vase with Punch is worth 200, 300, or 600 points, as determined by the RNG.
Snake does 32 Hit Points of damage. Snake can not be destroyed.
Dragon Ball does 32 Hit Points of damage. Destroying Dragon Ball with Kick or Jump Kick is worth 100, 200, 400, or 600 points as determined by the RNG. Destroying Dragon Ball with Punch is worth 200, 300, or 600 points, as determined by the RNG.
Dragon does 32 Hit Points of damage. Dragon is worth 2,000 points.
Confetti Ball does 32 Hit Points of damage. Confetti Ball is worth 1,000 points.

Floor By Floor Comments

1-Floor:

The enemies that appear prior to Knife Thrower spawn too far apart to allow more than 1 enemy to be destroyed by a Jump Kick. Additionally, these enemies spawn too near to each other to allow enough space to use Forward Jump Kick.
If Kick is used instead of Punch against The Gripper 10, it allows just enough time to use Forward Jump Hit Cancel instead of Vertical Jump Hit Cancel before Thomas is hit by Knife. However, as Kick requires 2 more Frames than Punch, and Forward Jump Hit Cancel is only 2 Frames faster than Vertical Jump Hit Cancel, there are no Frames saved overall. Punch is used for more points.
Knife Thrower 1 is kept alive to allow Thomas to take damage, and also to force The Grippers to spawn behind Thomas. Enemy spawns are then manipulated such that all 5 enemies approach as a tight cluster behind Thomas. This in turn prevents Knife Thrower 2 from spawning until it is too late for him to disrupt the Boss battle.
The Jump Punch while jumping onto the stairs is timed such that it manipulates the maximum point value for Snake Vase 1 on 2-Floor.
Boss Stick Fighter is worth 2,000 points.
Stick Fighter does 16 Hit Points of damage.
Punch does 16 Hit Points of damage.
Crouching Punch does 16 Hit Points of damage.
Kick does 12 Hit Points of damage.
Crouching Kick does 12 Hit Points of damage.
Jump Kick does 32 Hit Points of damage.
Stick Fighter can be manipulated by destroying the last The Gripper on a particular Frame, or by using a particular attack on The Gripper.
When Stick Fighter is hit, he becomes invulnerable for several Frames. As such, Stick Fighter can only be hit a maximum of once per each 7 Frames.
When Stick Fighter is hit 2 times, he is pushed back 10 pixels.
Thomas begins the battle with a Forward Jump Kick into Post Jump Quick Action Cancel Punch, leaving Stick Fighter with just 15 Hit Points.

2-Floor:

The point value of Snake Vase and Dragon Ball is random. This can be manipulated without Frame loss by attacking on a particular Frame or by holding the joystick during an attack. In each case, the maximum point value (600 points) is manipulated.
Dragon 1 is destroyed 1 Frame later than necessary in order to manipulate Snake Vase 2 to score the maximum point value.
Snake can not damage Thomas until 8 Frames after it has spawned.
Boss Boomerang Fighter is worth 3,000 points.
Boomerang Fighter does 24 Hit Points of damage.
Punch does 16 Hit Points of damage.
Crouching Punch does 16 Hit Points of damage.
Kick does 16 Hit Points of damage.
Crouching Kick does 16 Hit Points of damage.
Jump Kick does 32 Hit Points of damage.
When Boomerang Fighter is hit, he becomes invulnerable for several Frames. As such, Boomerang Fighter can only be hit a maximum of once per each 7 Frames.
When Boomerang Fighter is hit 2 times, he is pushed back 10 pixels.

3-Floor:

In order to manipulate Tom Tom 2 to jump, delay 1 Frame and then hold Down on the joystick for 3 Frames. Instead, 1 Frame of delay is used on Frame 5789 and Frame 5825 while attacking the 2 groups of The Gripper prior to Tom Tom 2. This allows Thomas enough space to jump over Tom Tom 2, and also allows for more points by using Punch instead of Kick, for the same Frame requirement as using crouch to manipulate Tom Tom 2 to jump.
Knife Thrower 1 is destroyed on an earlier Frame than in 1-Floor. This requires more Frames to reach the Boss, but manipulates spawns such that Thomas can be hit as he Jumps onto the stairs at the end of the Floor.
In the Installation Instructions, 3-Floor Boss is referred to as "Man of Brute Force".
Boss Giant is worth 3,000 points.
Giant does 24 Hit Points of damage.
Punch does 12 Hit Points of damage.
Crouching Punch does 12 Hit Points of damage.
Jump Punch does 12 Hit Points of damage.
Kick does 8 Hit Points of damage.
Crouching Kick does 8 Hit Points of damage.
Jump Kick does 24 Hit Points of damage.
Unlike other Bosses, Giant has no invulnerability after being hit, nor is he pushed back after being hit. Additionally, there is no minimum range from which to attack.
Giant is the only enemy tall enough to be hit by Jump Punch.
If Thomas is near enough, Giant can not hit him with a punch, while Thomas can hit Giant with Punch. Note that even at minimum range, Giant can still hit Thomas with a kick.
When he spawns, Giant will always immediately approach and attack, though he will only pursue Thomas as far as Pillar 5.
In order for Thomas to move into Giant's "safe" range without being hit, he must approach Giant without stopping, and Giant must use a punch. Because Giant will always immediately attack as Thomas approaches, the window of opportunity is very small. Just 1 Frame of delay will allow Giant to hit Thomas before he reaches the "safe" range.
Jump Punch or Jump Kick may interrupt Giant's attack. In order to avoid interrupting Giant's attack, a Jump must be started from a sufficient distance (at least 50 pixels).
Instead of manipulating Knife Thrower 2 to throw Knife 2 low, he is allowed to throw high so that Thomas can be hit as he jumps toward the stairs. This saves 3 Frames compared to safely jumping over Knife 2 onto the higher step. Not even death will keep Thomas from ascending to his goal.

4-Floor:

Moth does 21 Hit Points. As such, 3 hits from Moth allows Thomas to continue with 0 Hit Points remaining.
Boss Wizard is worth 5,000 points.
Wizard does 32 Hit Points of damage.
Crouching Punch does 16 Hit Points of damage. Crouching Punch is the only Technique that can hit Wizard.
Wizard may throw projectile at 1 of 3 different angles, as determined by the RNG. Wizard is manipulated to throw the projectile straight ahead so that Thomas can Crouch under it between hits.
Wizard's projectile is destroyed if Thomas attacks it, the projectile collides with Thomas or the floor, or after 48 Frames have elapsed. If Wizard's projectile is destroyed by colliding with the floor or by timer expiration, the projectile may spawn an enemy. A projectile which is destroyed by colliding with the floor may spawn a Snake or a Dragon. A projectile which is destroyed by timer expiration may spawn a Bird (possibly a cormorant).
Destroying Wizard's projectile is worth 2,000 points, and prevents the projectile from spawning an enemy. Likewise, destroying an enemy spawned by Wizard's projectile is worth 2,000 points.
If Wizard is hit 2 times within 28 Frames, he will teleport. This teleportation requires considerable time, and also leaves Thomas vulnerable for its duration. As such, the first 3 hits on Wizard are spaced so as to prevent him from using teleport, but without wasting any Frames. The time between hits is used to destroy Tom Tom, The Gripper, and an additional projectile.

5-Floor:

Leaving Knife Thrower 1 alive longer allows Thomas to reach the Boss 4 Frames earlier, and also prevents an additional Knife Thrower from spawning in front of Thomas.
Thomas uses Jump Punch to manipulate Knife Thrower to throw the next Knife low.
Boss X is worth 10,000 points.
X does 24 Hit Points of damage.
Punch does 16 Hit Points of damage.
Kick does 12 Hit Points of damage.
Crouching Kick does 12 Hit Points of damage.
Crouching Punch does 16 Hit Points of damage.
Jump Kick does 32 Hit Points of damage.
X uses Techniques comparable to those of Thomas. X can punch, kick, crouching kick, and jump kick.
X is the only enemy that can block an attack. He has perfect defense. He can only be hit while he is in an attack posture, and then only if the RNG is favorable.
The RNG determines much of what X does. This includes when he will attack, which attack will be used, and whether or not he will block an attack when he is in an attack posture.
When Thomas is within 78 pixels of X, he changes to combat posture.
When Thomas is within 51 pixels of X, he can lunge forward or backward at a rate of 4 pixels per Frame.
When X is hit, he becomes invulnerable for 12 Frames. This is a longer period of invulnerability than any other enemy in the game.
When X is hit or blocks an attack, he is pushed backward 12 pixels.
If Thomas is stationary, X will move between X 205 and X 222. This is between 51 and 34 pixels distant from Thomas. Even at his nearest approach, X always remains 2 pixels beyond the range of Thomas's Punch.
X can be hit just 1 Frame after he changes to an attack posture.
At best, X can be hit once per each 31 Frames. This requires that X begins an attack on the earliest possible Frame after being hit. In each case, this is manipulated to occur.
Thomas must be at Screen X 174 or nearer in order to begin a Jump and reach the transition point. 1 Frame of delay is used after destroying X so that Thomas can safely jump over Knife starting from X 174.

feos: Nice job as always.
Even though this game loops with increasing difficulty, it still has an ending screen at 03:30. The ending tells us that it's not quite the end, since X isn't ever going to stop stealing the chick, but it's the same kind of ending as in Ghosts'n'Goblins, where we still only require a single loop.
As for tier, simpler arcade games don't seem to attract much interest unless it's something absurdly popular. Even though there are posts that like the movies, these movies receive Vault feedback after publication. So unless there's some notable excitement about such submissions, I'm going to keep accepting them to Vault.
Accepting to Vault.
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This topic is for the purpose of discussing #5665: £e_Nécroyeur's Arcade Kung-Fu Master in 03:18.44
Skilled player (1003)
Joined: 10/13/2014
Posts: 409
Location: nowhereatthemiddleofnoone
Good job... You make a good entertainment, best moment is in last level, little guy prefer suicide (or maybe you had attack him?! I don't know! But it's funny). Short run but very good to watching. "Woo-DAH" yes vote.
GAW sms... Totally destroyed
PCachu
He/Him
Joined: 10/1/2009
Posts: 166
That TAS was fast as lightning.
Active player (406)
Joined: 3/22/2006
Posts: 708
Very nice. Easy yes.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [3529] Arcade Kung-Fu Master by £e_Nécroyeur in 03:18.44
Editor, Player (123)
Joined: 8/3/2014
Posts: 204
Location: USA
I have already watched this run a few times actually. From an entertainment perspective, this TAS seems to pretty much solely involve walking in a straight line and kicking people's asses quickly along the way. It's a funny and good game, indeed, and such simplicity is to be expected for this old of an arcade game. The fighting was quite an entertaining factor of the run, even if the only. Overall, I found the run mildly entertaining, but, of course, as always, highly technically impressive. I had to vote meh as far as entertainment. But still, awesome job.