Skip to content

Stephenson-Software/FishE

Repository files navigation

FishE

Run Unit Tests

This game allows you to explore a fishing village and perform actions in it.

Features

Play in your browser (web interface)

FishE runs behind a single user-interface contract, so it supports multiple front-ends: the default text/console interface, a pygame window, and a browser-based web interface. To play in the browser, run the example web app and open the printed URL:

python3 examples/web_app.py
# then open http://127.0.0.1:8000

The entire game — save-file manager, fishing, shop, bank, tavern, and NPC dialogue — plays in the browser, with no extra dependencies (it uses only the Python standard library). Adding a new front-end means implementing BaseUserInterface and adding a UIType + factory branch.

Your Goal

Build a fortune of $10,000 in total wealth (cash on hand plus savings in the bank). Your progress toward the goal is shown in the status header, and reaching it earns a one-time victory — after which you're free to keep fishing or retire from the Home menu.

Fishing Business

Once you can afford it, buy a boat at the docks ("Manage Boat & Crew") and hire workers. Each day your crew brings in a passive catch in exchange for a daily wage — turning saved-up money into ongoing production. If you over-hire and can't make payroll, the workers you can't pay quit, so keep enough cash on hand to cover wages. Changed your mind? You can sell the boat back at any time for a portion of its cost, same as walking away from a home or investment property — any remaining crew is let go along with it.

Home Ownership

You start Homeless — no home, and a low energy cap to show for it. From the Home menu, choose Manage Home to work your way up a housing ladder: Homeless → Rented Room → Driftwood Shack → Cozy Cottage → Sturdy Cabin → Waterfront Manor. Renting a room costs a daily fee (charged automatically each morning — miss a payment and you're evicted back to homeless) but builds no equity, so it's a bridge, not a destination. Buying a home costs money up front but is a real asset: moving to a different owned tier trades your current place in for the target one, so the price is the difference between what you get back for your old home and what the new one costs — moving up costs money, moving down (even back to renting) puts cash back in your pocket. Every rung raises the energy cap you refill to when you sleep, letting you fish longer between rests.

Investment Properties

Separately from where you live, you can build a real-estate portfolio. At the bank, choose Manage Investment Properties to buy rental units around the village — Dockside Cottage, Fisherman's Rowhouse, Harborview Flat — that you don't live in yourself. Every unit you own pays out its own daily rental income automatically each new day, alongside bank interest and any crew wages, and any unit can be sold back for a portion of its price.

Fishing

Cast a line at the docks to spend a random 1-10 hours fishing (10 energy per hour, so you need at least 10 energy to start). When a fish bites, react as fast as you can to set the hook — the faster you react, the better the catch quality, and a better rod (bought at the shop) gives you more time to react. What you reel in also depends on the day: fish feed best at dawn and dusk and go quiet under the midday sun, and the weather — rolled fresh each morning and shown in the docks description — can help (rain) or hurt (storms) your haul on top of that. Which species you land is random and weighted by rarity, from common Minnows to rare, high-value Golden Koi.

Milestones

Lifetime stats — fish caught, money earned, hours spent fishing, crew hired, homes owned, and more — unlock milestones as you reach their thresholds, from your very first catch up to owning the finest home in the village. Each milestone is announced once, the first time you reach it, even across save reloads.

Selling Fish

Sell your catch at the shop. The shop has a limited amount of money each day that refills overnight, so a very large haul may sell out the shop and need to be finished the next day — sell regularly, and park your earnings in the bank or reinvest them in gear and your crew.

Multiple Save Files

FishE supports multiple save files, allowing you to maintain different game progressions simultaneously. When you start the game, you'll see a save file manager that displays:

  • Existing Saves: each save slot is listed with a snapshot of its progress (Day, Money, and Fish count)
  • Create New Save: Start a fresh game in a new save slot
  • Delete Save: Remove unwanted save files
  • Load: Pick any existing save slot to continue your adventure

Each save file is stored in its own slot (slot_1, slot_2, etc.) in the data/ directory, ensuring your saves never conflict with each other.

Contributing

This project uses a simple, trunk-based branching model:

  • main is the single long-lived branch and the source of truth.
  • Branch off main for any change (e.g. feature/..., fix/..., chore/...).
  • Open a pull request back into main. CI runs the test suite on every PR.
  • Once CI is green and the change is reviewed, merge into main and delete the feature branch.

There is no develop branch — work flows directly off of and back into main.

About

Explore a fishing village and perform actions in it.

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages