Development journal

Project
news.

Animations and sprites are finished: on to magical effects

The area animations are now finished: all 246 resources have a retained result accepted in game. The Q3M sprite work is finished too, with 15 accepted families covering 331 creature variants.

I’m now tackling the largest remaining batch: effects, covering spells and magical effects. This work includes 494 visual resources to process. The first trials have already begun.

Explore the magical effect process

Sprites are finished

I’ve finished the Q3M sprite work. All 15 families are now accepted in game, covering 331 variants. The progress page has been updated.

Sprites: starting over

I started the sprite work over from scratch, this time with more in-depth research by Claude Opus 5.5 and GPT 6 Astra. This made it possible to add richer colour shades and smoother gradients.

This work took time. I waited until progress had passed the previous level again before posting an update, so I wouldn’t announce a lower figure than last time.

You’ll find a plain-language presentation of the AI agents’ study under Process / Sprites. It replaces the old page and explains the new Q3M method.

Read the new sprite study

Water-map asset processing begins

I am now focusing on the assets that build water across the maps. The game does not use a single water texture: lakes, pools, swamps, sewage, oil and the linked A–D tile families need different treatments.

The main pipeline is now in place for the most common families. A few family-specific cases still need work — including multi-tile cycles, some materials and lava — before the process can be rolled out map by map.

Read the water-map process

Correcting twenty previously processed animations

Twenty animation assets that had already been upscaled and interpolated were reworked. The pipeline was improved to remove duplicate frames found in the vanilla assets, then rebuild the frame sequence correctly before interpolation. This correction restores a more regular rhythm and produces noticeably smoother movement without changing the original content.

The overall progress calculation was also adjusted, mainly to give more weight to the final phase. The figure is now 24.2% despite the project’s actual progress: this is only a recalculation, and no completed work has been lost.

See the animation process
AM3016E · Before and after the interpolation correction

Trying a new sprite upscaling method

The progress calculation method has been revised to better reflect the amount of work carried by each asset category. This more accurate distribution gives greater weight to some categories and mechanically extends the overall project estimate, without undoing any work already completed.

A new sprite upscaling method called ReboutCx has been tested. It does not give a better result on every sprite, but some of the first tests are interesting: a few shapes read more clearly and some edges feel less mechanical.

For now, I see it as another option rather than a replacement for the current method. The useful approach may be to choose between them depending on the sprite.

See the sprite process

Studying a new pipeline for water

A new pipeline is being explored to improve how water looks in the game. Until now, the treatment removed the shadows and reflections visible in the water. The aim of this work is to preserve them.

The first tests show that the subject is more complex than expected: depending on the map, water-related elements cannot all be handled in the same way and require case-by-case adjustments. This adds more time to the project. A dedicated Process page will soon explain the chosen method and the difficulties involved.

Previous water rendering, uniform and missing the scene’s shadows and reflections
BeforeShadows and reflections lost
New water rendering with the scene’s shadows and reflections preserved
AfterShadows and reflections preserved

First Catmull-Rom integration for sprites

A first integration of Catmull-Rom filtering has been added to try to improve how sprites look in game. The method rebuilds each pixel from its neighbours. It should produce a steadier result during movement and scaling without simply adding blur to the image.

BG2’s existing filter could not be reused as-is because it was designed for opaque images and does not preserve sprite transparency correctly. The integration therefore goes through InfinityEngine-Enhancer: a dedicated mode has been added for HD sprites in the current version of BG2EE, with transparency handled appropriately and the option to return to the original rendering. Further tests will show which sprites genuinely benefit from this method.

See the sprite process

First spell effect treatments

A first pipeline dedicated to spell effects has been created. It can upscale BAM animations, interpolate them to 30 fps and then integrate them selectively into the engine.

These first tests are still limited to a few effects. The method will need further adjustments depending on their structure and how they look in game.

See the effect processing method

First overall progress calculation

Project tracking has been expanded with a first weighted overall calculation. Each asset category is given a different weight to better represent the amount of work remaining, rather than simply counting the number of processed files.

Introducing progress tracking

A first real production tracker has been set up from the project inventories. Maps, animations, sprites, effects, interface elements, videos and icons can now be followed separately.

At this stage, there is no overall percentage comparable with the later snapshots.

First animation tests

A first animation pipeline has been set up, using SeedVR2 7B for x4 upscaling followed by Apollo 8 interpolation at 30 fps.

The treatment still needs to be adjusted case by case: edges, transparency, pauses and loops do not always behave in the same way. Several settings and optimisations still need to be explored.

See the animation process

First HD sprite integration

First sprite upscaling tests with XBR/xBR2x, applied at x2. The method remains experimental: it improves some edges, but the result varies from one sprite to another.

A first pipeline has also been integrated into the engine so these HD sprites can be displayed without replacing the game’s original resources.

See the sprite process

The project begins with maps

The project began with map processing. After the first tests, SeedVR2 7B with LAB colour correction and x4 upscaling was selected as the working base. The first results were then integrated and validated in game.

See the map process