Brethren Adventure ArchivePC adventure, 1990–2010

Play them legally

Getting a 1990s game to look right on a modern screen

Why low-resolution games look blurred on a modern display, three fixes (integer scaling, shaders, an official re-release), and how to choose between them for a specific case.

The single reason an old game looks wrong on a new monitor is that its pixels were drawn for a different grid. A 320×200 image shown on a 3840×2160 display means every original pixel becomes several screen pixels, and how that multiplication is done decides whether the result looks crisp, soft, or broken.

The scale has to be a whole number

Suppose your display is 1920 by 1080 pixels and the game’s image is 320 by 200. Across, 1920 ÷ 320 is exactly 6. Down, 1080 ÷ 200 is 5.4. The scale has to fit in both directions, so the largest whole number is 5: each original pixel becomes a clean 5×5 block, the picture is 1600×1000, and the rest of the screen is border. A 6× scale would need 1,200 rows, and the screen has only 1,080.

Now suppose the display is 1440 by 900. 1440 ÷ 320 is 4.5, and 900 ÷ 200 is also 4.5. There is no way to turn one pixel into four and a half, so the software has to interpolate — it either duplicates some pixels and not others, or blurs everything. Either way a uniform block becomes an uneven one.

This is what integer scaling means: using whole-number multiples only, and accepting a smaller image, or adding a border, rather than stretching unevenly. It is the setting to look for first.

The second variable: aspect ratio

A 320×200 frame on a 4:3 display was not shown square. The pixels were non-square, stretched vertically to fill a 4:3 screen. Reconstruct that if you want the geometry the artist drew; ignore it if you prefer square pixels and a wider look.

Both choices are defensible, and they are not the same image:

  • Square pixels — the file as stored, unambiguous, one pixel equals one pixel.
  • 4:3 correction — what the original display produced, closer to the intended composition.

Pick one deliberately. The mistake is letting the software pick without knowing which it did.

Three practical fixes, from least to most invasive

1. Fix the scale, not the output. In the engine’s own settings, choose a whole-number scale and let the remaining space be border. This keeps you inside a tool that is being maintained for the games it supports. ScummVM and DOSBox both have graphics settings in their own options; we did not verify the exact scaling options on the pages cited, so check the project’s documentation for the version you installed.

2. Use a filter designed for pixel art. If a whole-number scale does not fit your screen, a scaling filter meant for low-resolution art looks better than the default blur your graphics driver applies. The trade-off: some filters smooth away the detail that made the art readable. Compare two or three rather than accepting the first.

3. Buy the re-release. A commercial re-release often ships with these decisions already made by someone who tested on modern hardware (our observation; quality varies by title). GOG’s adventure catalogue is one example of that model. You give up control, and in exchange you get a working result without an evening of settings.

What is not worth fixing

Some artefacts should be left alone:

  • Dithering. The patterns of mixed pixels in old art are not noise; they were the technique for producing more apparent colours than the hardware had. Removing them removes the artist’s work.
  • The original aspect ratio of an FMV sequence. Video cutscenes were often a different resolution from the game. Forcing them into the game’s scale adds nothing.
  • Text rendering. If the game’s font was drawn for 320 pixels wide, smoothing it makes it harder to read, not easier.

A diagnostic order

When the image is wrong, change one thing at a time, in this order:

  1. Set a whole-number scale. If the image becomes sharp, you are done.
  2. If it no longer fits the screen, decide between a smaller image with a border and a filter. That is a preference, not a bug.
  3. If it is still wrong, the problem is in the game’s own configuration, not the scaling — check the project’s compatibility notes for the title.

Checking per-title compatibility before you spend an hour on settings is worth the two minutes: if a known rendering issue exists, it will be listed already.

A lookup table for common screens

The table lists the largest whole-number scale for four classic image sizes on four common screens, computed as the smaller of (screen width ÷ image width) and (screen height ÷ image height), rounded down. “Scale to fill” is the non-whole scale that would stretch the picture to the screen edge, which is where blur comes from.

The table assumes square pixels. With 4:3 aspect correction, a 320x200 image is displayed like a 320x240 image, so use the 320x240 rows for the corrected view.

Image Screen Largest whole scale Picture after scaling Screen used Scale to fill
320x200 1920x1080 5x 1600x1000 77.2% 5.40x
320x200 2560x1440 7x 2240x1400 85.1% 7.20x
320x200 3840x2160 10x 3200x2000 77.2% 10.80x
320x200 1440x900 4x 1280x800 79.0% 4.50x
320x240 1920x1080 4x 1280x960 59.3% 4.50x
320x240 2560x1440 6x 1920x1440 75.0% 6.00x
320x240 3840x2160 9x 2880x2160 75.0% 9.00x
320x240 1440x900 3x 960x720 53.3% 3.75x
640x480 1920x1080 2x 1280x960 59.3% 2.25x
640x480 2560x1440 3x 1920x1440 75.0% 3.00x
640x480 3840x2160 4x 2560x1920 59.3% 4.50x
640x480 1440x900 1x 640x480 23.7% 1.88x
640x400 1920x1080 2x 1280x800 49.4% 2.70x
640x400 2560x1440 3x 1920x1200 62.5% 3.60x
640x400 3840x2160 5x 3200x2000 77.2% 5.40x
640x400 1440x900 2x 1280x800 79.0% 2.25x

Pick the row for your own screen, set that whole scale in the engine’s options, and accept the border.

Sources