Kadajah's Sea of Fishing - Fishing System for RPG Maker MZ
A downloadable tool
Kadajah's Sea of Fishing - Dynamic Fishing & Bestiary
Abandon boring text-boxes. Let your players experience real-time, dynamic fishing.
Are you tired of the standard "Press Enter -> You caught a fish" progression? Kadajah's Sea of Fishing completely overhauls how players interact with water in your RPG Maker MZ project. Inspired by the incredible, dynamic fishing system found in Sea of Stars, this plugin creates a highly interactive, real-time minigame right on your map.
Give your players the thrill of the catch. With mid-air bobber steering, dynamic camera panning, jumping fish mechanics, and fluid HTML/CSS rendered lines and tension bars, your fishing minigame becomes a massive gameplay feature in itself.
v1.0 Release Features: Includes a complete "Equipment System" (requiring Rods, Lines, and Bait), a dynamic camera that smoothly zooms between the player and the bobber, and a fully integrated "Fish Bestiary" to track catches, lore, and locations.
v1.1 Update: Added Map Notetags for "Water Currents" (<FishingCurrent: dir force>) that physically sweep the bobber and fishes down rivers or ocean tides.
v1.2 Update: Added the "Predator Fish" mechanic. Predators are giant fish that ignore empty hooks—they will only bite if a smaller fish is already struggling on your line!
v1.3 Update: Inclusion of "Boss Fishes" with customizable glowing auras, customizable capture screens (using sprites or large HD images), and the <Fsprite: name, index> notetag to automatically change the player's graphic while fishing.
Technical Note regarding Audio/Visuals: Because this plugin injects custom HTML/SVG elements over the game canvas for the fishing line and UI, it runs incredibly smoothly at 60FPS without causing sprite lag, while allowing for stunning CSS-based neon line glows and gradient tension bars.
Key Features
- Action-Packed Minigame Mechanics:
- Mid-Air Steering: Control the trajectory of your bobber while it's flying through the air using left/right inputs.
- Tension System: Hold OK to Reel. If the fish pulls hard, the line turns Orange/Red! Stop reeling and hold the opposite direction to tire the fish out and lower tension.
- Stun Mechanics: Fish will occasionally leap out of the water. Press the action button at the exact right moment to Stun them, dropping tension instantly!
- Deep Fish Customization: Not all fish are created equal. Customize their swim speed, struggle difficulty, escape chance, specific required baits, and even give legendary fish their own custom Struggle BGM and Victory ME.
- Visual Customization:
- Fish Visiblity: Choose whether fish appear as realistic underwater Shadows or full Sprites.
- Line Styling: Customize line thickness, dashed styles, and add electric/neon CSS glow effects to rare fishing lines.
- Boss Auras: Give legendary fish pulsing, colored auras in the water so players know exactly what they are hunting.
- The Equipment System: (Optional) Open a sleek custom UI before casting to select your Fishing Rod (determines cast distance), Fishing Line (determines tension resistance), and Bait (required for certain species).
- Integrated Fish Bestiary: A beautiful, fully-featured Bestiary menu that automatically records fish as they are caught, displaying their location, difficulty, speed, lore description, and animated sprite.
The Auxiliary Setup: Region-Based Spawning
Stop placing invisible events manually. Design your fishing spots seamlessly.
Instead of setting up complex eventing for every single pond, this plugin uses a smart Region ID spawning system.
- Paint your Water: Simply set your Water Region IDs in the plugin parameters (e.g., Region 1) and paint the water on your map.
- Map Notetags: Add <FishingList: Pond> to your Map Properties. The plugin automatically reads your Fish Database and spawns the correct quantity of fish randomly swimming within your painted water regions.
- Fluid Movement: Fishes will naturally wander, dart, turn, and stay strictly within the painted water boundaries.
Creative Gameplay Mechanics
- The "Bait and Switch" Catch: Utilize the "Is Predator?" setting. Place a massive, legendary shark in the ocean. The player must first hook a small fish, keep it on the line without catching it, and wait for the Predator to attack the struggling small fish!
- Environmental Hazards: Use the Water Current notetag to create raging rivers. The player will have to calculate the current's speed, steer their bobber mid-air, and fight the fish while both are being swept downstream.
- Sealed Progress & Quests: Tie specific fish directly to your game's logic. Use the "Switch on Caught" or "Variable on Caught" parameters to make a specific catch open a dungeon door, complete a quest, or trigger a Common Event.
Perfect Game Examples
- Cozy Games & Farming Sims: Essential for games where fishing is a primary loop. The Bestiary gives completionists a massive goal to strive for.
- JRPGs: Add an engaging side-activity that rewards players with unique consumable fish or items to trade for ultimate weapons.
- Open World Games: Create diverse biomes (Lava Fishing, Ice Fishing) by creating new items (Lava Proof Line, Ice Rod) required to fish in those specific maps.
Compatibility & Requirements
- Engine: RPG Maker MZ.
- Platforms: Windows, macOS, Linux, Web Browsers, and Mobile.
- Inputs: Supports Mouse, Touch, and Keyboard/Gamepad navigation (Z/Enter to Cast/Reel, Esc/X to cancel/cut line, Arrows to steer/pull).
Technical Specs & Plugin Compatibility
Built for stability. Designed to play nice.
The Kadajah Sea of Fishing System uses Method Aliasing for 100% of its core engine modifications. This means it does not delete or replace standard RPG Maker code, but rather "adds" its functionality on top of it. It uses native HTML DOM elements securely placed over the canvas to render the UI, ensuring zero lag on the WebGL renderer.
- Modified Classes: The plugin safely extends Game_Map, Game_Player, Scene_Map, Spriteset_Map, and Window_MenuCommand (for the Bestiary).
- Plugin Suite Compatibility:
- VisuStella MZ: Fully compatible. The custom UI elements are assigned high Z-indexes to sit cleanly above map HUDs, and the input handling disables player movement safely during the minigame.
- MogHunter / HUD Plugins: Compatible. The fishing minigame pauses standard map interactions smoothly without destroying weather effects or HUD elements.
- Save Files: This plugin adds new caught-fish data to Game_System. Adding the plugin to an existing save file is generally safe, though starting a New Game is recommended for perfect Bestiary initialization.
Terms of Use
- Commercial and non-commercial projects: Allowed.
- Redistribution: You are NOT permitted to resell or redistribute this plugin (js file), either on its own or as part of a bundle.
- Editing: You ARE permitted to edit the plugin's code for your own project's use. However, you are NOT permitted to redistribute the edited version of the plugin.
Purchase
In order to download this tool you must purchase it at or above the minimum price of $4.49 USD. You will get access to the following files:
Development log
- Update v1.3 - The Fatigue System75 days ago







