Jump to content

Reel Big Fishing Overhaul


Crater

Recommended Posts

Crater's Amazing, Extravagant Guide to Building a Better Fishing System

 

1. Intro

(Apologies in advance for not following the pre-defined format, but I'm sure you can see why (just by the size of this post alone) why it's not necessary. I saw the Drug/Addiction suggestion and figured it's okay.)

 

The fishing system right now is pretty bland, could definitely use some work. It works for what it is, but it could be better - possibly even opening up new avenues for actual roleplay rather than the script-based Netflix-assisted grindfest it is right now.

 

This is going to be very long and very detailed. I'm hoping that makes it more likely to be implemented, and not the other way around. This is also looks very complicated. I promise it's not, I'm just making sure all the bases are covered and ensuring that this is well thought-out and easy to implement for the devs. Hopefully I'm actually effective at doing that.

 

I suck at C# and JS, but these suggestions are pretty simple to implement in terms of typical object-oriented programming logic, from what I do know. I think. Given that the server probably uses some variant of MySQL and already has similar systems in place already that I'm going to use as examples later in this post (like the garbage truck system), code can be stolen from other parts of the script to make the necessary changes that I'm going to elaborate on in this post. Probably.

 

Sorry devs if I'm throwing you under the public's bus with this post - it will take a good bit of tedious work, but it's definitely do-able and I'm not asking you to do the impossible by any means, I hope.

1. Area Differences/Types/New Stats

This is pretty simple. The different areas around the island should have different yields, types of fish, et cetera.

 

This doesn't have to be per location, but instead could be just a simple divide between freshwater/saltwater. For the purposes of this post I'll detail my suggestions for each location individually, but if the devs/management deem it too detailed then that's okay. There are only three fishing spots currently, so it shouldn't be hard to implement, but I'll also suggest some modifications to that as well. Take or leave whatever part of that you'd like. The spreadsheet will show you everything, and if you still have questions you can use the rest of this post to answer them, hopefully.

2. Scarcity

Many people are probably wondering how a fleshed out, improved fishing system won't tank the economy - right? Well, this is how. Partially.

 

Based on different aspects of the location, the fishing spot will have a population of fish. This means that if you and your four buddies fish at the same spot for an hour, it'll probably have reduced yield. This could manifest in a couple different ways, but the main idea is that the increased amount of fishing locations should force people to use different ones from time to time. This increases the need for travel around the map, forces people to roleplay in new areas with new people, and allows for a breaking of the monotony.

 

As far as programming logic, this one isn't hard. Take the system that the garbage job currently uses to propagate trash and modify it to apply to fish. I don't know exactly what the script looks like for that, so I'm not sure how exactly it works, but I've noticed that server-side scarcity is already a thing with that job.

 

Another idea (from scratch) would be to run up a counter at each location. Each time a fish is caught, add 1 to a stored integer for that location. Once that integer is greater than the configured fish population value, the spot "runs out" of fish. Then, start a timer (similar to the paycheck timer, but for the server rather than an individual client) that resets the fish pool. Add in some randomly generated numbers to mix things up so people aren't timing the locations on their phones.

 

If you want to get even more detailed, you could actually take each fish's ID and assign stored values to each of them. Probably make it easier with a table/array of some sort. Maybe randomize it, clamping it inbetween a minimum and maximum value. For example, maybe Lake Vinewood has 20-50 river salmon, 60-100 catfish, and 200-300 carp. Each time a fish is caught, change the value. This makes the rarity of the fish much more dynamic and makes it so the entire spot doesn't just run dry all at once. You'd have to keep track of what you're actually catching, because maybe that rare, elusive fish you're looking for has already been all snatched up by your rival fisherman before you got there.

 

Included on the spreadsheet will be some examples of statistics and such that will serve as suggestions themselves as to how the scarcity stats could be implemented, per location.

 

Without some kind of scarcity system, you'll probably end up with a lot of problems. It could work without it, but I think it'd make fishing far to profitable and result in one or two locations being the "favorite," rendering the rest useless.

3. Fish Stats

Right now, fish are bland. They don't even have different weights, really - just the illusion of different weight. When you catch a 2000g salmon, you're actually catching four different 500g salmon. Silly, right? Well, no worries - I have a solution! Not doing that.

 

Sarcasm aside, let's get down to brass tacks. The new, improved fish will be pretty cool. The spreadsheet will have more information, probably, but I'll detail what the new fish entail briefly here.

 

Actual Size: Essentially, the new fish will have their own size that isn't just arbitrary or somehow just the same fish multiple times. Each fish will weigh a certain amount in ounces - yes, ounces, not grams, you filthy communists - to represent the size of the fish. The actual weight of the fish item will not change, rather there will be text appended to the fish item. As far as programming goes, this should be fairly simple. Randomize an integer between n1 and n2, with those values being the minimum and maximum weight of the fish in ounces. Append the value to the end of the fish item, as such: "Salmon - 68 oz." As far as the actual item weight in grams, that can either be calculated from the fish's weight OR it could be a flat value based on which fish we're dealing with. Maybe the same weight for all the fish, if you want to be boring.

 

Weight values on my spreadsheet are basically arbitrary, optimized for gameplay/balance of profits rather than balanced toward realism. When I get into the profit calculation, you'll see why.

 

tl;dr more weight = bigger fish = probably more money, dude

 

Rarity: This will stay pretty much the same, except you'll have five tiers instead of three. Very Common, Common, Uncommon, Rare, and Very Rare.

use my color codes, devs - they're very nice ?

 

As far as the programming for this goes, it's fairly simple but it's contingent on which system of scarcity is implemented. Ideally, it would go as follows, with the "finite amount" system:

 

John Doe casts his line. After a few seconds, he gets a bite. At this point, you roll percentage, just a 100 sided die basically. These don't have to be the final numbers, but this is a very simple example and I'm sure something like this already exists on the server for the current system.

 

1-40=Very Common (40%)

41-70=Common (30%

70-85=Uncommon (15%)

86-95=Rare (10%)

96-100=Very Rare (5%)

 

Once it's decided what category you're pulling from, you select a fish from that rarity category at random. The weight is determined randomly, as well. Then the guy tries to catch the fish. If he succeeds, one of that type of fish is removed from the pool at that location.

 

Environment: Basically just tells you whether it's freshwater or saltwater. This doesn't even have to be a programmed thing on each item, because it'll be built into the locations themselves, I think. Easy.

 

Catch Chance: This is where things get fun. You don't get free catches anymore. Some fish are harder to catch than others, my friend. Ideally, this will be based on the rarity of the fish as well as its average weight. Rarer the fish, harder it is to catch. Frustrating? Probably. Fair? Yes.

 

I've proposed what this stuff would look like in detail, and the devs are free to use this if they implement anything resembling this post. (Work in progress on the amount section, but you get the idea)

 

You'll notice some new locations on here, I get into those toward the end of the post.

The Reel Big Spreadsheet

4. Fish Gear

Yep. Gear.

 

There are three categories: rod, bait, and lure. These should be pretty self explanatory if you've ever done any real fishing or have heard of fishing before. If you want to make things WAY better and create a bit of roleplay, add a shop type that sells these upgrades and make it so you can only buy stuff from them when players are manning the store.

 

I haven't fully worked out specific details on these, but essentially the combination of the three items will provide different bonuses. These are some examples:

 

($100) Old Rod: Basic, allows you to fish for Very Common and Common fish.

($1,000) Good Rod: Allows you to catch Uncommon and Rare fish.

($5,000) Super Rod: Allows you to catch Very Rare fish.

 

Bait (is consumed when a fish is on the line, whether you succeed in catching it or not):

($50) Worm: Increases your chance of finding longer fish.

($10) Fly: Increases your chance of finding shorter fish.

($100) Chum: Increases your chance of finding rarer fish.

 

($1,000) Rubber Lure: Increases your chance to catch by 5%

($10,000) Weighted Lure: Increases your chance to catch by 10% 

($25,000) Realistic Lure:  Increases your chance to catch by 20%

 

...and so on.

 

You could go a couple steps further and add stuff like different types of fishing line, possibly other upgrades. Keep it simple or go all out, that's up to the devs.

5. How the Hell Do I Fish?/Which Commands Need to Be Added?

This is pretty simple, given what you know already from reading the rest of the post (which I'm sure you did, without skipping through any bits).

 

The old command would need to be thrown out, pretty much. You'd still do /fish, but you'd have to configure your options before you start otherwise you can't fish. Without proper gear, you can't do shit, basically. So, what you're going to need is the following:

 

/setbait <inventory item index>

/setrod <inventory item index>

/setlure <inventory item index>

 

Then you can do /fish. Those commands should be self explanatory, but in case you're confused: You're setting the bait that you're going to use, setting which rod you're going to use, and setting which kind of lure you're going to use. This uses the same item indices that you use to equip weapons, put items into vehicles, et cetera.

 

If the devs have a better way to do this, they're welcome to, obviously. This seems pretty simple to me though.

6. I'm Fishing. Now What?

Basically, here's what happens.

 

You've got your rod, your bait, and your lure all set. You've typed the magical /fish command. Suddenly, a fish starts to nibble on your line. You then type /cf or /catchfish, just like before - but you're also presented with a percentage chance. This is determined by the rarity of the fish and the equipment you're using. A pair of dice is rolled and weighed against your odds, and you either catch the fish or you don't. It's that simple.

 

Devs, a note here: since the largest fish weigh 1500g, make sure the script notifies the player when they've got 1499 or less free space remaining in their inventory. No one wants to miss out on the catch of their life because of inventory space.

7. I Fished. Now What?

Well, you want something for your work, right? I've got you covered. It's a little complicated, though, at least on the back end. For you it'll be pretty simple.

 

You've got the old option, although I think the sell locations should be mixed up. I'll leave that up to the devs and the admins because it's not really important. Anyways - old option: You arrive at the location, you sell your fish, you get an amount of money based on the type of fish you caught. Pretty simple.

 

The new formula would take into account the weight of the fish, and that's it. Pretty simple. Since the weight of the fish scales with the rarity and difficulty of catching it, you end up with a system that pays the most for the rarest fish, but you also get rewarded if you luck out and catch a MASSIVE (albeit not very rare) fish.

 

There's a new option, though, too. If you've ever used the car chopping menu at faction garages (but why would you? you're an upstanding citizen!) you'll be familiar with this concept. I like this one a lot.

 

Essentially, I'm proposing a "Catch of the Day" feature that allows you to get more buck for your bang. Restaurants, or maybe just the place where you sell your fish, will have a daily (hourly? six-hourly? whatever) list of fish that they desire. If you get them that specific fish, you get double the money you'd normally get for that fish. They're picky though, so they'll look at not only the species of fish, but also the weight of the fish. The list randomizes every time it reloads, so you'll usually end up with a different list with different sized (and species'd) fish. If the devs want, they can implement a range of length, a precise length, or a minimum length (or all three, for different difficulty) that the requested fish must be.

 

Mix this system with the scarcity of fish at certain locations, and the availability at certain locations, and you'll have fish fights left and right in no time. Roleplay created, bam. If you thought mining bodyguards were too far, just wait until the Salmon Wars start.

8. New Fishing Locations

There's a lot of unused near-aquatic space on the map. This section fixes that, hopefully.

Chumash

Type: Saltwater

Notes: Good view, next to a gas station and a boat shop (I think). Close enough to the city but far enough to get people out of the big spots.

Issues: Could have issues due to being next to "LS Adventures," but if anything I think they'd enjoy the publicity of having a fishing spot right next to their shop.

Image + Coords:

Spoiler

 

kT9tW3O.jpg

KRgwBty.png

 

 

Catfish View

Type: Saltwater

Notes: Nice place, not much to say about it. Will be good for the Sandy Shores/Grapeseed scenes.

Issues: None that I can see.

Image + Coords:

Spoiler

 

4hG3Ddj.jpg

QjLiPbW.png

 

 

Alamo Sea

Type: Freshwater? Saltwater? Who knows.

Notes: If we're following GTAV's lore, this lake probably doesn't even have anything living in it because it's toxic as fuck and super salty. If we want to sorta... Retcon that, or maybe play with it a bit, it'll be a useful fishing spot and give some competition to the existing fishing spot at Zancudo River.

Issues: See above.

Image + Coords:

Spoiler

 

frQMMYu.jpg

BZT99gi.png

 

 

Land Act Reservoir

Type: Freshwater

Notes: Pretty nice place here, actually. Large lake, nice outcropping to fish from. 

Issues: The tiny river near the central-western entrance to the landing gives motorcycles lots of engine issues, just barely. There are other, safer entrances to the landing further north, but the dangerous entrance is the closest one to Los Santos.

Image + Coords:

Spoiler

 

hN8VD7C.jpg

Haz6JlS.png

 

 

Lake Vinewood

Type: Freshwater

Notes: Good location, not a whole lot of area (volume?) on this one. Check the spreadsheet for how that might affect things. Also, there are two docks like the one I took the screenshot on - could use the second one instead (or both!)

Issues: I'm actually not sure if more managed reservoirs like this are populated with fish. From what little I googled some are, so take that or leave it.

Image + Coords:

Spoiler

 

i8tuZiG.jpg

aX8vU9V.png

 

 

Lago Zancudo

Type: Freshwater

Notes: Swampy and out of the way. Much smaller fishing area, on a small dock, but could realistically be placed anywhere near this location.

Issues: None, other than maybe the lack of a road that leads directly to the dock. It's just off the road, though, so I don't see that being a big issue.

Image + Coords:

Spoiler

FRsQ8zs.jpgQOzXhSU.png

 

Cassidy Creek

Type: Freshwater

Notes: Cool location, close to the main western highway so it could bring some additional activity to the nearby northwestern areas.

Issues: It's really close to Paleto Cove, an existing fishing spot. Could remove that one in place of this, it's much nicer. I included both on the spreadsheet.

Image + Coords:

Spoiler

 

kLv4DVw.jpg

iDHV9DN.png

 

 

Paleto Bay Pier

Type: Saltwater

Notes: Right next to Paleto Bay, an area that could probably use some more player activity.

Issues: One of the bridges to access it is busted, but it's still accessible from the southwest - where most people will be coming from.

Image + Coords:

Spoiler

 

wdpyCPI.jpg

uOGzZgU.png

 

 

?. FAQ/Possible Issues

 

...Why?

Fishing is cool, and deserves much better than what's currently integrated (no offense to the current system and those who made it). Games like Harvest Moon, Animal Crossing, and others have very nice systems for this sort of thing that are actually really fun to use while also making you some money on the side. On top of that, right now fishing is basically just a grind that gets you some extra cash. Imagine being able to make an actual fisherman (fisherwoman? fisherperson?) character that has some gameplay implications to back it up, while also not wanting to claw your eyes out from boredom.

 

Won't this destroy the economy?/Isn't this too profitable?/I hate money

Probably not. There are careful means in place in this guide to specifically prevent that from happening. If you don't understand how they work exactly, read this post again with this question in mind. Having a more fun fishing system means more people will want to do it, probably, so in that case - more people will be making more money. I don't think that's a bad thing, since everyone can do it equally and there are MUCH better ways to make money on the server once you get going.

 

Why are some of the gear prices so unrealistically expensive?

Basically, the same reason guns are so expensive. Because they're valuable and should have some work given toward them to acquire them. You gotta spend money to make money, and some of those items can make you a boatload of money. Literally.

 

Why are there fish species on the table that aren't found in California/Los Angeles?

Simplicity and neatness. I could go through and find every single fish you can catch in California, maybe even in the Los Angeles area, but not only would that take a lot of time - it would also kinda suck. The fish names start to get very regional, with colored variants and other varaints, and very boring. I prefer to have individual, short, memorable names for fish, and I'm sure the devs probably prefer that too. If you want to amend my list with area-accurate fish, be my guest, but I think you'll be wasting your time.

also it's really because most if not all of the fish are actually stolen from various animal crossing wiki pages and the folks at Nintendo ALSO don't give a fuck where the fish come from because it's a fictional setting

 

Why didn't you include boat fishing? Everyone loves boat fishing.

As cool as it would be, boat fishing would have to be super profitable otherwise no one would ever do it - and if it were super profitable, everyone would do it. There are no ways I can think of to implement something like that without it being either 1) a pain in the ass, 2) incredibly profitable, 3) boring as fuck, or 4) all of the above. So it stays un-included. It's simpler this way, trust me. Let's work on making land fishing fun and interesting before we go involving boat fishing in the mess.

 

