TASVideos

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

Submission #5537: link_7777's NES Golf in 04:58.49

Console: Nintendo Entertainment System
Game name: Golf
Game version: USA
ROM filename: Golf (USA).nes
Branch:
Emulator: Bizhawk 1.12.1
Movie length: 04:58.49
FrameCount: 17939
Re-record count: 2000
Author's real name: Phillip Grimsrud
Author's nickname: link_7777
Submitter: link_7777
Submitted at: 2017-06-10 05:29:14
Text last edited at: 2017-06-20 16:25:03
Text last edited by: Fog
Download: Download (2424 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:

Golf

Golf is an implementation of golf for the NES and is one of the so called 'black box' games.

The game has 18 holes for you to play. As you might expect there are 4 of each of par 3 and par 5, the rest are par 4. This TAS gets a hole in one on all par 3's and 2 strokes on all other holes resulting in a total of 32 (a whopping 40 strokes under par!).


(Link to video)
Note that you may need to change the quality setting to HD if it isn't by default.

Emulator Used

Bizhawk 1.12.1

Game Objectives

  • Complete the 18 holes as quickly as possible.
  • Complete the 18 holes in as few strokes as possible.
  • As it turns out there is quite a bit of overhead per stroke, more for loading the green. This means fewer strokes is faster, and I avoid the need to putt.

Mechanics

  • Left/Right change the aim (to one of 16 possible directions)
  • Up/Down change clubs
  • "A" initiates the swing, sets the power, then sets the aim (in that order, three button presses)
  • The wind is the only RNG in the game and it is set when the hole loads. Per each frame the wind cycles through each of 8 directions then from 0-15 MPH (there are still 8 frames for 0, but it is directionless).
  • The game tracks pixel and sub-pixel position for the ball, and the hole is one full pixel in size.

Strategy

  • Find ways to get to the hole in 2 strokes (1 for par 3 holes).
  • This primarily involved using a lua script to check a large portion (but not all) combinations of 2 strokes with different power/aim.
  • Aiming through a hook/slice (hitting the aim early or late) was preferred over changing the aim manually before the shot since the background reload when you change the aim takes time.
  • Wind can for the current hole can be manipulated by delaying the last shot from the previous hole. This is done a fair amount in the run.
  • The lower angle shots (e.g. 1W) execute faster per unit of distance and have the added benefit of being quicker to change to (default is 1W when the hole loads).

Hole by Hole Commentary

Hole 1

  • Frames delayed on previous hole: 0
  • Hole Position: X:0xC1 Y:0x2F
  • Clubs Used: 4W, 3W

Hole 2

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xA5 Y:0x3F
  • Clubs Used: 3W, 3W

Hole 3

  • Frames delayed on previous hole: 78
  • Hole Position: X:0xD2 Y:0x5F
  • Clubs Used: 1W

Hole 4

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xA9 Y:0x41
  • Clubs Used: 1W, 4W

Hole 5

  • Frames delayed on previous hole: 3
  • Hole Position: X:0xD0 Y:0x27
  • Clubs Used: 1W, 4I

Hole 6

  • Frames delayed on previous hole: 0
  • Hole Position: X:0xA6 Y:0x37
  • Clubs Used: 1W, 3W

Hole 7

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xA8 Y:0x2D
  • Clubs Used: 1W, 3W

Hole 8

  • Frames delayed on previous hole: 0
  • Hole Position: X:0xA8 Y:0x2B
  • Clubs Used: 1W, 3I

Hole 9

  • Frames delayed on previous hole: 20
  • Hole Position: X:0xD3 Y:0x53
  • Clubs Used: 1W

Hole 10

  • Frames delayed on previous hole: 0
  • Hole Position: X:0xCE Y:0x3B
  • Clubs Used: 1W, 3W

Hole 11

  • Frames delayed on previous hole: 32
  • Hole Position: X:0xC4 Y:0x5A
  • Clubs Used: 1W

Hole 12

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xE2 Y:0x62
  • Clubs Used: 1W, 4W

Hole 13

  • Frames delayed on previous hole: 7
  • Hole Position: X:0x9B Y:0x27
  • Clubs Used: 1W, 1W

Hole 14

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xAD Y:0x6F
  • Clubs Used: 4W

Hole 15

  • Frames delayed on previous hole: 6
  • Hole Position: X:0xC7 Y:0x56
  • Clubs Used: 1W, 4W

Hole 16

  • Frames delayed on previous hole: 4
  • Hole Position: X:0xD1 Y:0x30
  • Clubs Used: 1W, 3W

Hole 17

  • Frames delayed on previous hole: 1
  • Hole Position: X:0xE2 Y:0x35
  • Clubs Used: 1W, 5I

Hole 18

  • Frames delayed on previous hole: 5
  • Hole Position: X:0x92 Y:0x2A
  • Clubs Used: 1W, 1W

Improvements

My botting with Lua did test a large portion of possibilities, but there could easily be something that slipped through the cracks. That said, minor improvements would be somewhat likely to be swallowed up in waiting for favorable wind directon on a par 3 (as there are fewer variables to manipulate).

Thanks to:

  • my Twitch chat for the ideas and encouragement
  • The TASMania team
  • あ~とぞん (nicovideo uploader of a prior Famicom Golf TAS and presumed author) for the strategy for hole 3. Also TempestWay who uploaded that video to youtube.

Screenshots:

8985, 11720, 19081


Masterjun: Judging.

Masterjun: Great run. As a person who likes Lua scripts and botting myself, I really like the work put into the TAS and the result is great. However, everyone can agree that this game is repetitive (due to the nature of Golf) and the TAS is predictable (due to the nature of TASing). Both are bad aspects for the entertainment of the run.

As it stands now, I will accept this run into the Vault. Due to the good viewer feedback though, this run has a chance to move up to Moons if the ratings are good enough.

Fog: Processing.


Similar submissions (by title and categories where applicable):