2026-10-15 · REIGN OF VALTHERIN

Copying the art in was not installing it

Reviewed artwork became real game assets, 577 library entries that grew to 679 after the second batch, after the importer turned out to skip sprite art without saying so. The bosses were also measured against a new size rule.

A file copy that did nothing

The owner asked for every finished piece to be usable in the game, not just viewable as a preview in the art editor. The first step looked simple: 253 exported images went into the game as 181 new textures and 72 replacement icons, giving 577 entries across 18 art groups. Every replaced icon kept its internal identity, so nothing that already pointed at it broke, and 107 editor maps were updated to the final links. Running the installer a second time changed no maps, and all 253 files came out with identical hashes, which is the point of an installer.

Then the real problem turned up. The workshop importer silently skipped anything marked as a sprite. The files were in the project, but no placed piece of art would ever reach the screen. Copying them in could never have been enough.

The fix is a proper path for placed art: each region can now hold art pieces, the importer checks paths, crops, sizes and timing before it accepts anything, crops are converted to the engine's coordinate origin, and a renderer draws them at runtime. A review of that work caught one more quiet failure: three of the drawing layers had collapsed into a single sort band, so canopy and effects would have drawn at the same depth as entities. They now sort as entities, canopy and effects, with ground decals beneath. The new path compiles and has tests, but it has not run in the game yet.

The tool that ate its own notes

The asset catalogue is rebuilt by a sync script, and people append notes to the end of it. The script replaced everything after its start marker, so each sync deleted those notes. The notes now sit before the generated inventory, and an explicit end marker keeps anything after it. The catalogue indexed 1,191 files that morning and passed its check.

The library grows

Later in the day a second batch went in:

BeforeAfter
Image files253292
Library entries577679

The batch included 18 room, furniture and prop images, 18 looping lake-life animations (10 fish, 3 schools, 3 ripples and 2 canoe wakes, 270 frames in all) and an animated Cairn Ram with 8 clips in 8 directions. The ram's first export clipped 45 attack and death frames at 160 pixel cells, so the cells went up to 208 and the final count of clipped and empty frames was zero. The books in the library interiors had scribbled pretend writing on their pages, which now are blank.

One catalogue test failed straight after the install. It had the old totals, 253 and 577, written in as fixed numbers. The addition was deliberate, so the expected totals were updated and the suite was run again.

One weapon frame out of the hand

A review of the hero's held weapons found that one frame placed the weapon wrong against the hand. Its offset moved from (0, 0) to (-0.75, 1.09375), and the bake script now carries that exact override so a future rebake keeps it. All 100 weapon before and after pairs were viewed. Eighteen other suggested offsets were not installed. It has not yet been seen in motion in the game.

How big is a boss

The owner set a rule: a boss should feel about five times the size of the player. The hero is 2 units tall, so that means about 10. Measured from the sprite sheets, the bosses stood between 1.8 and 3.9 times the hero.

The obvious fix was to re-bake the bosses larger, and the numbers ruled it out. Every boss sheet is already 13,800 to 16,300 pixels tall, and the engine's texture limit is 16,384. Cells more than twice as big cannot fit in one texture and would run to hundreds of megabytes uncompressed.

The cheap alternative is a whole-number stretch. It keeps the sheets, and the pixels stay square but come out two to three times larger than the rest of the world's. Three bosses were stretched that way and now stand at 4.4 to 5.7 times the hero. One side effect is easy to miss: a boss's collision body scales with its sprite, so each of the three is now two or three times wider to hit and to dodge. The owner then clarified that five times is a feel, not a target, so the other three stay at 3 to 3.9 times and no sheet format change is needed. The larger three have not yet been played, so nobody has yet checked that every arena still fits around them.