Stillwater
- 9 Devlogs
- 44 Total hours
a cozy terminal fishing game in rust
a cozy terminal fishing game in rust
registry is DONE and it’s a chunky one.
45 species total including a few legendaries hiding at the bottom of the rarity tablegave the legendaries proper standout glyphs and brutal difficulty so they feel like eventsstarted the bait registry, 6 baits so far, each shifting bite odds and which species show interestsanity-checked the whole list for dead entries one more time.45 fish feels like the right amount, enough to fill a journal without me writing content until winter. good night’s work.
kept feeding the registry and wired up the lookup side.
more species in, edging toward the deeper and rarer end nowadded the fish lookup so systems can query by id or by what’s currently biteableintroduced the Catch type, a caught fish plus its rolled size and the conditions it was landed inCatch is what the journal and shop will eventually pass aroundgetting close to a full roster. once lookup and Catch are solid the actual fishing can start pulling from real data.
more fish. head down, tables growing.
another batch of species across the seasons, some spring spawners and a couple summer night biterstuned size ranges so the same species varies believably, a small bass vs a hefty onedouble checked every entry lists at least one valid water and time or it’d never be catchableno new systems, purely contentjust filling the registry out. it’s oddly relaxing writing little fish biographies after work.
the fun part begins. defining what actually lives in the water.
laid out the fish registry, each species carries name, glyph, valid seasons, waters, times of day, rarity, size range, difficulty, sell price and a bait preferencegot the first handful of common species written, your bluegill and perch tierrarity and difficulty are separate on purpose, a fish can be common but a pain to reeleverything is plain data, no serde, just const-ish tablesthis is the content grind i’ve been looking forward to. going to be a lot of nights of just adding fish.
weather came alive tonight and it already changes how the game feels.
7 weather types in: clear, cloudy, rain, storm, fog, snow, windyeach one nudges fishing, rain perks up bites, storms open the door for rare stuff, fog is moody and slowweather picks per day weighted by season, no snow in summer thankfullystarted the fish registry, the big onerain making the lake livelier is exactly the kind of small texture i wanted. onto the actual fish.
short session but still good progress
calendar is done: 4 seasons of 28 days each, so a clean 112-day yearday rolls into season rolls into year, all wrapping correctlywrote a couple tests for the boundary days because off-by-one on day 28 would haunt mestarted stubbing the weather systemnot much to show, just the machinery that makes tomorrow actually be tomorrow.
time is a surprisingly fiddly thing to model. season module now has Season, TimeOfDay and WaterType, built the in-game clock, days run 6am to roughly 2am and advance in 10-minute tickspassing out or sleeping rolls it forward to the next morningstarted the calendar on top of itspent way too long deciding when “night” begins for fishing purposes. settled on it, moved on. WaterType is going to matter a lot once fish exist.
good chunk of the skeleton went in tonight.
finished tile, every variant has its glyph and walkability nowmap is a 2D grid with bounds checks and a walkable() querysketched the player struct: position, facing, energy, gold, equipped rod and baitbegan the season enumsstill can’t do anything but it’s starting to have shape. the player just sits at a Point staring into the void, which is honestly relatable.
first real evening of code. mostly laying pipe under the floor.
added a .gitignore so target/ stops following me aroundwrote geom with Point, Dir and Rect helpers, the small stuff everything else leans onrolled my own rng, a seeded splitmix64. std only, no getrandom, i want catches to be reproducible from a seedstarted the tile module, the enum and per-tile glyphsno graphics, no game, just the vocabulary the rest of the code will speak in. slow but satisfying.