Chao Garden: Evolved 1.5.1
Shiny metal chao — and gold, silver and onyx — went black in 1.5.0. They are metal again. The cause was the reflection map coming out empty, which quietly took a little light off everything else in the garden too.
Shiny metal chao are metal again
If your shiny metal chao, or your gold, silver or onyx one, turned into a black silhouette with coloured edges in 1.5.0 — that is fixed, and it was our fault rather than anything you did.
- It showed up everywhere at once: in the garden, in the stat page portrait, and on the market shelf where the eggs are.
- A metal has no colour of its own. Everything you see on one is a reflection, which is why a polished chao was the worst affected and why the only part still visible was the highlight. A chao with an ordinary colour has its own paint to fall back on; a mirror does not.
- Everything else in the garden was very slightly dimmer too. The same fault took the ambient light out of every surface in the game — you just could not see it on anything that had a colour of its own.
No performance was given back to fix it. 1.5.0’s frame rate work is untouched; this was one missing line in it, not a mistake in the idea.
What actually happened
For anyone who likes the details.
1.5.0 added a shader pre-compiler — the thing that stopped the game freezing for a second or two when you opened the menu or scrolled the market. It works by holding back a drawing operation whose shader is not ready yet, letting the graphics driver build that shader in the background, and drawing it a frame or two later instead.
That is a safe trade for anything the game draws every frame. It is not safe for something drawn once. Building the garden’s reflection map is a one-shot job: twenty-one drawing operations that run a single time, in one go, at startup. Every one of them was held back, nothing ever came along to run them again, and the reflection map came out empty — a perfectly formed, perfectly black picture of nothing.
So the metals had nothing to reflect. The fix is to let a one-shot render through untouched, because there is no next frame to defer it to.
Under the hood
- The fix is six lines, and it uses the graphics library’s own test for “this is a one-off render” rather than a list of special cases, so it covers the ones the library does behind our backs as well.
- Every render call in the game was audited to confirm none of them can be caught by the new rule.
- Measured on a gold chao’s portrait: average brightness up 3.4×, and the reflection now varies across the body instead of sitting flat — which is the difference between a mirror and a painted highlight.