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

Submission #6342: TiKevin83's GBC Pokémon: Blue Version "SoftLock%" in 01:24.85

Console: Game Boy Color
Game name: Pokémon: Blue Version
Game version: USA/Europe
ROM filename: Pokemon Blue (UE) [S][!].gb
Branch: SoftLock%
Emulator: BizHawk 2.3.1
Movie length: 01:24.85
FrameCount: 5068
Re-record count: 7424
Author's real name: Travis McGeehan
Author's nickname: TiKevin83
Submitter: TiKevin83
Submitted at: 2019-04-01 01:27:38
Text last edited at: 2019-04-06 13:19:52
Text last edited by: Masterjun
Download: Download (2191 bytes)
Status: decision: rejected
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:
This is an explanation of the strategy behind a console-verified Pokemon Blue SoftLock% TAS in 1:24.8.

(Link to video)

Credit to SudoTrainer for the idea and Andersama for the new console encode pipeline which will be explained.


We now use the pipeline described here to verify console accuracy of gameboy TASes. https://pastebin.com/DXiDT9ZT

This pipeline has been used to verify TASes by both me and Extrems, and it has been demonstrated publicly in the practice rooms at SGDQ 2018 and AGDQ 2019. Using GBHawk on BizHawk 2.3.1 may make it more likely for TASes of non-Pokemon games to sync on real hardware.

I used a gbc_bios.bin for the GBC firmware and set CGB in GBA to True for GBP verification purposes.

The YouTube encode linked above actually helps mark a major innovation in console video capture of GB/GBC/GBA games. This is the first submission after Andersama and I wrote an OBS filter to use GBI-HF over HDMI with a workaround for the GameCube's digital signal and recover an exact 1:1 pixel image. This quality was previously achievable only using an analog capture pipeline. An explanation of the filter can be found here: https://pastebin.com/WJfFYdgH

The TAS itself

The category was popularized by Shenanagans as seen here:

(Link to video)

Pokemon Gen 1 games are notorious for being full of bugs. Save corruption can win the game in just over a minute by TAS timing. By restricting save corruption, Shenanagans created a unique category that still crashes the game extremely quickly. Through moving the girl to a specific grass tile and keeping her there during Oak's dialogue, we can force the character to bonk on her the first step of the automated movement and break the script, keeping the joypad locked in a disabled state with the game unresponsive to any inputs.

In TAS, we can additionally watch the NPC timer at Address 0x0228 (C228 outside of BizHawk) and reroll it via varied movement and A presses. The NPC timer is supposed to roll between 0 and 255, but we keep it consistently on the low end through our RNG manipulation, and in one case generate 3 consecutive 0 rolls with the direction also moving favorably. This is similar to the manipulation done for "THE Manip" in the Yellow NSC TAS.

In RTA the NPC can be forced to move in limited directions as they will never go offscreen voluntarily, but in TAS this forcing is unnecessary.

I hope you enjoy uniqueness of the submission goal and the new level of console capture quality viewable in the YouTube encode, especially when set to 1080p60. My YT channel contains console reencodes of my other Pokemon TASes at the new quality level as well.

Masterjun: Rejecting for neglecting the girl walking right into the tall grass. She clearly states she has yet to raise her Pokemon so they can protect her.

Similar submissions (by title and categories where applicable):