TASVideos

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

Submission #6199: klmz's NES The Krion Conquest in 12:12.74

Console: Nintendo Entertainment System
Game name: The Krion Conquest
Game version: USA
ROM filename: Krion Conquest, The (U).nes
Branch:
Emulator: FCEUX 2.1.6
Movie length: 12:12.74
FrameCount: 44037
Re-record count: 103548
Author's real name: K.H.
Author's nickname: klmz
Submitter: klmz
Submitted at: 2018-12-21 09:04:43
Text last edited at: 2018-12-26 14:18:06
Text last edited by: feos
Download: Download (8361 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:
The Krion Conquest, known in Japan as Magical Kids Doropie (まじかるキッズどろぴー) is a side-scrolling action-platformer somehow resembling Mega Man 2.

This run is a 3975 frames improvement to [596] NES The Krion Conquest (USA) by Shinryuu in 13:21.12 thanks to new techniques and strategy as well as optimizations.

(Link to video)

Game objectives

  • Emulator used: FCEUX 2.1.6 and newer
  • Aims for fastest time
  • Takes samage to save time
  • Abuses deaths to save time
  • Abuses programming errors in the game
  • Manipulates luck

Comments

This game is very hard to optimize for, mainly due to its 3 sets of complex animation-cycle-based physics applied to various areas.

It takes a very long time for me to complete the run as I kept discovering new tricks in the past years and had to redo most of the run. The final result is the 5th revision of the 13th version of this TAS.

It's nice to see that most of the known techiniques and all weapons except BALL (diagonal-up shooting) are utilized in the run.

Tricks

There are so many tricks used in this run. Here are most ones I pick to explain for now:

Generally moving forward
The game uses some animation-cycle-based speed table instead of real subpixels for walking, jumping and falling. By combining with them when going forward, sometimes even with intentional stops in-between, Francesca can advance faster than just walking forward. The optimization is complex and has to be tested according to the ambient circumstance.

Broom-riding
The game handles horizontal movements with the Broom differently when the screen is scrolling or not.

When the screen is scrolling, riding on the broom will always scroll the screen at the constant speed 1 pixel-per-frame (ppf), which is slower in most areas except underwater (everywhere in Act 3 except the first one) where Francesca can only walk in the same slow speed.

When the screen is not scrolling, the speed of Francesca and the speed of the Broom are accumulated, and this way to move is faster than most of any others.

The game tries to make riding easier by zipping Francecsa up onto the Broom, but if she is still ascending when landing on the Brrom, the Broom will instantly disappear and she will stsrts to fall down. This mechanism poses both a chance to short-circuit a jump near the ground as well as a challenge to set up the right height for a riding.

Sliding in Act 2
In Act 2 the physics is modified to simulate a slippery feeling on icy surface, which actually applies everywhere.

Sliding on the ground is faster than optimized walk/jump loops, and even faster than zipping in narrow with the Broom when going to the right but not to the left.

Sliding also make it possible to continueously getting ejected to the direction inside walls, aka. the famous "wall zipping".

However, sliding requires a set-up walk that may take some obvious time during wall-zipping.

Simply entering walls
The game developers made a big mistake/overlook in the design of Francesca's collision box that extends farther in the back than in the front, which enables a simple way to enter walls by just turning around when she is very close to the walls.

Horizontally zipping inside walls
The game eject Francesca horizontally at 8-pixel boundaries inside walls. The direction is mostly decided by the last presses on the D-pad as well as her falling/landing states according to the tiles surrounding her, which is quite complex.

Generally, the game tries to eject Francesca backward if a press on the D-pad was made previously in her "landing" state, whereas it's still much free to zip to the left other than to the right as the game checks for tile collisions from the left to the right for every row. The latter is usually by blocked by the need to press Right on the D-pad in order to move past the 8-pixel boundary to the right, but by opening up the weapon selection menu, one frame of the D-pad press may be ignored and Francesca can then zip to the right for one frame.

There is also a complex to enter upper-right corners 8-pixel to the right direction with tricks involving alternating the falling/landing states as shown many times in Act 2.

Horizontally zipping at ceilings and edges
Francesca can still zip horizontally if she is only partly inside any solid tiles and not ascending or decending.

In the underwater part of Act 3, she can simply zip without the Broom in narrow passages thanks to the modified jumping physics.

In most areas this trick won't save time compared to optimized walk/jump loops due to the requirement for jumps to position the Broom at the right place and the and the slow starting afterward. It is a big time saver in Act 3, though.

Vertically zipping inside walls
The game also eject Francesca up at 8-pixel boundaries inside walls.

By using the special 1-frame select/fire/crouch/etc-jump every other frame, it's possible to zip up at 4ppf speed.

By altering the falling and landing on walls during jumping every 3 frames, it's possible to zip up at 5.3333ppf speed.

Specially, by jumping after taking damage inside walls, Francesca can zip up at 8ppf as shown in Act 4-2.

Airjumps
By opening up the weapon slecetion menu or taking damage after Francesca enters the full-speed falling state, she can jump in the air at the right frame window.

Scrolling warping
The game always makes sure that Francesca is on the middle column of the screen when it scrolls horizontally, and warp her there if she hasn't been.

Screen wrapping
As in many other side-scrolling games, Francesca can wrap around the screen vertically, but not horizontally. This enables some shortcuts thanks to wall-zipping tricks.

However, since the game developers never intended for the wrapping, they didn't put any real tiles in the out-of-bound rows, whilst the game still tries to calculate collisions there misinterpreting the wrong data as tiles. The resulted outcome is that there are invisible "holes" and "spikes" in such rows, which is a big obstacle in Act 2 and has to be get around but also a big help in Act 3 for the "Death Warp" trick described below.

Suppressing "inherited jumps"
The game doesn't reset Francesca's previous jumping state even when starting a new (sub-)Act putting her in midair. The "inherited jump" may occasionally help but usually just waste time.

Usually a 1-frame jump before ending a sub-Act can be used to suppress the ascending, but sometimes the trick to clip on a wall to stop the ascending is needed.

Death warps
By depleting the HP right when arriving at the end of an area, Francesca will clear the current area and only die in the next area. When Francesca dies before a boss fight starts, the game will errorneously regard it as beaten and move her to the next Act. So there is the "Death Warp" trick to skip some bosses.

Unfortunately there is no way to do this trick to skip the boss in Act 1 or Act 5. They have to be fought.

HP overflow
It's possible to increase Francesca's HP over the intended capacity simply by collecting replenishments. The game only truncates the amount of HP for displaying and/or right before decreasing it as a result of enemy damage.

Extra FIRE weapon ammo
The FIRE weapon can just consume the overflown HP for extra shots as if ther were no limitation of maximum HP. Despite the long attack animation, this weapon ignores the invulnerability resulted from hitting on any bosses and damage them, although it cannot hit them if they are in non-colliding states.

The first boss in the game has long hit-invulnerability time as well as very longer non-colliding animations, and cannot be finished off in the first round unless extra FIRE weapon attacks that require more than normally maximum 20 HP are abused.

Super--rapid firing
By firing at the same time when taking damage, Francesca will be stuck firing bullets every frame during the hit stun peroid, ignoring the cooldown time of the bullets as long as the amount of bullets on screen doesn't exceed the hard limitation, 3. This trick is useful for taking down enemies that have no invulnerability time resulted from damage, such as the mid-bosses and the final boss in Act 5.

Other comments

Thanks

Thanks to Shinryuu for his TAS of this game.

Thanks to everyone in the forum thread for their suggestions.

Thanks to mtvf1 for the Nicovideo encode.


Memory: Claiming for judging

Memory: Updating with 2 frame improvement

Memory: The optimization seems good, very strong improvement on the published run.

This movie has it all: a cute witch girl, cool movement options, a cute witch girl, zips, a cute witch girl, boss quick kills, and a cute witch girl. Heck this game is OBVIOUSLY superior to Mega Man because it stars a cute witch girl. Apparently in the Japanese version of the game there were story cutscenes ala Ninja Gaiden so this game never got its best showing in the west. Despite starring a cute witch girl.

Audience reception seems good.

Accepting to Moons as an improvement to [596] NES The Krion Conquest (USA) by Shinryuu in 13:21.12 because it has cute witch girl.

feos: Pub.

Memory: Updating with 53 frame improvement.


Similar submissions (by title and categories where applicable):