Blur and Bleed: Running Games on a TV

Growing up in the 80’s, I was a proud owner of a Commodore 64 and later an Atari ST. They were "home computers" and you hooked them up to your TV, to play games or write code. Nowadays, we all run or computers on large, crisp monitors, at very high resolutions, but those just didn’t exist back in the days.

retrofilter_heroquest

Time passed, technology got more advanced, and before you knew it, you could run all your C64 and Atari ST stuff on your PC, in a window on your desktop. Emulators, great stuff. But you know what? It didn’t look anywhere near as nice. The colors where the same, as was the resolution, and all the pixels were obviously in the right place, but you still found yourself thinking "I remember it looking much better".

retrofilter_droidman

Don’t think it is your mind playing tricks on you. In some ways, things DID look better back in the days. When hooked up to old worn-down TV’s with yesteryears technology, usually by means of a coaxial cable, the video output of the old home computers was severely degraded. Today, we wouldn’t find that image quality anywhere near acceptable, but back then it was the norm. And the weird thing is, in some ways it made the graphics look better than it really was.

retrofilter_zoom

Pixels would be a bit more glowing, and blurry, and bleed into each other, and have a subtle "ghost" effect to them, as some hues would bleed more than others. In addition, there would be slight gaps between pixels, causing what is commonly known as a "scanline" effect. All these things combined to give a sort of illusion of smoother color gradients and softer pixels.

retrofilter_exhuman

On a modern monitor, like when running under an emulator, you won’t get that, which is a real shame. Especially since the art for those old games was hand-pixelled to look good when blurred and bled, as they were created on old CRT screens.

retrofilter_midwinter

So, I’ve spent a little time trying to come up with an image filter for my game engine, which will take a pixel image, and make it look more like it would on an old TV screen, by emulating the artefacts we’ve come to know and love. I’ve got the concept worked out, and I’m in the process of converting it to a pixel shader, so that it can run fast enough for realtime use. That means that any game using my Pixie game engine will be able to just turn RetroFilter on or off as it please :-)

retrofilter_frooonk

The main reason I’m developing this is that I want it for the RetroBox project I’m working on (you can read more about this in previous blog entries), as I want to give it that proper oldschool feel to it.

10 Responses to “Blur and Bleed: Running Games on a TV”

  1. Verious says:

    The image filter looks great, it really brings back memories of playing games on TVs instead of monitors. Nice work.

  2. KNau says:

    Wow, I hadn’t even considered the visual difference between emulator and playing on an old TV but I knew something was amiss with the way my old games looked. Really interesting post!

  3. Uhfgood says:

    That looks pretty sweet. I’ve been wanting to do some retro looking games for xna.Xna has some shader coding stuff, although I have no idea how to make a shader, it would be cool if you would share this… (You might not, but then again it doesn’t hurt to ask)Keith aka UhfgoodUhfgood -at- verizon -dot- net

  4. Mattias says:

    Thanks :-)

    I’m all for sharing stuff 😀 I’ve been meaning to make a proper, cleaned-up release of the code, but until I do, there’s still ways to get hold of it…

    You could download this, which is a working implementation of the filter. There, you will find the actual shader file and a lookup-texture you will need. If you then download any version of the Pixie game engine, and search the files for RetroFilter, you’ll see all the rest of the code clearly marked but commented out.

  5. Coz says:

    Speaking of hand-pixelled art, I think your smoothing filter would be great for the retro lo-res PC adventure games emulated in ScummVM. (www.scummvm.org)

  6. Hey this is Keith aka Uhfgood, and I’m wondering if you would change the link that is connected with my name above (Uhfgood) from http://reviews.gamesafoot.com TO http://indieflux.com since I changed from Uhfgood’s Game Reviews to Indie Flux!Thanks

  7. David says:

    Looks excellent! Is this released yet?? I see some of these comments are pretty old.

  8. Albert says:

    Yes, its the CRT Monitor Graphics filter, built into the latest CCS64 emulator (v3.8)

  9. Mattias says:

    No, it’s not been released yet – mostly because I haven’t taken the time to wrap it up for release. I might do it sometime soon though.

    The CCS64 emulator might be doing something similar, but I doubt it is using this particular filter.

  10. Hi, Mattias, I just love your CRT filter!
    It completely takes me back to my old boy room playing my C64 (and later, the A500). It’s probably the best filter I’ve seen in this category.
    Is there any chance you might explain how it’s made because I would very much like to make a Photoshop action out of it? Or, perhaps, you’ve already made one yourself?
    It would be A great tool to use as I’m on a Mac and can therefore not use the executable you made.

    Thanks in advance!
    Håkan

Leave a Reply

You must be logged in to post a comment.