Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Graphics Games

Making Old Games Look Good On Modern LCDs? 367

75th Trombone writes "I'm a fan of several old PC games — the Myst series, StarCraft, Diablo, etc — with 2D graphics that run at a low, fixed resolution. These games all look horrible on modern LCDs. If you run them at their original resolution, they're tiny, and if you upscale them they get all sorts of blurry, pixelly smoothing artifacts. My ideal goal is to run these games at exactly double their original resolution — running 640 x 480 games at 1280 x 960, for example — so that each original pixel takes up exactly a 2 x 2 block of screen pixels, yielding graphics that are perfectly crisp and decently big. I've tried arcane settings in graphics card drivers (new and old), I've tried forcing the OS to run at a given resolution, and I've tried PowerStrip, all to no avail. Short of writing a new, modern engine for my favorite games, is there a reasonable solution to this problem?" There have been many community-supported graphical overhauls of classic games — feel free to share any you know to work well.
This discussion has been archived. No new comments can be posted.

Making Old Games Look Good On Modern LCDs?

Comments Filter:
  • by Soul-Burn666 ( 574119 ) on Tuesday November 17, 2009 @03:21AM (#30126630) Journal

    A mod was released for these games which pretty much handles higher resolution. It does that not by up-scaling but rather by showing you a larger section of the hand-drawn pixel-perfect game map, keeping the original crispness.
    The mod can be found here [gibberlings3.net].
    Nice example screenshots for Planescape: Torment here [rockpapershotgun.com].

  • by Rufus211 ( 221883 ) <rufus-slashdotNO@SPAMhackish.org> on Tuesday November 17, 2009 @03:30AM (#30126664) Homepage

    A number of emulators already have good algorithms for scaling fixed-pixel images that preserve the sharpness while removing aliasing. Wikipedia of course has a page on Pixel art scaling algorithms [wikipedia.org]. The 2 best ones out there are 2xSal and hqx.

    The problem is that these only work within emulators that implement the algorithms. This clearly does not work for something like StarCraft. Graphics drivers (both ATI and NV) already have options to scale between virtual and physical resolutions. The ideal solution would be for them to offer different scaling algorithms that can be picked - standard bilinear or a modified one for classic games. Everything "just works" then and you get nice graphics.

    I'm not going to hold my breath on ATI or NV ever officially implementing this in their release drivers. However I'm wondering how hard it would be to add an option like this to one of the open source linux X drivers, or maybe even to Wine/DosBox. Also for windows isn't there a way to intercept graphics calls (along the lines of what FRAPs does)? Would it be possible to create a wrapper program that intercepts all the graphics calls and adds a scaling algorithm after each frame is drawn?

  • hqx (Score:3, Interesting)

    by numbertheo ( 1517241 ) on Tuesday November 17, 2009 @03:32AM (#30126674)
    TFA has examples exclusively involving line art and that's pretty much the worst case for standard upscaling techniques. The scaling technique you're been searching for is hqx [wikipedia.org]. Too bad there isn't any way to get it.
  • by Rufus211 ( 221883 ) <rufus-slashdotNO@SPAMhackish.org> on Tuesday November 17, 2009 @03:33AM (#30126680) Homepage

    And then I notice that DosBox already has this implemented: http://www.dosbox.com/wiki/Scaler [dosbox.com]

    It should be fairly straightforward for Wine to implement a similar feature.

  • by Anonymous Coward on Tuesday November 17, 2009 @03:38AM (#30126698)

    If you use Linux, try a screen magnifier, like the "Enhanced Zoom Desktop" plugin for Compiz. I did this with a couple older games, and it did an admirable job, though it's not a perfect solution. Zoom in until the game fills as much of the monitor as possible, center it, and hit the zoom lock key combination.

    This may look and/or work better than trying to run things full-screen, definitely works better if you're using a multi-monitor setup, and lets you scale up picky windowed games that won't resize.

  • software scaling (Score:5, Interesting)

    by mambodog ( 1399313 ) on Tuesday November 17, 2009 @03:58AM (#30126768)
    I dunno, on my 1920x1080 display old games look pretty good using Nvidia (driver) scaling (fixed aspect ratio, scale to fit vertically). Maybe just because its sufficiently high res, scaling artefacts are not particularly noticeable.
  • by billstewart ( 78916 ) on Tuesday November 17, 2009 @04:12AM (#30126830) Journal

    There are other problems with playing old games on newer computers - depending on how they handle timing, you'll find that the
    Space Invaders zoom down and kick your ass
    in ways that they just didn't at the original speeds.

    Maybe virtualization can give you a way to slow them down?

    Meanwhile, Nethack works just fine...

  • Also, Heroes 3 (Score:1, Interesting)

    by ZeRu ( 1486391 ) on Tuesday November 17, 2009 @04:12AM (#30126832)
    I would also add Heroes of Might & Magic 3 to the list, one of my favorite games which runs at fixed 800x600 and that looks blurry on my Lenovo L220x. However there is no widescreen solution for that game that I'm aware of.
  • Isometric 2D RPGs (Score:2, Interesting)

    by WaroDaBeast ( 1211048 ) on Tuesday November 17, 2009 @04:31AM (#30126922)
    For Infinity engine-based RPGs — the Baldur's Gate and Icewind Dale series, plus Planetscape Torment —, you can use the Gibberlings 3 widescreen mod [gibberlings3.net]. I have also been lucky with Arcanum, since Terra Arcanum hosts a high resolution patch [terra-arcanum.com] that works perfectly.
  • by supersat ( 639745 ) on Tuesday November 17, 2009 @05:02AM (#30127014)

    I once wrote a tool called "StarPatch" that lets you run StarCraft in a window. It works by 1) patching a calls to CreateWindow and some DirectDraw initialization functions, 2) patching calls to DirectDraw's Lock and Unlock to return a fake video memory pointer, and 3) periodically copying the fake video memory to the real video memory.

    The source code is almost ten years old at this point, but I've made it available again at http://www.cs.washington.edu/homes/supersat/starpatch.c [washington.edu]. You'll need to tweak it to work with anything other than StarCraft 1.10, but you can modify it to scale up pixels, etc.

    - Karl

  • Re:Buy a cheap CRT (Score:5, Interesting)

    by xaxa ( 988988 ) on Tuesday November 17, 2009 @05:24AM (#30127084)

    I advertised a 17" CRT on Freecycle (London). I didn't expect any replies, but had several! One was from a woman who said she was disabled and would send a taxi round to collect it, but as it was only 10 minutes walk I carried it to her house. She turned out to be a research scientist who'd got an unusual disease (and couldn't walk). She wanted to research it but couldn't get any funding. So, she'd given up her job and was doing her research from home.

    This was 2 years ago, maybe now it'd need to be an LCD.

  • Blocky scaleup (Score:5, Interesting)

    by sfraggle ( 212671 ) on Tuesday November 17, 2009 @05:28AM (#30127106)

    I'm the author of Chocolate Doom [chocolate-doom.org], which deliberately maintains the low resolution of the original game, but has to run in modern, high resolution screen modes. One of the problems with Doom is that the graphics are designed for non-square pixel modes (the original game ran in 320x200, stretched to a 4:3 aspect ratio screen), so there's the double problem of having to scale everything up to work in a square pixel screen.

    I developed a technique [chocolate-doom.org] that does a blocky scale-up, interpolating the edges of the blocky "pixels" appropriately, so that you end up with a fairly decent looking result [chocolate-doom.org]. I don't know if this is useful to the developers of programs like DOSBox, but the code's there [sourceforge.net] if anyone wants it.

  • by EzInKy ( 115248 ) on Tuesday November 17, 2009 @06:11AM (#30127238)

    ...IPS monitor. If gamers would quit lapping up all those fast, cheap TN crap monitors and start holding out for IPS or even high end PVA monitors those willing to invest in quality products would risk their dollars on advancing the tech. That's just how the market works, the more crap that gets bought the more crap that gets made.

  • by Anonymous Coward on Tuesday November 17, 2009 @06:35AM (#30127354)

    The problem is, the "CRT simulation" the Georgia IT folks came up with is complete guesswork. There are good and proper NTSC signal simulation [fly.net] routines by Blargg and I think the latest version of the C64 emulator VICE (2.1) has really good PAL simulation routines. So please stop giving the Georgia IT snakeoil any more publicity.

  • Remote Desktop (Score:3, Interesting)

    by cbhacking ( 979169 ) <been_out_cruising-slashdot@@@yahoo...com> on Tuesday November 17, 2009 @08:18AM (#30127724) Homepage Journal

    This is going to sound weird, but if your version of Windows supports it, Remote Desktop may solve the problem. You can specify the size of the RD window, and a full-screen application running on the server's remote session will treat that as the maximum display resolution (meaning your graphics card should be able to stretch StarCraft to a 1280x960 RD window happily enough).

    Technically this even works for 3d-accelerated games (the DirectX commands are sent across the network and executed on the client's GPU) but for something as old as StarCraft that won't even matter.

    The catch is that client (non-server) versions of Windows don't allow you to RD from computer X into computer X again, so you'd need to have another computer somewhere with StarCraft installed, preferably located on a LAN.

    Virtualization should also work just fine, especially since there's no risk of 3D acceleration stuff being a problem with games that old. If you have Win7 (Business or higher), you don't even need to install a second copy of Windows yourself; just install Virtual XP mode, have it start in a window (rather than the rootless mode usually used) and set the window's size appropriately.

  • by jellomizer ( 103300 ) on Tuesday November 17, 2009 @10:11AM (#30128340)

    Actually a lot of software written back then was designed for crap TVs. You run these programs say a PC program now you see that it is in 640x200 b&w images. While at the time it had a bunch of colors, at a lower resolution. They took into account that the old TVs couldn't handle 640 width however it will still send the signal so only a few phosphors will get hit in a pixel thus creating color. Or even when we get further along where we got actual computer monitors the old systems had such a low DPI that made EGA look like really good graphics, as the Low DPI rounded the pixels slightly and if you dithered the pixels they will actually blend and create new colors to the eye... Then when people got the newer higher DPI monitors those EGA games began to look very blocky, thus needing VGA with more colors to make the games have better graphics. A normal 320x200 pixel (normal resolution) today on an average monitor will take 6x6 pixels or more on the screen to preserve the same size.

  • Re:Buy a cheap CRT (Score:2, Interesting)

    by twistedsymphony ( 956982 ) on Tuesday November 17, 2009 @10:21AM (#30128452) Homepage
    YES... my personal preferred hardware scaler for old 640x480 graphics is the Faroudja DCDi. I don't play PC games much anymore but I bought a Front projector with that chipset specifically so I could play old console games on my HD projector. There is better scaler hardware out there for HD to HD (ie: 720p to 1080p, or 1080i to 720p, etc.) but the DCDi does an amazing job upscaling SD and ED resolutions. I don't know of any stand alone scaler for PC applications though, I think it's generally assumed that you'd just use a software scaler, or rely on the crappy scaler built into your monitor... your best bet would be to find a monitor with a Faroudja chip in it, I don't know of any though. Searching "Faroudja LCD" turns up a few LCD TVs and a few "monitors" but I don't really know how good any of them are.
  • by noidentity ( 188756 ) on Tuesday November 17, 2009 @02:41PM (#30132210)

    Repeat after me: A pixel is not a little square [alvyray.com]. CRT monitors reconstruct an image using something closer to a gaussian distribution, rather than a crisp rectangular one [google.com] as you'd get if you simply doubled pixels. The graphics of games made when CRTs were common were made on CRTs and thus take advantage of this. The video game console emulation crowd has faced a similar issue, only there it's more than just a CRT; there's also the distortions introduced by the various composite video encoding schemes (color bleed, fringing, artifacts). You might think that removing these distortions would improve the image, but you have to realize that the artists viewed things on the same systems, and thus tailored the art to look good in those circumstances. It's sort of like a web page designer getting a page to look just right in a buggy browser, even though it looks all wrong in one with proper rendering; here you want the buggy browser, at least if you want to see the page as it was intended.

    The thing that gets me is that a high-resolution LCD could horizontally display exactly what a Trinitron CRT did, as the vertical stripe phosphor pattern matches that on most LCDs. The scaling algorithm would need to simulate the blurred-edge electron beam and mixing between pixels. There would be some sub-pixel action too, as on a CRT.

Arithmetic is being able to count up to twenty without taking off your shoes. -- Mickey Mouse

Working...