Comments
Log in with itch.io to leave a comment.
Hi Kadajah. Thank you very much for the plugin! Can you please help me? In the example project, if I have no fish active on the map, I can cast, reel, etc. and everything runs at full speed. But if I add even one fish to the map, my FPS drops to 10-20 both when fishing and when just walking around. How can I speed things up?
Edit: It seems to be tied to how many region tiles there are - If I reduce the region area to just a few tiles, it goes back to full speed.
Hey Jare, how are you?
Recently I've noticed that some video cards aren't rendering the water effect correctly. This is causing polygon buildup and a general drop in FPS. I can try to diagnose if this is exactly your case, but to try and solve it more comprehensively, I'll release a version of the plugin tomorrow where you can disable the water effect and use RPG Maker's own textures and effects. This should improve performance and maintain a high frame rate. I'll post a video later showing the behavior in the test project, and we can discuss which solution best suits you.
What do you think?
Thank you for your message and all your support. I guarantee we'll solve your problem and find the best solution.
Thank you for the fast response!
I don't think it's the water textures - it seems to be the pathfinding for the fish, because if I reduce the regional tiles that they can swim around in, the FPS improves.
I also have one more question: Is there a way to increase the max casting distance above 10? Right now, if I set it to 20 and the rod's casting distance to 20, it still snaps back to the 10 distance after casting.
I'll keep that in mind; the video I'm going to post shows exactly the behavior seen in the presentation video, there's no FPS drop.
Are you using an item system (like rods, line, and hooks)? If so, just create a rod item with a distance greater than 10.
Ok, I just tested it again, this time disabling the Equip System. I set the Max Cast Distance to 40, and when I cast, it still casts the same distance as when it is set to 10.
Edit: Also, the difference between 9 and 10 in Max Cast Distance is huge for me - At 9, it only casts a few tiles out, but at 10 it goes much, much further.
I did a quick test on the base project (the same one from the demo available for download). I changed the size of the available area and the distance, and I didn't notice any significant FPS drops. Could you compare this behavior with what you're experiencing? I'll carefully check the distance issue.
And again, any errors or problems you have, we will resolve them! If you use Discord, I can give you more comprehensive support by analyzing each point individually.
Finally a fishing system with in-water visible fishes! So cooooool.