Most fishing games sit at one of two extremes. Cozy and casual minigames on one end. The Stardew Valley, Animal Crossings. Simple, fun, and easy to pick up. Then there’s Hyper-realistic sim on the other end. The Fishing Planet, Call of the Wild:The Angler. Those come with line tension, rod tuning, hundreds of lures and physics. There’s not much middle ground.
And when you look at what’s underneath, the fish is the same. It’s a spawn point with a bite chance, RNG (random number generation) and not much else.
That gap is exactly where I want to land. Somewhere between a fun mechanic that isn’t so punishing and fish behavior that is rewarding. The more I’ve thought about this game, the more I keep coming back to one answer to start with…
The fish has to be real.
make bass act like a bass
No single study had the whole fish, so the brain I ended up building is stitched together from a handful of them. The spatial side from one, the growing and the dying from others. A bass that actually lives in the lake, sits where it sits for a reason, grows, gets old, dies, makes more bass. Realistic, from real data. A believable bass has to do four things, and they’re all behaviors.
It has to know where to live.
It has to know how deep to sit, and how to move when the water or weather shifts on it.
It has to grow.
It has to die and reproduce.
Space, depth, growth, mortality/recruitment. Get those four moving together and the lake starts being a system. An ecosystem. A simulation.
real-world reference, the actual research
I started a procedural lake bed generation solution before. It was mostly a noise map and a height map pushed into terrain. It worked, technically. It also looked like a Rorschach test, random in a way that doesn’t really mean anything.
So this week I went into refactoring the lake’s floor. I started with the made up terrain, but then quickly threw it out for the real thing. Texas reservoirs are actually surveyed, and the state publishes the bathymetry1 (yes, I had to look up that one) as shapefiles and rasters. Real depth readings of a real lake bed. An actual lake floor, not a noise field doing an impression of one.
The sim itself has no graphics. The Sim Core is what I’m calling it is in plain C# recorded into .js for engine import. It’s a the simulation model, built that way so I can continue to update the behavior, and Unity can draw from it later without ever touching the logic. Which meant that before the engine ever came into it, the only way to see anything at all was the terminal. So I render the lake as ASCII, a ramp of characters standing in for depth...
.:-=+*#%@
deep water heavy and dark, the shallows fading out to nothing.
Watching the lake bed show up as text for the first time was pretty cool. It really started to feel like it being being a place. And it makes for surprisingly good ASCII art.
that’s the soon to be sim
Of course no fish yet, but the foundation is there, a lake floor pulled from real survey data, and soon fish that actually lives on it.
And There’s no game wrapped around it either. But there’s bones to it... or should I say... brains to it. A bass that knows where to sit, when to move, how to grow, and how to die, swimming over a lake bed that genuinely exists.
Next week, we’ll see what happened when I flip the switch on all these number. Hopefully we;ll see the whole thing came alive.
Bathymetry - the study of underwater depth of ocean floors (seabed topography), river floors, or lake floors.




This sounds amazing! Im excited to see what happens next, i really love the lake generations you have.