Pixel Paw Productions home

Devlog · · Wyatt · 6 min read

Building a Fishing Minigame for a Pixel Art City

On the test pier: the rod taken up, a cast released in the sweet spot, and the float riding the swell until a bluegill takes the bait.

Fishing in Philadelphia Fiefdom is being built right now, and it's already a whole little game: a timed cast, a float that shows you what's nibbling, a fight you play by feel, and seventeen real fish of Philadelphia's rivers to catch. For now it lives on a test pier, away from the city, while I get it feeling right. A real spot in the city comes next.

This one breaks from the posts about how the city works. Last time I was knocking holes in rowhomes; this is the quietest thing in the game.

How does a cast work?

Walk up to the rail and take up the rod. Hold the trigger and a power meter swings up and down, a little slower than once a second. Let go in the sweet spot, near the top, and you get the full reach and a cast that lands right where you aimed. Let go early and it falls short. Let go too late and it overshoots and scatters, and there's a chance of a backlash: the line comes up short and the reel's tangled for a moment.

You aim with the stick before you cast, and you can swap rigs while you aim. There are eight, in three kinds:

  • Bottom rigs sit in a holder on the rail, with a bell that rings on a bite.
  • Float rigs hang the bait under a float you watch.
  • Lures only get bitten while you're reeling them in.

How do you know a fish is biting?

You watch the float. It rides the swell on a spring and leans with the water, and at night its tip glows.

Day: The same cast on the test pier by day and after dark, when the float's tip glows.Day
Night: The same cast on the test pier by day and after dark, when the float's tip glows.Night
The same cast on the test pier by day and after dark, when the float's tip glows.

A bite comes in two parts: a few nibbles, then the take. Each species nibbles in its own way. There are twelve of these tells, from little bobs to a slow drag under, each played as its own motion on the float. Strike on the take and you've hooked it. Strike in the first instant and it's a perfect hookset, which gives you an extra point of grip for the fight. Strike during the nibbles and half the time you spook the fish.

What's the fight like?

The line has a tension that runs from slack to snapping. Keep it too high for too long and the line breaks. Let it go slack too long and the fish slips the hook a little, and once it's used up your grip it pulls free. You manage it with the reel, by giving line, by setting the drag tighter or looser, and by steering.

The fish isn't just a number pulling back. It runs, turns, jumps, sulks on the bottom, shakes its head and tires, and each move is cued just before it comes, so you can read it and react. The rod bends under the load, most toward the tip, and the line is a real rope that cuts a V through the water and drifts down when it parts. When it's over, the catch gets a fight grade from S down to C.

There are plenty of ways to lose one: a broken line, a fish that pulls free, a wrapped line, a missed strike, a spooked fish, or one you drop at the rail.

How do you land it?

There's no net. A tired fish comes in at the surface. Stop reeling for too long and it recovers and fights again. Once it's at the rail it's lifted out on the line, so a heavy fish on a light rig can strain the hook and drop off. Then it's in your hands, and the camera pushes in with a focus pull for the catch shot.

A tired striped bass reeled in at the surface, lifted out, held up for its catch card, then let go back over the rail.

The catch card shows the species, its weight and length, any stamps it earned (new species, new variant, personal best, trophy size, a spot on the pier's board), and the experience it gave you. Then you choose: keep it or let it go. Some fish decide for you. A protected species always goes back, and an invasive northern snakehead is always kept, the way the real rules work. Kept fish go in a cooler with room for a few, the big ones taking more space.

Which fish are there?

Seventeen species, all real fish of Philadelphia's rivers: American eel, American shad, blueback herring, bluegill, channel catfish, common carp, flathead catfish, largemouth bass, muskellunge, northern snakehead, pumpkinseed, shortnose sturgeon, smallmouth bass, striped bass, walleye, white perch and yellow perch. There's also a legend to hunt, and thirteen kinds of junk to reel up.

Each fish's length is drawn from its species' real range, and its weight follows from its length. Trophy and citation sizes are the top tenth and top fiftieth of each species.

What bites when depends on the conditions, and none of it is random flavor text:

  • The season, with each species' own peak months and runs.
  • The time of day: dawn, day, dusk or night.
  • The water temperature, which follows the air's, about three game days behind.
  • The tide, moving or slack, on a real tidal cycle of a little over twelve hours.
  • The rain and the moon.
  • The bait. The right bait doubles your odds, and so does fishing near a sign on the water: a boil, nervous water, bubbles.

Some fish come in rare variants: albino, calico, leucistic, a scarred old veteran that runs bigger, a storm-run fish that only bites in heavy rain, and a moon-silver one that only shows up near the full moon.

What's the River Log?

Your fishing journal. It has three pages, for fish, legends and finds. A fish you haven't caught yet is a silhouette with a few hints about when and where to look for it. Each species' page shows your best, the variants you've found, how many you've caught, kept and let go, and the catches themselves, each with a photo taken as you held it up, the date, the weather, the tide and the moon.

The River Log's fish page, here filled in with a made-up test log: caught species with their bests, uncaught ones as silhouettes with hints.
The River Log's fish page, here filled in with a made-up test log: caught species with their bests, uncaught ones as silhouettes with hints.

What's still to build?

Plenty. The big one is a real fishing spot in the city, so this moves off the test pier and onto the water. After that: gulls, people stopping to watch, and a lot of tuning. I'll write it up again when it's in the city.

Quick answers

Where can you fish? Right now only on a test pier. A spot in the city is next.

Is there a net? No. Fish are lifted out on the line, so a big fish on a light rig can still get away at the rail.

Do you have to keep what you catch? No. You choose, except for protected fish, which always go back, and invasive snakeheads, which are always kept.

Follow along

Philadelphia Fiefdom is an online sandbox set in Philadelphia. If you missed it, the last post was about walls that break. Next up is what happens when a car catches fire. Join the playtest list to play it early, or come say hi on Discord (opens in a new tab).

Get updates by email

One email when there's something worth seeing: new footage, playtest invites, the day the Steam page goes up and launch day.

No spam. Unsubscribe any time. Privacy

Want to play early? Join the playtest list. Rather chat? Hang out on Discord (opens in a new tab).