Jump to content
IGNORED

VGS NES Weekly Contest - Blue Marlin!


BeaIank

Recommended Posts

26 minutes ago, BeaIank said:

Current scoreboard posted. I am so damn happy that bloody fishing game week is about to finish.

Not without its hiccups, but you did expose a lot of people to a great game they may have otherwise never played. I dont fish in real life and only like a select few fishing games. But blue marlin is tremendous 

  • Like 1
Link to comment
Share on other sites

29 minutes ago, Deadeye said:

Thats awesome! Biggest marlin not caught by the coder. I tried some yesterday to get a big marlin. 977 was best I got. Tough rng or bad strategy as I played through 3 days. Nice catch!

  • Like 1
Link to comment
Share on other sites

Ok, with the competition over, time to share my remaining knowledge.

Let's start with the equipment options. I didn't look into line strength as I assumed strong was better. Line length obviously controls the place where you start reeling in. However, it also affects the hitbox of the hook when catching marlins. It's 3 pixels width at 100ft. While I'm talking about hitboxes, the hooks is centered in the upper left (you can tell since pausing and unpausing resets the up left pixel of the hook in line with the center of the boat). Also the hidden marlins trail the fish like your hook does (at 200ft maybe, not sure on the exact distance).

As far as I can tell, the lure and lure depth do almost nothing. There's some code that checks if the lure is one of the live options that interfaces with the time of day, but the rest of the code isn't hooked up so it doesn't do anything. The lure depth is checked to insure it's not 80ft. At 80ft it's impossible to catch marlin.

Next I'll explain how the random fish is chosen (this is a long one feel free to skip to the paragraph that starts with With that covered). There are only two things the change how likely a particular type of fish is to spawn: the location and a variable that is not hooked up to anything and therefore defaults to zero (yep, this game seems like it was a bit rushed out the door). The location affects the base chance. Here are the table indices for each location where groups of three are the days in order (left,center,right): 1,4,1  4,2,5  4,3,3  3,2,5. Take that number and look a the corresponding row below (numbers in hex).

  1. 14,0A,0A,0A,0A,0A    0A,0A,0A
  2. 0F,0A,0A,0A,0A,0A    0A,0F,0A
  3. 23,0A,0A,05,05,0A    0A,0A,05
  4. 1E,05,05,0A,0A,05    14,0A,05
  5. 0F,0A,0A,0A,0A,05    05,0A,19

If you hooked a marlin look at the first group of 6 other wise look at the group of three. These numbers correspond to the base chance for each type of fish. Fish type 0 is the blue marlin, then are 4 marlin I don't remember, then the tuna which you catch at marlin spots. Final three are the shark, the barracuda, and the dorito or whatever it's called.

But wait you need to add the chance modifier to that number. It's broken (there where supposed to be 8 options, so maybe this was supposed to be lure type), so I'll only list the one it's defaulted to.

  1. 00,00,00,00,00,00    FB,00,05 (FB is -5 if your unfamiliar with signed integers)

You add this to the base chance and the overall likelihood is that number over the sum of all the numbers. So for the left area on day 3, if you hook a normal fish the probably will be 0x14+0xFB = 20-5 = 15 for sharks, 0xa+0x0 = 10 for barracudas, and 0x5+0x5 = 5+5 = 10 for doritos. The sum is 35, so sharks likelihood would be 15/35 = 43% which is the best of all the areas (tied with the other areas that use table index 4).

Now that the fish type is chosen the special case for the glitch fish is checked (see my post on that for more details). Otherwise, a random weight is chosen within each types range. The ranges are given below but divided by 8.

  • Min: 1F,19,19,19,12,0C    1F,06,0C (The min might be exclusive instead of inclusive, I don't remember)
  • Max: 7D,64,70,57,51,57    96,25,3E

So, to get the full range you need to take this value and multiply by 8 (which is really a rotate left three times in a 16 bit number under the hood). For the blue marlin that would be (0x1f to 0x7d)*8 = (248 to 1000) and for the shark it would be (0x1f to 0x96)*8 = (248 to 1200). Then to make the weights not be a multiple of 8, a random number between 0 and 7 is added (this applies to the glitch fish as well since that is default to (0xE1)*8 = 1800 as the base). This is why all the heavies fish end in a 7.

With that covered, let's look into how to reel in heavy fish. I took a brief look at hook strength, line strength, and fish exhaustion, but I didn't really take notes on how exactly it works. I mostly looked into what's the optimum strategy. The main thing is fish exhaustion for heavy fish recovers much faster than your hook and line strength unless the fish is all the way exhausted, so you really only have one shot at it.

The first step is to set the drag all the way down. Then if your hook strength isn't fully stable (whether the hook is wiggling in the fishes mouth) then let the fish go to just short of 200 ft. Next step is to try to quickly tire the fish out. The best way is to hold down and mash left (I do this with my right hand). Every time the chair swings (it has to be left, because there is a delay in chair swinging to the right) when the fish is within 200 ft, the fish gets very exhausted, but this also costs a lot of hook strength. I keep doing this until the hook strength is in the very wiggly state or the fish is double exhausted (those sweat icon things). 

After that, start reeling in the fish. If the reeling slows down tap down to reset the speed. This will cost a lot of line strength (the beeping sound, of which there are two levels past quiet), but usually it's enough to reel in the fish. If the line starts fast beeping and you are close, try mashing down left to finish it off. Otherwise let the fish swim a bit away until your line stops beeping and try to tire out the fish again, before reeling in again.

That's mostly it. I did also look into how to level up skill points. Every time you get an event with an option you gain 50 points for getting it right and 15 points for getting it wrong (or maybe it was 25, I don't remember exactly). To earn these you need to catch the fish though. 255 points levels up to the next skill level. The easiest way is to set the line to 500 ft and catch small fish and reel them in fast. This usually triggers the several smoking reel event.

  • Like 4
  • Wow! 3
Link to comment
Share on other sites

  • The topic was unpinned
Social Team · Posted
3 hours ago, BeaIank said:

Final standings posted.
Congratulations to @NESfiend for taking the win this week, with @0xDEAFC0DE in second and a tie for third with @dvertov and @FireHazard51 a 1,201 lbs shark!

I doubt I'll place this high again. 

Spoiler

Unless we play Tecmo Super Bowl

bowl GIF

 By far the most fun I've had in a competition so far.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...