Won't this make fishing the coolest job period, other than MAYBE roleplay jobs or mechanic?

Probably, but I don't think that's really a problem. I'd rather have one really cool job than have a bunch of bland ones. But if you want, I'll just overhaul the other ones too. Fuck it. If that's what it takes to get good fishing, that's what I'll do. Seriously. This is where we start, though, because it's easy and it's fun.

Edited by Crater
minor fixes
  • Upvote 4
  • Applaud 2
Link to comment
4 hours ago, Duke said:

All RPG jobs are getting sacked in the coming updates, maybe this will change @Nervous 's mind?

That's both good and bad, I suppose.

 

I support the focus on more roleplay-sided jobs, but there could be a way to mix the two in a meaningful way. Mechanics are currently a good example that forces something typically script-based to have somewhat substantial roleplay go along with it. 

 

Maybe adding some incentive for restaurants/businesses to buy different types of fish could work. Only employees of the shop could have access to the "catch of the day" list that I mentioned, and fish couldn't be sold otherwise (to fit with the new anti-RPG standard). 

 

I did have it in mind when writing this to only allow rods/bait/lures to only be purchasable at a tackle store, which would have to be manned by a player in a similar way to how Ammunation and mechanic garages currently work. 

 

Hopefully the new change doesn't completely make the original post irrelevant, but I guess we'll see. 

