It could be even more simple than that. Just have a square in the water which isn't a collision tile, and a Fish NPC spawnpoint there. You click the Fish (which has a name eg Mackerel, Sardine, Perch, Salmon, Trout......) and it says one of the following:
You need a [rod, net...] to catch that fish!
You don't have the right sort of bait to catch that fish. Talk to Ol' Salty at the Hurnscald port to find out more.
The fish bites your line! [continue]
So, you click to continue. Then a random number is picked, and the rarer the fish the higher the range. Mackerel and Sardine might be from one to three, Tuna from one to five, Banded Jelly-Eel from one to twenty. Then you select a number, and if you get it right, you catch the fish. Or it could be something like the Green Dye puzzle: You reel in too hard, and the fish jumps out of the water before pulling away again. Reel more gently next time. Or, You'll have to reel harder than that for a fish this size! But if you are too far out, the fish gets away. Eg, on a range of from one to one hundred, if you are more than thirty numbers away from the correct one, the fish escapes.
Different fish take different baits, also, and perhaps some fish, even though you know their type, take different baits in different regions, so you have to try a few different baits.
Content and general development discussion, including maps, quests, and server code from the development team.