Making Old Games Look Good On Modern LCDs?
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.
Problem solved. http://www.pricewatch.com/monitors/
A quick google search turned up the following for Starcraft. You probably want to do a bit of in-depth research before running these binaries... they may be buggy, fake, etc
One way might be to play Starcraft in windowed mode:
http://www.teamliquid.net/forum/viewmessage.php?topic_id=72621
Or use a "high resolution" mod. There seem to be a lot of defunct mods like this that probably never worked too well, but the first link might be worth a shot:
http://www.teamliquid.net/forum/viewmessage.php?topic_id=97122
http://www.widescreengamingforum.com/forum/viewtopic.php?t=16643
http://freenet-homepage.de/ToiletGame/download.html
http://www.gamethreat.net/forums/user-downloads/38147-resolution-hack-release-4-0-a.html
I haven't tried it myself, but what about virtualization? VirtualBox has an addition that lets you run windows at any size you want (in windowed mode).
For Myst anyways, RealMyst impressed me. Actual 3d models of the puzzles, so you walk where you want. Totally playable in my opinion, and they managed to make it not distract much from the puzzles and art of the thing.
"You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
your problem is you are not looking old enough, try runing DOS games in Dosbox, nice scaling options there.
You have 5 Moderator Points!
Which Helpless Linux zealot/MS basher do you want to mod down today?
Well, for DOS games, DOSbox can do a number of different scaling modes. From the Wiki: normal: nearest-neighbour scaling (big square pixels) scan: like normal, but with horizontal black lines tv: like scan, but with darker versions of data instead of black lines advmame: smooths corners and removes jaggies from diagonal lines advinterp: identical to advmame rgb: simulates the phosphors on a dot trio CRT As for old windows games, I hope to hear something else. One last note, Myst was re-released as a "Masterpiece Edition" with higher resolution re-rendered graphics.
Bork Bork Bork!!
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.
Nice example screenshots for Planescape: Torment here.
^_^
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. 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?
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. Too bad there isn't any way to get it.
"A group at Georgia Institute of Technology has developed a fun little open source program to emulate the CRT effects to make old Atari games look like they originally did when played on modern LCD's and digital displays. Things like color bleed, ghosting, noise, etc. are reproduced to give a more realistic appearance."
From Slashdot story Atari Emulation of CRT Effects On LCDs.
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.
Hey, there are people out there who'd be happy to just have you take the clunky thing.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
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...
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
For Infinity engine-based RPGs — the Baldur's Gate and Icewind Dale series, plus Planetscape Torment —, you can use the Gibberlings 3 widescreen mod. I have also been lucky with Arcanum, since Terra Arcanum hosts a high resolution patch that works perfectly.
"The body may heal, but the mind is not always so resilient." -- Deus Ex: Human Revolution
http://scale2x.sourceforge.net/
http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms
I don't think there are many games released for the Sun platform. And those that exist probably run just as well with Linux on a normal PC. No need for expensive hardware. :-)
And BTW, what's that "outside" you are speaking of?
The Tao of math: The numbers you can count are not the real numbers.
I'm the author of Chocolate Doom, 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 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. I don't know if this is useful to the developers of programs like DOSBox, but the code's there if anyone wants it.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
To get old games into "Windowed Mode" I often run them in a VM
These games are old enough that a VM can handle their graphics card needs & the underlying CPU can run them through a VM at at least the original CPU speed.
Heh, this story could almost have written by me. It's the reason I held out so long on getting an LCD instead, and why I have my beloved Samsung CRT sitting still in the loft.
I was actually quite surprised that ZSNES at 640x480 fullscreen mode, whilst there is a small noticeable interpolation effect, looked quite good. Perfectly playable once you have the graphics being displayed... I almost forget I'm not on a CRT.
What has been a problem, though, is fast movement. This seems to be a problem inherent to LCDs. :-( Try emulating Sonic 1 (MegaDrive/Genesis) on a CRT vs an LCD. On the CRT, no problems. On the LCD, the rings in particular look fainter, and darker... well, everything seems to look a bit darker as you're running. I guess this is a small form of ghosting, and I don't think there's any way to get round it on an LCD. Any tips would be appreciated. But, I'd say that if you wanna play Sonic or the like, use a CRT.
By the way, I'm using an NEC MultiSync EA191M.
== Jez ==
Do you miss Firefox? Try Pale Moon.
Try squinting?
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.
There's no place I could be, since I've found Serenity...
http://en.wikipedia.org/wiki/SpeedStep
http://en.wikipedia.org/wiki/PowerNow!
http://en.wikipedia.org/wiki/Cool'n'Quiet
No Turbo button necessary!
I fail to see how a different LCD technology, that suffers from the same limitations in non-native resolution scaling that all LCD monitors suffer, is the answer to the problem. The colors may look a bit better, but since at least 2 of the games discussed in the post used 8-bit color that doesn't seem to be the sticking point.
Repeat after me: A pixel is not a little square. CRT monitors reconstruct an image using something closer to a gaussian distribution, rather than a crisp rectangular one 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.