Link to comment
27 minutes ago, Crater said:

That's both good and bad, I suppose.

 

I support the focus on more roleplay-sided jobs, but there could be a way to mix the two in a meaningful way. Mechanics are currently a good example that forces something typically script-based to have somewhat substantial roleplay go along with it. 

 

Maybe adding some incentive for restaurants/businesses to buy different types of fish could work. Only employees of the shop could have access to the "catch of the day" list that I mentioned, and fish couldn't be sold otherwise (to fit with the new anti-RPG standard). 

 

I did have it in mind when writing this to only allow rods/bait/lures to only be purchasable at a tackle store, which would have to be manned by a player in a similar way to how Ammunation and mechanic garages currently work. 

 

Hopefully the new change doesn't completely make the original post irrelevant, but I guess we'll see. 

I think it's entirely unfortunate staff have decided to axe avenues of roleplay, such as fishing, because people are reaping the benefits of grinding. 

 

We should be adding more features and improving the ones we have, not removing them. 

 

EDIT: I was wrong, only mining is being removed. 

 

Looks like fishing is saved and your idea fits nicely in the direction it's going. 

Edited by Duke
  • Upvote 1
Link to comment
8 hours ago, Lance said:

Honestly, fishing should be allowed anywhere. Would be cool to go into the ocean with your friends or whatever and just relax and catch some fish.

I think it'd strip the system of some variety, but you're right that it would be cool. The issue would be designating areas in which you can catch certain fish, and you'd have a hard time implementing any sort of scarcity system. It's possible there's a way to implement something that I haven't thought of though that could accomplish that. Could be cool.

Link to comment
×
×
  • Create New...