This is an improvement of 14478 frames (04:00.903) over my previous publication
Firstly, I want to say this is one of the hardest to optimize games I've ever TASed, surprising from a puzzle game! But I hope to explain why.
The big improvement comes from new tech discovered where pressing select then start during the level scroll can cause you to skip it! When tinkering with this idea, I quickly discovered that it is even more simple and effective, pressing select by itself at the right time for 1 frame is what causes the skip. This scrolling takes about 300 frames, on each level, times 50 levels, wow. (However, it gets a lot more complicated that in reality). In addition, I improved numerous levels with new routes, and much better manipulation of enemy spawns and gold drops.
As with the previous TAS, this TAS increases the game speed mode to 1 (max speed).

Select Skip

At normal speed, you simply need to press select for no more than 2 frames at some point during the level scroll, and it will skip it. At max speed, its much more complicated. It is only a 1 frame window, and it is highly dependent on random factors, and so most frames will not work. I wrote a script to help mitigate this problem. Worse yet there is 4 levels, 14, 32, 34, and 47 where it will not work at all! However, not all is lost, I found I can slow down to speed mode 4 and get the skip. It loses a lot of time during the level but it saves time overall, in all 4 levels.
The random nature of the select skip is further complicated by the fact that most levels depend on a specific timer value for spawns and drops. The approach I took is to bot the level skip and get as many as possible, so I have hopefully enough options to get ideal luck. It helps, but even then often you are faced with weighing the time loss for getting ideal luck vs how much the better luck will actually save.

RNG and the Spawn Timer

There is not RNG in this game. Enemy spawns and gold drops are determined by the spawn timer 0x0053. It is a value that increments from 0 through 27 and wraps back to 0 and represents an X tile in the level.
When an enemy dies, this value is read and used to place the enemy at the top of the screen. If that is not a place the enemy can spawn, it seems to move 1 tile to the right until it finds an acceptable spawn position. When an enemy picks up gold, this value is stored as the number of tiles the enemy will walk before dropping the gold. Manipulating this value is essential for optimal strats in most levels.
At normal speed this value increments once per frames. At fast speed it increments anywhere from 0 to 5 frames, and anything in between depending on how much game logic was executed. This results in unpredictable chaos very quickly.

Lag

There is no lag in this game, in the normal sense. The lag counter never moves. It seems the game doesn't have much of a frame loop, so it just executes as many things as it can in a frame. At max speed the game generally can't keep up so there is seemingly random lag. Worse, the player, the enemies, and the spawn timer can all lag independently. Certain strategies depend on precise enemy and player values in order to skip past an enemy

Scripting

The laginess, random timer, and unpredictable level skip behavior combine together to make optimization unpredictable. Strategies that require more steps are often faster than more optimal strategies due to the lag differences or the need to get better spawn timer patterns. Delaying a frame or 2 in random places can result in big gains. However, simply adding a frame to your input does not sync because of its implications no the number of frames to do every action. Also, in general, unnecessary input can cause extra lag. And that lag may even can be a good thing! In order to maximize the number of routes and delays and ideas, I wrote a scripting framework that breaks down each typical action in the game and then wrote scripts for every single level. This entire TAS was done by programming the input, there is almost no hand written input.

Tricks

The chaos of the lag, spawn timer and select glitch dominate the effort of this TAS, so it is easy to forget we are TASing a game and thus there are actual time saving tricks to worry about.
  • You can walk on enemies heads.
This TAS utilizes this detail more than the previous TAS to find more shortcuts
  • Climbing through enemies
On ladders, its possible for an enemy to no collide with the player. On some ladders, with precise Y position and timing, it is possible to climbing up through an enemy that is coming down to kill you. This is used to save time in a number of levels. Level 8 is the most prominent example of this.

Files


Challenger: Claiming for judging.
Challenger: Excellent improvements! This game is surprisingly great beyond expectations, and the ancestor of Bomberman (at least in this version developed by Hudson Soft) is more like a Runner on steroids with 1000% coffee speed xD

McBobX: Processing...


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 17541
Location: 127.0.0.1
This topic is for the purpose of discussing #10412: adelikat's NES Lode Runner in 13:40.382
Player (42)
🇺🇸 United States
Joined: 5/5/2025
Posts: 213
Location: 🇺🇸 United States
Cool improvement, yes vote!!
SMB2U is the best NES Mario game.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 17541
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. ---- [7115] NES Lode Runner by adelikat in 13:40.382
Experienced player (591)
Location: RNG Bullet Hell
Joined: 11/21/2023
Posts: 90
Location: RNG Bullet Hell
You forgot to press start in the beginning to get speed setting 0, which is even faster than 1. Other than that a good run. With some more practice you can learn to optimize games a bit more carefully, use frame advance, etc.