Brian Andrew Mulrooney

2026-09-20

Gap: The island had no trees

The game's island terrain carried grass and shrubs, but no trees, so hillsides meant to read as Mediterranean scrubland had nothing standing on them.

Gap: The island's terrain had no trees to plant

Four species were added as full trees at life size: olive, Phoenician juniper, Aleppo pine, and cypress. Each has its own rule for where it grows — a distance range from fresh water and an elevation range above sea level, set per species — and trees are grouped into stands by a pattern that keeps a stand's interior dense and the ground between stands bare, so a hillside reads as distinct woods rather than an even lawn of trees.

A stand of full-detail pine and olive trees beside a river, seen up close
A stand of trees at close range, showing the modeled bark and foliage
A wider hillside view showing several tree species scattered along a riverbank
The same terrain from farther back, with several species along a riverbank

At a distance a tree switches through three stages: the full model up close, a lighter model of sticks and flat plates farther away, and, beyond that, a blended canopy shape reading as forest rather than individual trees. The canopy spans the seams between terrain tiles and is tinted to the leaf color of the trees beneath it.

Gap: Rendering full-sized trees cut the frame rate to single digits

The first working version submitted the full, detailed model of every tree within reach of a large rendering tile, so the graphics processor rendered full detail regardless of a tree's distance from the camera. A dense test scene ran at about 8 frames per second.

The fix holds only a small, updated set of full-detail trees, built around the point on the ground the camera is looking at rather than the camera's own position, and refills that set as the view moves; distant tiles keep only the lighter model. Measured at the same test positions, the frame rate rose to 32–39 frames per second, up from single digits.

Gap: Distant trees vanished too abruptly toward the horizon

The lighter, far-distance model faded into the canopy at a fixed radius around the camera, regardless of camera angle. Tilted toward the horizon, that radius read as too short, so trees near the horizon disappeared into canopy sooner than in a view looking straight down. The visible range now extends up to 1,000 meters toward the horizon when the camera is tilted, while a straight-down view is unchanged.

A hillside viewed toward the horizon, with individual trees fading into a hazy tree line partway up the slope
Before: individual trees stop partway up the slope
The same hillside after the fix, with individual trees visible farther up the slope toward the horizon
After: individual trees remain visible farther toward the horizon
‹›