What Makes a Fishing Mechanic Feel Good?
Researching the Catch Mechanics in Fishing Games (devlog 05)
Hey! It's me Phi
More research than implementation this week, although I managed to get some simple changes in to improve the feel of the cast and reel mechanic. Specifically bobber line animation and adding a bit of bobber idle when steady, and a little drift when reeling in. It’s subtle but I feel like it makes a big difference…
Moving onto the next hurdle, just like the last, I started more research into the many catching mechanics out there. This is where the magic should be. This is where you should feel excited because you’ve hooked your fish and ready to turn fishing into catching. However, the more research I did, the further into the black hole I went. This time has left me even more confused about which ones to implement. There’s a lot of different implementations out there already, so what makes a good fishing mechanic feel good? No ideas yet, but lets take a look at what’s out there.
Common Catching Mechanics
The common ones are easy to implement, and I'll probably start here. Soooo many to choose from it'll be hard to pinpoint which will be right. It might be just a matter of prototyping each one and seeing which one feels better in game. I'd like to try and differentiate from what's already out there by combining a few of these...
Random Number Generation (RNG) - probably where everyone starts, and it makes sense. It's simple, easy to implement, and just requires some checks to get you going straight away. Player skill, gear stats, bait, weather, location, fish rarity, etc., can feed into this calculation, but ultimately it's a 'dice roll' in the end to determine success. One big drawback is the lack of player agency... it can feel unengaging and luck-driven. Some RNG fishing games, like Roblox Fisch, even highlight "luck" as a stat on the rod to emphasize this.
Fish Collision Detection - another straightforward method where catching happens when the bobber makes contact with a fish object. It's visually clear and easy to understand, but leads to an important decision you have to make early on... whether or not you actually show the fish (or shadow of the fish). This is classic Animal Crossing.
Balance Meter - made popular by Stardew Valley, this has become a common solution that also introduces a minigame. This is definitely a more active mechanic, so it may not be the right choice if we're going for cozy. I always found Stardew as a cozy game but the fishing mechanic being a little stressful. The main risk is it becoming repetitive if it's the only mechanic involved in the game loop.
Reaction Test - creates a lot of tension that mimics the fishing hook set. It offers a lot of direct player interaction and actively forces the player to pay attention for quick reactions to catch fish. I find that you do get some player fatigue after a while because there is so much tension and repetition. But you do have to have a hook set so integrating some downtime with another mechanic may balance the overall feel here.
Tension Reeling - involves continuous player input to fight the fish's movement, like moving the rod opposite the fish's pull, while also managing a tension meter to avoid snapping the line. It combines aspects of tracking and resource management. Sea of Stars does this one the best IMO. It both looks good and feels really good…
What are other fish catching mechanics out there that I'm missing?
Unconventional Fish Catching Mechanics
Rhythm Input - focuses on timing the reeling with specific visual cues. Dredge comes straight to mind here (really great game I'd recommend if you haven't tried). Press the button at the right spot, with the right timing. Simple as that... and such a fresh take on the catching mechanic. I like this as it creates a more active and engaging feel, without making it feel too repetitive since the zones change up depending on difficulty and species…
Physics-Based - aims for a Tug-of-War feeling by simulating the physical forces involved... line tension, fish momentum, water resistance, etc. If full-on fishing sim immersion is the direction, this is probably where I'd go. However, it's definitely more difficult to implement, and potentially too much like real-life fishing. I mean, fishing IRL is pretty slow and boring to begin with, so making it fun is the hard part.
I'm still a little torn on which direction to go with. It will require more thinking, research, and prototyping to see what else might work. I'll start with RNG and simplicity first and then go from there. There’s probably a balance here again with not making it feel too repetitive and keeping it refreshing. There’s another idea I want to try out before investing too much time in the catching mechanic. But that’ll have to wait until the next.
For me personally it's about the simplicity. The way you mentioned and show the Sea of Stars example is great. It's graphically one of the best, but they just keep it to the tension line being red/white and you've caught a fish with a nice auditory response. Might work to just make it function and then see what polish you need after. Great post!