Wilden Dawn

Explore lineages across generations

By Robin Dowling ยท 2 months ago

Following an organism gives you its perspective, but it doesn't tell you much about the organism itself. I wanted a way to see detailed information: family relationships, health, age, fears, diseases, pregnancy status, in addition to the sparese information in the label.

I added an inspect organism panel that displays comprehensive data about the organism you're following or controlling. Press O or click on the "Following X" label to toggle the panel. It shows the organism's name, species, parents, siblings, children, generation, energy level, age category, fear level, diseases, and pregnancy information.

Family member names are clickable. Click on a mother's name and the panel immediately switches to showing that organism's details. Click on a sibling, a child, the organism's mate - any family connection becomes a navigation point. This lets you explore family trees and track lineages across generations.

The panel updates automatically every 10 seconds with fresh data. The server tracks which organism each session has requested inspection for and broadcasts updates only when the data changes, using etags to avoid redundant transmissions.

The architecture separates concerns cleanly. Server-side utilities extract and minimize organism data. Client-side utilities transform that minimized data into human-readable formats with clickable references. A generic info display component renders the data as DOM elements, handling clickable values and arrays without knowing anything about organisms specifically.

Inspecting organisms changes how you explore the simulation. You can follow an organism, see its entire family history, click through to its parents and see their histories, and follow lineages forward through children and grandchildren. You can watch fear levels rise and fall as organisms encounter threats. You can see diseases spreading through family groups. You can verify pregnancy status and track when offspring will be born.

It transforms observation from passive watching to active exploration. The simulation's data becomes directly accessible rather than hidden behind the visual representation.