My reef sim's fish were swimming through the algae they weren't eating — fixed it with a 27-year-old steering behavior I didn't know I'd half-implemented already
▲ 7 r/aigamerdevs+5 crossposts

My reef sim's fish were swimming through the algae they weren't eating — fixed it with a 27-year-old steering behavior I didn't know I'd half-implemented already

Small technical post. I've been building a boids-based reef sim (fish graze, sharks hunt, decomposition feeds new growth). Added chunk avoidance a while back so creatures wouldn't swim straight through debris — worked fine, but only for chunks. Fish still swam right through algae nodules they weren't currently targeting.

Went looking for the "right" way to think about this and found out I'd already been implementing Craig Reynolds' 1999 steering taxonomy without naming it — force_separate, force_align, force_cohere, force_arrive map exactly onto his Separation/Alignment/Cohesion/Arrival. The piece I was missing had a name too: Obstacle Avoidance, listed right alongside Seek in his original paper. Not a new mechanic — the one I hadn't built yet.

Generalized it: every creature now avoids every nearby "node" — algae or debris — except whatever it's actually seeking. Sharks that have never had a reason to notice algae at all now dodge it in their path without ever being drawn toward it. The reef reads noticeably more alive with almost no new code, just the missing 20% of a pattern that was already 80% there.

[Link to Itch]

u/FamiliarAnxiety9 — 18 days ago
▲ 22 r/ClaudeGameDev+9 crossposts

VoidDrift — idle space mining game in Bevy 0.15, runs on Android + browser (no sprites)

Built a mobile idle game with Bevy 0.15 + egui. No sprites anywhere —

all visuals are procedural geometry drawn with egui's painter API.

Runs on Android and WASM.

You mine asteroids, automate a drone fleet, and receive transmissions

from something watching near the black hole.

One technical thing the Bevy community might find useful:

egui::Window click events are unreliable in bevy_egui 0.33. All

interactive UI uses painter + ui.interact() instead. Took a while

to land on that pattern but it's solid now.

Play in browser: https://rdug627.itch.io/voidrift

Source (MIT): https://github.com/rfd62794/VoidDrift

Prototype — more orbital rings and drone types in progress.

Mobile feedback especially welcome.

u/FamiliarAnxiety9 — 10 days ago