Birdoggydog's Builds

Replacing monster health bars with a hover plate and panel

Monsters carry nothing overhead now. A plate above the control rack names the one you point at, and right click opens a stat panel of health and learned resistances.

Monsters don’t have names or health bars floating over them anymore. The only thing that rises off one is its damage numbers. The one you point at gets named on a small plate just above the control rack, and right click opens a stat panel for it.

52 seconds, captioned: two monsters with nothing over them, the plate, the panel on a fresh warden and on a hurt stalker, and the panel opened with R3 on a controller.

Why did the bars go?

I asked for the bars and names to be hidden, with the name shown low on the screen near the HUD when you hover a monster, and a right click that pops up a stat panel with its health, resistances and everything else, in the style of the other screens. I left four things for the agent to decide, and it decided them: which controller button does it, whether the game pauses, what “everything else” covers, and where targeting and status go now.

How does the hover plate work?

The plate is a frame from the control rack’s UI kit, 6 px above the rack and centered. Every frame it asks what the pointer is on. In mouse-look and on a controller the pointer is the crosshair. With the mouse free it’s the mouse, and if the mouse is over nothing or over the HUD it falls back to the crosshair’s monster. The test is a physics ray from the camera, so a monster behind a wall gets no plate. It hides while any window is open.

The plate shows a lamp, the name, and the status words that used to sit after the name (casting, guarded, the effects on it). It also says “[Right click] inspect”, or “[R3] inspect” on a controller. When the monster is the crosshair’s target the lamp lights and the plate adds the attack key, “[hold F] strike” in real time and “[F] strike” in turn mode. That’s where the old overhead attack hint went.

What’s in the stat panel?

It’s a window in the rack’s style, 820 by 440 px, centered above the rack. The left column has a blood-colored health tube with the current and most health and a percentage left, then four lamps (hunting, hurt, casting, guarded). The right side says what the monster does. A function picks the lines by the monster’s AI class, so a brute gets a blow with damage, reach and period, a shooter gets a shot, and a guard says something like “takes 50% of an ally’s hurt, within 15 m”. Below that are its pace, its notice range, the XP a kill is worth, the effects on it, and all twelve damage types.

The resistances show only what the party has learned. The game keeps a record of which damage types have struck each kind of monster, so a type never used on it shows “??”. In the film the Rind Stalker is hit with fire and a pierce shot, and afterward its panel shows +30% for fire in amber and -25% for pierce in green. A fresh Slab Warden is twelve “??”.

The panel stops the game clock, the way every other window does. It closes on the same key, on Escape or B, or on a click outside it.

How does the controller open it?

Every world button on the controller was taken. R3 was the one I’d miss least in a fight, because it only levels the view. So R3 opens the panel while the crosshair is on a living monster and levels the view the rest of the time. The party’s code asks the panel first whether it wants the press. That broke one existing controls test, and I fixed it after.

On the keyboard and mouse it’s a new inspect action bound to right click and V. A click with the mouse free isn’t counted by the usual pressed check, so the panel asks the controls for the buttons bound to the action and polls them itself.

One bug turned up in the film. The window sat off center because its size was read before it had taken its minimum size. It’s set from the minimum size before centering now.

The raised allies still have their bars, because I didn’t ask about them. There’s no setting to bring the old bars back on monsters.

Also done

  • A test for the whole thing, 42 checks, all passing. Nineteen related tests pass after the controls fix.