I've always enjoyed fishing in video games which is funny because I've never really spawned an interest in fishing outdoors. Don't get me wrong, I love being out in nature but for some reason fishing has never baited me in. Ok, ok, I'll stop. There just doesn't seem to be much to do. I know it has something to do with all of the waiting. All you do is pick your bait, cast... and wait.
I'm not a gambling man and maybe that's why even catching a fish doesn't thrill me. Perhaps there is some skill involved but I mostly ascribe the accomplishment to luck.
I want fishing that involves more of the tactical and less of the random. My favorite fishing scenarios in video games allow some degree of control that gives a sense of accomplishment more than that of a dice roll.
One of my earliest experiences with fishing in video games was in Breath of Fire 2. There was a bit of randomness in the type of fish that would spawn and simply finding a fishing spot was sometimes an exercise in frustration, but in the end I still found it very enjoyable. Adding to that enjoyment was the discovery of tactics that would help you to catch the fish you wanted.
The perspective was from a side view so you could immediately see what fish were available. You could try and cast directly above the fish and wait for the bait to sink in front of the prize you wanted. Casting closer was better because while dragging in the fish the line would sometimes break. If the fish was close to begin with it was an almost guaranteed catch. In the end, I'm not sure that having the line break actually added to the experience.
In Zelda Ocarina of Time's fishing your line would occasionally break. I suppose it was intended to add to the thrill of the catch and make it seem more challenging. To me it seemed more like an arbitrary difficulty factor that had nothing to do with my skill as a player.
A more recent experience I had was in Torchlight and that was a complete pull of the proverbial slot machine. Firstly it was a reflex test as catching the fish involved tapping the button at the exact time that an oscillating circle overlapped another. The worst part was that said circle would often fake you out when nearing an overlap and suddenly change directions at the last millisecond. You would click and you would fail. The game designers must have had a laugh when they programmed that behavior but I would just grumble at it.
When you actually caught a fish the type was completely random as well. You had absolutely no sense of control over the experience. The variety of fish was discovered through a random dice roll and thus you would pull up the most common of the fish most of the time. It made it seem like there was a small variety of fish whether that was actually the case or not.
Getting it right
In Catapult for Hire, fishing is core to the game. Some of the best catapults and upgrades require you to find some of the more rare species. As such I need to make sure it is an enjoyable experience. Unlike Torchlight where you still had an enjoyable game with a sub-par fishing system I feel that this game lives or dies in getting the fishing right. So, let's address each of the issues I've identified as not fun and how Catapult for Hire is different.
Each of the Fish are unique. Some fish are heavier than others. Some like sparkly things and other fear them. Each has interest in certain payloads and hooks and some will only show up when they're interested. Even when you discover a way to catch a particular fish there are still other, sometimes more efficient, ways to get them out of the water and into your inventory. Each fish yields components that can be crafted into better equipment and some are extremely rare.
Locating fish in a 3D fishing game was an interesting proposition. In Zelda you would have Navi there to hover above the fish through z-targetting. In Catapult for Hire I've tried to simplify all of the systems to the core of the game, throwing.
There isn't an aerial camera mode, there isn't a fishing mode, there is no need to switch into a different mode. Learn how to throw and you understand the whole game. How do you explore levels? You throw. How do you find fish? You throw. Essentially you are throwing the camera into the environment. As your payload sinks into the water you can watch as you not only discover the location of the various fish, you also discover how they respond to that particular payload.
Catching a fish involves learning how the fish behave. Each of the fish species has it's own likes / dislikes. Skill and percieved difficulty isn't introduced by factors that are out of your control. You are trying to explore and understand the underwater world. Your intuition as a fisherman is what will score you the fish, not Math.rand().
All of these things will (I hope) contribute to creating a believable world full of life and wonder with the intrinsic motivation that comes from wanting to discover new things.