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

Submission #4408: CoolKirby's A7800 Barnyard Blaster in 01:53.8

Console: Atari 7800
Game name: Barnyard Blaster
Game version: USA
ROM filename: Barnyard Blaster (1988) (Atari) [!].a78
Emulator: BizHawk 1.7.4
Movie length: 01:53.8
FrameCount: 6819
Re-record count: 4236
Author's real name:
Author's nickname: CoolKirby
Submitter: CoolKirby
Submitted at: 2014-08-17 07:05:27
Text last edited at: 2014-08-21 18:34:50
Text last edited by: feos
Download: Download (6036 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:
You and your grandfather just bought a small farm for growing vegetables and raising horses. Unfortunately, you find that the place is infested with animals that are determined to drive you away. Using your trusty gun, you aim to rid the property of these pests.

This run completes the first three levels, after which there is no new content. A trick is used to end the bonus levels immediately by shooting Gramps.

Warning: The screen briefly flashes white every time the lightgun shoots. Do not watch if you are sensitive to this.

(Link to video)

About the run

  • Emulator used: BizHawk 1.7.4 (the game does not open in revisions earlier than 1.7.2)
  • Aims for fastest game completion
  • Manipulates luck
  • Manipulates away lag
  • Genre: Shooter

I've been working on this off and on since this game became TASable with the release of BizHawk 1.7.2. The only method of input is the XG-1 lightgun, which is why BizHawk didn't know how to handle input for this game before the VirtualPad fix.

An alternate version of this submission text is included in the Comments file inside the bk2 for your convenience. Simply open the bk2 as an archive and open Comments with any text editor.

I chose fastest game completion over fastest input because it keeps the run from feeling incomplete. If aiming for fastest input, you only need to shoot the first enemy in Level 3, since the game reads 1/1 enemies shot as a perfect score (and ignores the ones you missed). It's hard to sit through Level 3 with just the animals running across though, so I ran the rest of the level too.

About the game

As with other lightgun games, you must shoot targets as they appear on the screen. There are three unique levels that loop endlessly, with Gramps' bonus screen in between.

The game's RNG doesn't seem to cycle until I pull the trigger for the event I want to manipulate, and invisible lag behaves the same way. This requires me to brute-force everything by hand.

Some animals can't be shot as soon as they first appear on screen, and attempting to do so by shooting at the extreme left and right edges of the screen will cause the shot to be displaced to a random spot on the screen. I think this is a combination of strange animal hitboxes and range limitations of the XG-1.

Level-by-level comments

Level 1

  • The number of bottles in this stage is determined by RNG and based on the frame you shoot the "One Player" hay bale. Bottles can be shot much faster than cans, so I made as many bottles appear as I could without wasting too much time. The "random" sequence goes:
  • A screen with 5 bottles turned out to be only 12 frames away. The nearest 6-bottle screen was 127 frames away and didn't save as much time overall.
  • This level can have odd delays when the targets are shot in certain orders.

Bonus Level

  • Skipped by shooting Gramps. Poor Gramps.

Level 2

  • Since shooting the enemies is pretty trivial, the challenge in this and the next level comes from finding where to waste frames to reduce long delays and end the level fastest.
    • It's usually apparent when you've found the fastest pattern, as the delays between animal appearances will all but disappear. The fastest pattern is the one that allows you to shoot the last animal earlier than in all of the other attempts.
  • Enemies change position every 5 frames. Wasting a frame before shooting an onscreen enemy will cause the next enemy to appear at the start of the next key position, 5 frames later. To avoid this, I instead waste frames before the level starts and before shooting the last enemy. These are the results of my testing:

Frames wasted (beginning) Frames wasted (end) Notes
0 0...3... 23 frames from optimal
1-10 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
11 0... 1 frame from optimal
12-14 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
15 0... optimal pattern
16-20 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
21 0... tied for 1 frame from optimal
22-24 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
25 0... tied for optimal pattern
26-29 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

  • There seems to be a pattern here, since 11 and 21 both lead to a near-optimal pattern and 15 and 25 both lead to the optimal one. Everything else was way too slow to be notable.

Bonus Level

  • Skipped by shooting Gramps. Sorry, Gramps...

Level 3

  • There are three different places to waste frames before starting Level 3 (level 2 results, bonus, and bonus results), so I initially tested several combinations of wasting frames in three places. This became a lot easier once I noticed that while the optimal pattern wouldn't always occur, when it did, it was always after wasting 9 frames somewhere:

Frames wasted (lvl2results) Frames wasted (bonus) Frames wasted (bonusresults) Notes
0 0 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
0 1 1...8... fastest input; 15 frames away
0 2,3,4,5 7,6,5,4
0 6 3 tied for optimal
0 7,8,9 2,1,0
1 0 8 6 frames away
1 1 0...7... tied for fastest input; optimal input
1 2,3,4,5 6,5,4,3
1 6 2 tied for optimal
1 7,8 1,0
3 0 6
3 1 5 tied for optimal
3 2,3,4,5 4,3,2,1
3 6 0 tied for optimal
4 5 0 6 frames away
5 3,4 1,0
9 0 0

  • After this much testing, I decided I had found the fastest input pattern.

Possible Improvements

Though I tried many different possibilities for Level 3, it is always possible that a bot could work out a better input pattern.

Suggested screenshot


Thanks to

feos: Publishing to Vault.

Similar submissions (by title and categories where applicable):