Skip to content

Arcade › Cursed Catch

Cursed Catch

  • 3d
  • fishing
  • horror
  • collection
  • arcade
  • top-down
0
Remix it Discord

5 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Lucas Alexander built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Cursed Catch yet. Play it, then tell Lucas Alexander what you would add next.

Make your own game

Cursed Catch was built by Lucas Alexander with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Cursed Catch opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Cursed Catch

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a playable 3D top-down fishing collection horror game titled “Cursed Catch.” Use a dark, foggy night lake as the setting: a broad deep-blue water plane with a subtle square grid, heavy vignette, dim blue moonlight, and an old wooden dock at the far/bottom side of the play area. The dock is made of separate brown planks and posts, with two crates and two lantern props near it. Use a follow camera positioned high above and behind the player boat, looking toward the boat and slightly forward; smoothly follow the boat as it moves.

The player controls a small fishing boat on the lake. Show a Kenney-style fishing boat when available, with a simple blue rectangular boat fallback, and a visible fishing rod. Move freely across the lake with WASD or arrow keys; clamp movement to approximately x/z -55 to 55 and rotate the boat in its travel direction. On touch devices, provide a translucent circular joystick at lower left and large round CAST and REEL buttons at lower right. The boat gently bobs on the water.

Populate the lake with moving fish targets. Spawn approximately 14 initially, then add fish periodically up to 20. Fish wander continuously around the lake, bob slightly, rotate in their travel direction, and reverse when reaching the outer boundary. Use five collectible types: normal “Silver Shiver” (cyan, 12 points), normal “Lantern Gill” (green, 18 points), cursed “Gravebone” (pink, represented by fish bones, 45 points), cursed “Red Choir” (red, 65 points), and cursed “Void Maw” (purple, 95 points). Normal fish should be smaller; cursed fish should be larger and glow/tint in their identifying colors. Normally choose a cursed fish with a gradually increasing chance based on score, capped around 52%; before sanity gets low, replenishing spawns can be forced normal, while low sanity allows the normal/cursed chance again.

Implement the fishing loop. Press Space or CAST to cast; casting is unavailable while already casting or fighting. Cast a short distance, about 4.2 units in front of the boat, and show a cyan target ring at the cast point plus a bright fishing line from the rod to the target. The cast lasts about 1.85 seconds. A nearby fish bites if it remains within roughly 1.15 units (normal) or 1.4 units (cursed) of the target for about 0.35 or 0.22 seconds, respectively; otherwise the cast ends with “No bite.” When hooked, display a fight panel and REEL button, attach the line to the moving hooked fish, and show the hooked fish name as “Normal fish: [name]” or “Cursed fish: [name].”

During a fight, holding Space or REEL drains fish stamina but increases line tension, with cursed fish draining more slowly and creating heavier tension spikes. Releasing the reel rapidly reduces tension, while the fish recovers stamina somewhat. Display two horizontal meters: “Fish stamina” and “Line tension.” Start normal fish at about 78 stamina and cursed fish at about 115. Catch the fish when stamina reaches zero. Snap the line when tension reaches 100: show “THE LINE SNAPPED,” lose 6 sanity, create a brief horror flash, release the fish, and hide the fight UI. The player must balance reeling and releasing rather than holding continuously.

On a successful catch, add the fish to a Fishdex with per-species counts, award its point value, remove it from the lake, and spawn one replacement for a normal fish or two replacements for a cursed fish. Normal catches recover 3 sanity (capped at 100); cursed catches lose 12 sanity. Show a large temporary centered message: “CAUGHT: [name]” for normal fish or “CURSED: [name]” for cursed fish. Cursed catches also trigger a stronger brief background/horror flash; normal catches have a smaller flash. Play a subtle click/catch sound after user interaction if audio is available.

Build the HUD exactly around the visible game rules. In the upper-left, use a translucent dark rounded panel with cyan border and the title “CURSED CATCH,” then show “Score: [number] · Normal: [count] · Cursed: [count]” and “Sanity: [0-100]% · Depth: [label].” Depth reads “Shallows” initially, changes to “Black Tide” when score reaches 120, and “Cursed Depths” when at least three cursed fish have been caught. On desktop, show an upper-right translucent instruction panel: “WASD / arrows steer the boat. Space casts. When hooked, hold Space to reel — let go before tension snaps the line. Cursed fish hit harder but score higher.” On the right, show a Fishdex panel listing caught species and counts, with cursed entries in pink; initially say “Nothing caught yet.” During a fight, show the centered lower fight panel with the two meters. Use pale blue/cyan typography, dark translucent glass panels, soft shadows, and high-contrast pink/red cursed accents. Keep the atmosphere sparse, ominous, and readable over the lake.

Add a dark radial vignette around the screen. As sanity falls below 35, make the fog much denser and darken the water; keep sanity at zero rather than allowing negative values. Include only the mechanics described: steering, casting, bite detection, reel/tension fights, catching, snapping, score/sanity, spawning, Fishdex, dock scenery, and the HUD. Expose optional state helpers equivalent to getGameState (player position/rotation, score, sanity, normal and cursed counts, casting state, hooked fish stamina/tension, and fish count) and setGameState for position, score, sanity, and casting.

More free browser games

Browse the whole Arcade →